boris-behav-obs 9.7.12__py3-none-any.whl → 9.8.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. boris/__init__.py +1 -1
  2. boris/__main__.py +1 -1
  3. boris/about.py +4 -3
  4. boris/add_modifier.py +1 -1
  5. boris/advanced_event_filtering.py +1 -1
  6. boris/analysis_plugins/export_to_feral.py +336 -0
  7. boris/analysis_plugins/irr_weighted_cohen_kappa.py +2 -2
  8. boris/behav_coding_map_creator.py +1 -1
  9. boris/behavior_binary_table.py +1 -1
  10. boris/behaviors_coding_map.py +1 -1
  11. boris/boris_cli.py +1 -1
  12. boris/cmd_arguments.py +1 -1
  13. boris/coding_pad.py +1 -1
  14. boris/config.py +15 -3
  15. boris/config_file.py +18 -19
  16. boris/connections.py +12 -13
  17. boris/converters.py +1 -1
  18. boris/converters_ui.py +2 -3
  19. boris/cooccurence.py +1 -1
  20. boris/core.py +168 -166
  21. boris/core_qrc.py +1830 -1967
  22. boris/core_ui.py +1 -1
  23. boris/db_functions.py +5 -14
  24. boris/dialog.py +24 -24
  25. boris/edit_event.py +1 -1
  26. boris/event_operations.py +1 -1
  27. boris/events_cursor.py +1 -1
  28. boris/events_snapshots.py +133 -78
  29. boris/exclusion_matrix.py +1 -1
  30. boris/export_events.py +49 -43
  31. boris/export_observation.py +1 -1
  32. boris/external_processes.py +1 -1
  33. boris/geometric_measurement.py +1 -1
  34. boris/gui_utilities.py +1 -1
  35. boris/image_overlay.py +1 -1
  36. boris/import_observations.py +1 -1
  37. boris/ipc_mpv.py +1 -1
  38. boris/irr.py +1 -1
  39. boris/latency.py +1 -1
  40. boris/measurement_widget.py +1 -1
  41. boris/media_file.py +1 -1
  42. boris/menu_options.py +14 -12
  43. boris/modifier_coding_map_creator.py +1 -1
  44. boris/modifiers_coding_map.py +1 -1
  45. boris/observation.py +13 -14
  46. boris/observation_operations.py +1 -1
  47. boris/observations_list.py +1 -1
  48. boris/otx_parser.py +1 -1
  49. boris/param_panel.py +1 -1
  50. boris/player_dock_widget.py +1 -1
  51. boris/plot_data_module.py +1 -1
  52. boris/plot_events.py +1 -1
  53. boris/plot_events_rt.py +1 -1
  54. boris/plot_spectrogram_rt.py +42 -73
  55. boris/plot_waveform_rt.py +1 -1
  56. boris/plugins.py +1 -1
  57. boris/preferences.py +35 -4
  58. boris/preferences_ui.py +48 -18
  59. boris/project.py +1 -1
  60. boris/project_functions.py +19 -22
  61. boris/project_import_export.py +1 -1
  62. boris/select_modifiers.py +1 -1
  63. boris/select_observations.py +22 -23
  64. boris/select_subj_behav.py +4 -4
  65. boris/state_events.py +1 -1
  66. boris/subjects_pad.py +1 -1
  67. boris/synthetic_time_budget.py +1 -1
  68. boris/time_budget_functions.py +1 -1
  69. boris/time_budget_widget.py +1 -1
  70. boris/transitions.py +1 -1
  71. boris/utilities.py +1 -1
  72. boris/version.py +3 -3
  73. boris/video_equalizer.py +1 -1
  74. boris/video_operations.py +1 -1
  75. boris/view_df.py +28 -4
  76. boris/write_event.py +1 -1
  77. {boris_behav_obs-9.7.12.dist-info → boris_behav_obs-9.8.2.dist-info}/METADATA +2 -2
  78. boris_behav_obs-9.8.2.dist-info/RECORD +110 -0
  79. {boris_behav_obs-9.7.12.dist-info → boris_behav_obs-9.8.2.dist-info}/WHEEL +1 -1
  80. boris/analysis_plugins/_export_to_feral.py +0 -225
  81. boris_behav_obs-9.7.12.dist-info/RECORD +0 -110
  82. {boris_behav_obs-9.7.12.dist-info → boris_behav_obs-9.8.2.dist-info}/entry_points.txt +0 -0
  83. {boris_behav_obs-9.7.12.dist-info → boris_behav_obs-9.8.2.dist-info}/licenses/LICENSE.TXT +0 -0
  84. {boris_behav_obs-9.7.12.dist-info → boris_behav_obs-9.8.2.dist-info}/top_level.txt +0 -0
boris/connections.py CHANGED
@@ -1,7 +1,7 @@
1
1
  """
2
2
  BORIS
3
3
  Behavioral Observation Research Interactive Software
4
- Copyright 2012-2025 Olivier Friard
4
+ Copyright 2012-2026 Olivier Friard
5
5
 
6
6
  This program is free software; you can redistribute it and/or modify
7
7
  it under the terms of the GNU General Public License as published by
@@ -22,35 +22,34 @@ Copyright 2012-2025 Olivier Friard
22
22
  from PySide6.QtCore import Qt, QTimer
23
23
  from PySide6.QtGui import QAction
24
24
 
25
- from . import config as cfg
26
25
  from . import (
27
26
  about,
28
27
  behav_coding_map_creator,
29
28
  behavior_binary_table,
30
29
  behaviors_coding_map,
31
30
  coding_pad,
31
+ cooccurence,
32
32
  event_operations,
33
33
  events_snapshots,
34
34
  export_events,
35
+ external_processes,
35
36
  geometric_measurement,
36
37
  image_overlay,
37
38
  import_observations,
38
39
  irr,
39
40
  latency,
40
- cooccurence,
41
41
  media_file,
42
42
  observation_operations,
43
43
  preferences,
44
+ project_functions,
44
45
  project_import_export,
45
46
  synthetic_time_budget,
46
47
  time_budget_widget,
47
48
  transitions,
48
49
  video_equalizer,
49
50
  video_operations,
50
- project_functions,
51
- external_processes,
52
51
  )
53
-
52
+ from . import config as cfg
54
53
  from . import state_events as state_events
55
54
 
56
55
 
@@ -151,8 +150,8 @@ def connections(self):
151
150
  self.actionExport_events_as_Praat_TextGrid.triggered.connect(lambda: export_events.export_events_as_textgrid(self))
152
151
  self.actionJWatcher.triggered.connect(lambda: export_events.export_tabular_events(self, "jwatcher"))
153
152
 
154
- self.actionExtract_events_from_media_files.triggered.connect(lambda: events_snapshots.extract_events(self))
155
- self.actionExtract_frames_from_media_files.triggered.connect(lambda: events_snapshots.events_snapshots(self))
153
+ self.actionExtract_events_from_media_files.triggered.connect(lambda: events_snapshots.extract_media_clips(self))
154
+ self.actionExtract_frames_from_media_files.triggered.connect(lambda: events_snapshots.extract_media_snapshots(self))
156
155
 
157
156
  self.actionCohen_s_kappa.triggered.connect(lambda: irr.irr_cohen_kappa(self))
158
157
  self.actionNeedleman_Wunsch.triggered.connect(lambda: irr.needleman_wunch(self))
@@ -268,7 +267,7 @@ def connections(self):
268
267
  self.tv_events.doubleClicked.connect(self.tv_events_doubleClicked)
269
268
 
270
269
  # Actions for twEthogram context menu
271
- self.twEthogram.setContextMenuPolicy(Qt.ActionsContextMenu)
270
+ self.twEthogram.setContextMenuPolicy(Qt.ContextMenuPolicy.ActionsContextMenu)
272
271
  self.twEthogram.horizontalHeader().sortIndicatorChanged.connect(self.twEthogram_sorted)
273
272
 
274
273
  self.actionViewBehavior.triggered.connect(self.view_behavior)
@@ -283,7 +282,7 @@ def connections(self):
283
282
  self.twEthogram.addAction(self.actionShowAllBehaviors)
284
283
 
285
284
  # Actions for twSubjects context menu
286
- self.twSubjects.setContextMenuPolicy(Qt.ActionsContextMenu)
285
+ self.twSubjects.setContextMenuPolicy(Qt.ContextMenuPolicy.ActionsContextMenu)
287
286
  self.twSubjects.horizontalHeader().sortIndicatorChanged.connect(self.sort_twSubjects)
288
287
  self.actionFilterSubjects.triggered.connect(self.filter_subjects)
289
288
  self.twSubjects.addAction(self.actionFilterSubjects)
@@ -297,7 +296,7 @@ def connections(self):
297
296
  # tw_headers.addAction(self.actionConfigure_twEvents_columns)
298
297
 
299
298
  tv_headers = self.tv_events.horizontalHeader()
300
- tv_headers.setContextMenuPolicy(Qt.ActionsContextMenu)
299
+ tv_headers.setContextMenuPolicy(Qt.ContextMenuPolicy.ActionsContextMenu)
301
300
  tv_headers.addAction(self.actionConfigure_tvevents_columns)
302
301
 
303
302
  # Actions for twEvents menu
@@ -340,7 +339,7 @@ def connections(self):
340
339
  # self.twEvents.addAction(self.actionDelete_selected_events)
341
340
 
342
341
  # Actions for tv_events menu
343
- self.tv_events.setContextMenuPolicy(Qt.ActionsContextMenu)
342
+ self.tv_events.setContextMenuPolicy(Qt.ContextMenuPolicy.ActionsContextMenu)
344
343
 
345
344
  self.tv_events.addAction(self.actionAdd_event)
346
345
  self.tv_events.addAction(self.actionEdit_selected_events)
@@ -385,7 +384,7 @@ def connections(self):
385
384
  # Actions for twSubjects context menu
386
385
  self.actionDeselectCurrentSubject.triggered.connect(lambda: self.update_subject(""))
387
386
 
388
- self.twSubjects.setContextMenuPolicy(Qt.ActionsContextMenu)
387
+ self.twSubjects.setContextMenuPolicy(Qt.ContextMenuPolicy.ActionsContextMenu)
389
388
  self.twSubjects.addAction(self.actionDeselectCurrentSubject)
390
389
 
391
390
  # subjects
boris/converters.py CHANGED
@@ -1,7 +1,7 @@
1
1
  """
2
2
  BORIS
3
3
  Behavioral Observation Research Interactive Software
4
- Copyright 2012-2025 Olivier Friard
4
+ Copyright 2012-2026 Olivier Friard
5
5
 
6
6
  This file is part of BORIS.
7
7
 
boris/converters_ui.py CHANGED
@@ -42,8 +42,8 @@ class Ui_converters(object):
42
42
  __qtablewidgetitem2 = QTableWidgetItem()
43
43
  self.tw_converters.setHorizontalHeaderItem(2, __qtablewidgetitem2)
44
44
  self.tw_converters.setObjectName(u"tw_converters")
45
- self.tw_converters.setEditTriggers(QAbstractItemView.NoEditTriggers)
46
- self.tw_converters.setSelectionMode(QAbstractItemView.SingleSelection)
45
+ self.tw_converters.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers)
46
+ self.tw_converters.setSelectionMode(QAbstractItemView.SelectionMode.SingleSelection)
47
47
  self.tw_converters.setSelectionBehavior(QAbstractItemView.SelectRows)
48
48
  self.tw_converters.setSortingEnabled(True)
49
49
 
@@ -222,4 +222,3 @@ class Ui_converters(object):
222
222
  self.pb_cancel_widget.setText(QCoreApplication.translate("converters", u"Cancel", None))
223
223
  self.pbOK.setText(QCoreApplication.translate("converters", u"OK", None))
224
224
  # retranslateUi
225
-
boris/cooccurence.py CHANGED
@@ -1,7 +1,7 @@
1
1
  """
2
2
  BORIS
3
3
  Behavioral Observation Research Interactive Software
4
- Copyright 2012-2025 Olivier Friard
4
+ Copyright 2012-2026 Olivier Friard
5
5
 
6
6
  This program is free software; you can redistribute it and/or modify
7
7
  it under the terms of the GNU General Public License as published by