boris-behav-obs 9.7.10__py3-none-any.whl → 9.7.11__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.
@@ -119,12 +119,12 @@ class BehaviorsMapCreatorWindow(QMainWindow):
119
119
  self.saveMapAction.setShortcut("Ctrl+S")
120
120
  self.saveMapAction.setStatusTip("Save the behavior coding map")
121
121
  self.saveMapAction.setEnabled(False)
122
- self.saveMapAction.triggered.connect(self.saveMap_clicked)
122
+ self.saveMapAction.triggered.connect(self.save_map_clicked)
123
123
 
124
124
  self.saveAsMapAction = QAction(QIcon(), "Save the behavior coding map as ...", self)
125
125
  self.saveAsMapAction.setStatusTip("Save the behavior coding map as ...")
126
126
  self.saveAsMapAction.setEnabled(False)
127
- self.saveAsMapAction.triggered.connect(self.saveAsMap_clicked)
127
+ self.saveAsMapAction.triggered.connect(self.save_as_map_clicked)
128
128
 
129
129
  self.mapNameAction = QAction(QIcon(), "&Edit name of behaviors coding map", self)
130
130
  self.mapNameAction.setShortcut("Ctrl+M")
@@ -389,7 +389,7 @@ class BehaviorsMapCreatorWindow(QMainWindow):
389
389
  )
390
390
 
391
391
  if response == cfg.SAVE:
392
- if not self.saveMap_clicked():
392
+ if not self.save_map_clicked():
393
393
  event.ignore()
394
394
 
395
395
  if response == cfg.CANCEL:
@@ -615,7 +615,7 @@ class BehaviorsMapCreatorWindow(QMainWindow):
615
615
  )
616
616
 
617
617
  if response == cfg.SAVE:
618
- if not self.saveMap_clicked():
618
+ if not self.save_map_clicked():
619
619
  return
620
620
 
621
621
  if response == cfg.CANCEL:
@@ -659,7 +659,7 @@ class BehaviorsMapCreatorWindow(QMainWindow):
659
659
  ["Save", "Discard", "Cancel"],
660
660
  )
661
661
 
662
- if (response == "Save" and not self.saveMap_clicked()) or (response == "Cancel"):
662
+ if (response == "Save" and not self.save_map_clicked()) or (response == "Cancel"):
663
663
  return
664
664
 
665
665
  fileName, _ = QFileDialog(self).getOpenFileName(
@@ -783,7 +783,7 @@ class BehaviorsMapCreatorWindow(QMainWindow):
783
783
  else:
784
784
  return False
785
785
 
786
- def saveAsMap_clicked(self):
786
+ def save_as_map_clicked(self):
787
787
  filters = "Behaviors coding map (*.behav_coding_map);;All files (*)"
788
788
 
789
789
  self.fileName, _ = QFileDialog.getSaveFileName(self, "Save behaviors coding map as", "", filters)
@@ -794,7 +794,7 @@ class BehaviorsMapCreatorWindow(QMainWindow):
794
794
  self.fileName += ".behav_coding_map"
795
795
  self.saveMap()
796
796
 
797
- def saveMap_clicked(self):
797
+ def save_map_clicked(self):
798
798
  if not self.fileName:
799
799
  self.fileName, _ = QFileDialog().getSaveFileName(
800
800
  self,
boris/coding_pad.py CHANGED
@@ -38,7 +38,7 @@ class Button(QWidget):
38
38
 
39
39
 
40
40
  class CodingPad(QWidget):
41
- clickSignal = Signal(str)
41
+ click_signal = Signal(str)
42
42
  sendEventSignal = Signal(QEvent)
43
43
  close_signal = Signal(QRect, dict)
44
44
 
@@ -208,7 +208,8 @@ class CodingPad(QWidget):
208
208
  """
209
209
  Button clicked
210
210
  """
211
- self.clickSignal.emit(behavior_code)
211
+ print(f"{behavior_code=}")
212
+ self.click_signal.emit(behavior_code)
212
213
 
213
214
  def eventFilter(self, receiver, event) -> bool:
214
215
  """
@@ -261,7 +262,7 @@ def show_coding_pad(self):
261
262
  self.codingpad.setWindowFlags(Qt.WindowStaysOnTopHint)
262
263
  self.codingpad.sendEventSignal.connect(self.signal_from_widget)
263
264
 
264
- self.codingpad.clickSignal.connect(self.click_signal_from_coding_pad)
265
+ self.codingpad.click_signal.connect(self.click_signal_from_coding_pad)
265
266
  self.codingpad.close_signal.connect(self.close_signal_from_coding_pad)
266
267
  self.codingpad.show()
267
268
 
boris/core.py CHANGED
@@ -630,7 +630,8 @@ class MainWindow(QMainWindow, Ui_MainWindow):
630
630
  """
631
631
  handle click received from coding pad
632
632
  """
633
- q = QKeyEvent(QEvent.KeyPress, Qt.Key_Enter, Qt.NoModifier, text=behaviorCode)
633
+ q = QKeyEvent(QEvent.Type.KeyPress, Qt.Key.Key_Enter, Qt.KeyboardModifier.NoModifier, text=behaviorCode)
634
+
634
635
  self.keyPressEvent(q)
635
636
 
636
637
  def close_signal_from_coding_pad(self, geometry, preferences):
@@ -644,7 +645,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
644
645
  """
645
646
  handle click received from subjects pad
646
647
  """
647
- q = QKeyEvent(QEvent.KeyPress, Qt.Key_Enter, Qt.NoModifier, text="#subject#" + subject)
648
+ q = QKeyEvent(QEvent.Type.KeyPress, Qt.Key.Key_Enter, Qt.KeyboardModifier.NoModifier, text="#subject#" + subject)
648
649
  self.keyPressEvent(q)
649
650
 
650
651
  def signal_from_subjects_pad(self, event):
@@ -698,7 +699,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
698
699
  self.subjects_pad = subjects_pad.SubjectsPad(self.pj, filtered_subjects)
699
700
  self.subjects_pad.setWindowFlags(Qt.WindowStaysOnTopHint)
700
701
  self.subjects_pad.sendEventSignal.connect(self.signal_from_subjects_pad)
701
- self.subjects_pad.clickSignal.connect(self.click_signal_from_subjects_pad)
702
+ self.subjects_pad.click_signal.connect(self.click_signal_from_subjects_pad)
702
703
  self.subjects_pad.close_signal.connect(self.close_signal_from_subjects_pad)
703
704
  self.subjects_pad.show()
704
705
 
@@ -4845,7 +4846,8 @@ class MainWindow(QMainWindow, Ui_MainWindow):
4845
4846
 
4846
4847
  # play / pause with space bar
4847
4848
  if self.pj[cfg.OBSERVATIONS][self.observationId][cfg.TYPE] == cfg.LIVE:
4848
- if ek in (Qt.Key_Space, Qt.Key_Enter, Qt.Key_Return):
4849
+ # if ek in (Qt.Key_Space, Qt.Key_Enter, Qt.Key_Return):
4850
+ if ek == Qt.Key_Space:
4849
4851
  if self.liveObservationStarted:
4850
4852
  if (
4851
4853
  dialog.MessageDialog(cfg.programName, "Are you sure to stop the current live observation?", [cfg.YES, cfg.NO])
@@ -134,7 +134,7 @@ class ModifiersMapCreatorWindow(QMainWindow):
134
134
  self.saveMapAction.setShortcut("Ctrl+S")
135
135
  self.saveMapAction.setStatusTip("Save modifiers map")
136
136
  self.saveMapAction.setEnabled(False)
137
- self.saveMapAction.triggered.connect(self.saveMap_clicked)
137
+ self.saveMapAction.triggered.connect(self.save_map_clicked)
138
138
 
139
139
  self.saveAsMapAction = QAction(QIcon(), "Save modifiers map as", self)
140
140
  self.saveAsMapAction.setStatusTip("Save modifiers map as")
@@ -343,7 +343,7 @@ class ModifiersMapCreatorWindow(QMainWindow):
343
343
  )
344
344
 
345
345
  if response == cfg.SAVE:
346
- if not self.saveMap_clicked():
346
+ if not self.save_map_clicked():
347
347
  event.ignore()
348
348
 
349
349
  if response == cfg.CANCEL:
@@ -567,7 +567,7 @@ class ModifiersMapCreatorWindow(QMainWindow):
567
567
  )
568
568
 
569
569
  if response == "Save":
570
- if not self.saveMap_clicked():
570
+ if not self.save_map_clicked():
571
571
  return
572
572
 
573
573
  if response == "Cancel":
@@ -606,7 +606,7 @@ class ModifiersMapCreatorWindow(QMainWindow):
606
606
  )
607
607
 
608
608
  if response == cfg.SAVE:
609
- if not self.saveMap_clicked():
609
+ if not self.save_map_clicked():
610
610
  return
611
611
 
612
612
  if response == cfg.CANCEL:
@@ -733,7 +733,7 @@ class ModifiersMapCreatorWindow(QMainWindow):
733
733
  self.fileName += ".boris_map"
734
734
  self.saveMap()
735
735
 
736
- def saveMap_clicked(self):
736
+ def save_map_clicked(self):
737
737
  if not self.fileName:
738
738
  fn = QFileDialog(self).getSaveFileName(
739
739
  self,
@@ -746,7 +746,7 @@ class ModifiersMapCreatorWindow(QMainWindow):
746
746
  else:
747
747
  self.fileName = fn
748
748
 
749
- if self.fileName and Path(self.fileName).suffix() != ".boris_map":
749
+ if self.fileName and Path(self.fileName).suffix != ".boris_map":
750
750
  self.fileName += ".boris_map"
751
751
 
752
752
  if self.fileName:
@@ -422,7 +422,7 @@ def check_project_integrity(
422
422
  out: str = ""
423
423
 
424
424
  # check if coded behaviors are defined in ethogram
425
- r = check_coded_behaviors(pj)
425
+ r = check_coded_behaviors(pj)
426
426
  if r:
427
427
  out += f"The following behaviors are not defined in the ethogram: <b>{', '.join(r)}</b><br>"
428
428
  flag_all_behaviors_defined = False
boris/subjects_pad.py CHANGED
@@ -27,7 +27,7 @@ from . import utilities as util
27
27
 
28
28
 
29
29
  class SubjectsPad(QWidget):
30
- clickSignal = Signal(str)
30
+ click_signal = Signal(str)
31
31
  sendEventSignal = Signal(QEvent)
32
32
  close_signal = Signal(QRect)
33
33
 
@@ -77,7 +77,7 @@ class SubjectsPad(QWidget):
77
77
  widget.pushButton.clicked.connect(lambda: self.click(subject))
78
78
 
79
79
  def click(self, subject):
80
- self.clickSignal.emit(subject)
80
+ self.click_signal.emit(subject)
81
81
 
82
82
  def eventFilter(self, receiver, event):
83
83
  """
boris/version.py CHANGED
@@ -20,5 +20,5 @@ This file is part of BORIS.
20
20
 
21
21
  """
22
22
 
23
- __version__ = "9.7.10"
24
- __version_date__ = "2025-12-02"
23
+ __version__ = "9.7.11"
24
+ __version_date__ = "2025-12-03"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: boris-behav-obs
3
- Version: 9.7.10
3
+ Version: 9.7.11
4
4
  Summary: BORIS - Behavioral Observation Research Interactive Software
5
5
  Author-email: Olivier Friard <olivier.friard@unito.it>
6
6
  License-Expression: GPL-3.0-only
@@ -51,7 +51,7 @@ It provides also some analysis tools like time budget and some plotting function
51
51
  <!-- The BO-RIS paper has more than [![BORIS citations counter](https://penelope.unito.it/friard/boris_scopus_citations.png) citations](https://www.boris.unito.it/citations) in peer-reviewed scientific publications. -->
52
52
 
53
53
 
54
- The BORIS paper has more than 2471 citations in peer-reviewed scientific publications.
54
+ The BORIS paper has more than 2472 citations in peer-reviewed scientific publications.
55
55
 
56
56
 
57
57
 
@@ -4,19 +4,19 @@ boris/about.py,sha256=RrK4fUbMUpyMWPZVmFYG91pVx_orvaLPw-OBWI_NcOg,5401
4
4
  boris/add_modifier.py,sha256=l9LSa_9FAV9CnBgm26tJqhMAdnFoBQafZLyt9pTKmac,26240
5
5
  boris/add_modifier_ui.py,sha256=5PbyQKCrMhLXYkOqOvqis1E_oCYQI_994-uofIIIb0k,12366
6
6
  boris/advanced_event_filtering.py,sha256=VlvU12mL6xYacZOvJAi5uLpHMcmAw5Pvuvmka-PN29c,15469
7
- boris/behav_coding_map_creator.py,sha256=5XGY4AZOsGrOj0xHT-dIeiR5ejBhPShsnYNfIQFEYsU,38788
7
+ boris/behav_coding_map_creator.py,sha256=rU8uh-St2gSBsx194KwvFddkrOPBN-lUio36NcFOsoI,38797
8
8
  boris/behavior_binary_table.py,sha256=bpmRDpEjq0rw3YOCoN_He3kfUe8A_R6E48kQR7KnkH8,12453
9
9
  boris/behaviors_coding_map.py,sha256=xIGJxp2eghrpiGDmYH73eJPERuyc4A_54uT-Got3zTs,7302
10
10
  boris/boris_cli.py,sha256=Bc51DEMcD79ZZfM9pCzpaWU6iT6b8gNwR3n8fr42_4E,13193
11
11
  boris/cmd_arguments.py,sha256=85zDEIW6UiXRb0TQWDxR664pQQtG5J-7Ipv91y3JixQ,2065
12
- boris/coding_pad.py,sha256=BaDWYIzoRgl0LHymPDmcBMFfwG7Z0XROqqMwkkADtz0,10940
12
+ boris/coding_pad.py,sha256=DjUkuTfqzajll3KoOguGWV4WClOs9IDYYa6wUiGOiCU,10978
13
13
  boris/config.py,sha256=bnLFkmarRH4FKX1n0oE79OGz6QqyXvVMHt73rzMHuzE,18058
14
14
  boris/config_file.py,sha256=4jBGMaVzjoVKSeOBEHXVjbsyubN08ghQTsrm4s7Kqsw,13551
15
15
  boris/connections.py,sha256=KsC17LnS4tRM6O3Nu3mD1H9kQ7uYhhad9229jXfGF94,19774
16
16
  boris/converters.py,sha256=n6gDM9x2hS-ZOoHLruiifuXxnC7ERsUukiFokhHZPoQ,11678
17
17
  boris/converters_ui.py,sha256=uu7LOBV_fKv2DBdOqsqPwjGsjgONr5ODBoscAA-EP48,9900
18
18
  boris/cooccurence.py,sha256=tVERC-V8MWjWHlGEfDuu08iS94qjt4do-38jwI62QaY,10367
19
- boris/core.py,sha256=PfpWAsA7vWVPSYkCcZ79xsPgwOc-dP4V-yCD9XgybtQ,234375
19
+ boris/core.py,sha256=_geyskTtBAb8IkGt_xq9k0GJVpJ5drhd1KCRBOGk4jQ,234466
20
20
  boris/core_qrc.py,sha256=Hz51Xw70ZIlDbYB281nfGtCm43_ItYhamMu2T5X8Tu8,639882
21
21
  boris/core_ui.py,sha256=uDAI9mbadBe2mSsgugzNfRHxASc6Mu5kUf5tB9CZCjY,77445
22
22
  boris/db_functions.py,sha256=TfCJ0Hq0pTFOKrZz3RzdvnR-NKCmrPHU2qL9BSXeeGQ,13379
@@ -42,7 +42,7 @@ boris/latency.py,sha256=48z9L_A582-wKCfD0M3h0uyYkeL2ezjlQAS_GzeoOe0,9739
42
42
  boris/measurement_widget.py,sha256=lZV62KtK6TjdoNbKxj3uyNAuL5dfnQnn7mYwzMo-dOM,4480
43
43
  boris/media_file.py,sha256=Wnw-PCyAz6CA00zhjrx0UTgXZ0wmHuNlnElV_TzJ_2M,4818
44
44
  boris/menu_options.py,sha256=uznHFMtpGRWL6Eig10gJ5tOiypgOr9XVyxRiuCbgN9U,7146
45
- boris/modifier_coding_map_creator.py,sha256=3Ihh75TCNI0KkQKHuosYibAhGbdgjdlRZGmna_KuAjo,33240
45
+ boris/modifier_coding_map_creator.py,sha256=RGlo140HQLlh4we_G7RyXYRXJOTUskPF1Bin1dnE6_c,33243
46
46
  boris/modifiers_coding_map.py,sha256=oT56ZY_PXhEJsMoblEsyNMAPbDpv7ZMOCnvmt7Ibx_Y,4554
47
47
  boris/mpv.py,sha256=EfzIHjPbgewG4w3smEtqEUPZoVwYmMQkL4Q8ZyW-a58,76410
48
48
  boris/mpv2.py,sha256=IUI4t4r9GYX7G5OXTjd3RhMMOkDdfal_15buBgksLsk,92152
@@ -63,7 +63,7 @@ boris/plugins.py,sha256=AzjKLPsqBk-K8wPM3HXe4w-sNaDU1bQm2XEoLr4Zx0k,17234
63
63
  boris/preferences.py,sha256=YcGBaXRfimH4jpFLfcUAgCAGESXSLhB6cli_cg4cDl0,21902
64
64
  boris/preferences_ui.py,sha256=sRmsI04uRtY4xthioZVMYEv2b8WTeYfXXOk_iSNDVXU,35187
65
65
  boris/project.py,sha256=4dE4nqo8at1lz9KykprF5Rr62R78yu4vBrTfde1gQ-g,86438
66
- boris/project_functions.py,sha256=3DQkUXrbcimhk8B9ilJE1Jlx0j0sqqmjrOb2wPN-QmA,83562
66
+ boris/project_functions.py,sha256=5AWfCMc3zELqMdyeFXU-HZxMVp1Dm4DV-vVPCMsHqfE,83561
67
67
  boris/project_import_export.py,sha256=oBG1CSXfKISsb3TLNT-8BH8kZPAzxIYSNemlLVH1Lh8,38560
68
68
  boris/project_ui.py,sha256=yB-ewhHt8S8DTTRIk-dNK2tPMNU24lNji9fDW_Xazu8,38805
69
69
  boris/qrc_boris.py,sha256=aH-qUirYY1CGxmTK1SFCPvuZfazIHX4DdUKF1gxZeYM,675008
@@ -72,13 +72,13 @@ boris/select_modifiers.py,sha256=42uG9F75pfPoPJ-blp-vFgmpBpVJtL42FlIxpNpq9z4,133
72
72
  boris/select_observations.py,sha256=k7c3FNVQW74YGH9oFmtHXRVCRnpKGhjCVk3cQtyLML8,8027
73
73
  boris/select_subj_behav.py,sha256=ulXbsRY-AIyQRSwXhVlvkNRS_eqWaCvkDKTTyOLqvoE,11742
74
74
  boris/state_events.py,sha256=iUrC5ypwIKOnmoq0moDQwtH9-DrgiJ81zL2pMxESucU,7790
75
- boris/subjects_pad.py,sha256=lSRRGfLfD10_YpGua8RGVdKhoXlsXawGhNibPkRhuzM,3541
75
+ boris/subjects_pad.py,sha256=OWEkI-ViiIm3KfBmaEodOGTI2Cgtd0pfXghp4_d6p3k,3543
76
76
  boris/synthetic_time_budget.py,sha256=3Eb9onMLmgqCLd50CuxV9L8RV2ESzfaMWvPK_bXUMMk,10489
77
77
  boris/time_budget_functions.py,sha256=SbGyTF2xySEqBdRJZeWFTirruvK3r6pwM6e4Gz17W1s,52186
78
78
  boris/time_budget_widget.py,sha256=z-tyITBtIz-KH1H2OdMB5a8x9QQLK7Wu96-zkC6NVDA,43213
79
79
  boris/transitions.py,sha256=okyDCO-Vn4p_Fixd8cGiSIaUhUxG5ePIOqGSuP52g_c,12246
80
80
  boris/utilities.py,sha256=Ae3YjXkulJYQxbE4Fpvle4tX2nA_qJQhAn980sTFHqw,58805
81
- boris/version.py,sha256=lvLRphanIkU2tgzlKpsYinIhtkSRVmoiRzN5jF8nfNY,788
81
+ boris/version.py,sha256=hplV8Tr6WlMxFnAWjlITqscRUeTlINVsg2wNN75rK9M,788
82
82
  boris/video_equalizer.py,sha256=cm2JXe1eAPkqDzxYB2OMKyuveMBdq4a9-gD1bBorbn4,5823
83
83
  boris/video_equalizer_ui.py,sha256=1CG3s79eM4JAbaCx3i1ILZXLceb41_gGXlOLNfpBgnw,10142
84
84
  boris/video_operations.py,sha256=YlwcX3rgVsv6h78ylQYS9ITZs5MsXT8h0XsyaBU5mN8,11015
@@ -102,9 +102,9 @@ boris/portion/dict.py,sha256=uNM-LEY52CZ2VNMMW_C9QukoyTvPlQf8vcbGa1lQBHI,11281
102
102
  boris/portion/func.py,sha256=mSQr20YS1ug7R1fRqBg8LifjtXDRvJ6Kjc3WOeL9P34,2172
103
103
  boris/portion/interval.py,sha256=sOlj3MAGGaB-JxCkigS-n3qw0fY7TANAsXv1pavr8J4,19931
104
104
  boris/portion/io.py,sha256=kpq44pw3xnIyAlPwaR5qRHKRdZ72f8HS9YVIWs5k2pk,6367
105
- boris_behav_obs-9.7.10.dist-info/licenses/LICENSE.TXT,sha256=WJ7YI-moTFb-uVrFjnzzhGJrnL9P2iqQe8NuED3hutI,35141
106
- boris_behav_obs-9.7.10.dist-info/METADATA,sha256=zxW1KmDfKtyIbPDGNMQL95SUjj2sSM6TEmfTEHEVbTA,5204
107
- boris_behav_obs-9.7.10.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
108
- boris_behav_obs-9.7.10.dist-info/entry_points.txt,sha256=k__8XvFi4vaA4QFvQehCZjYkKmZH34HSAJI2iYCWrMs,52
109
- boris_behav_obs-9.7.10.dist-info/top_level.txt,sha256=fJSgm62S7WesiwTorGbOO4nNN0yzgZ3klgfGi3Px4qI,6
110
- boris_behav_obs-9.7.10.dist-info/RECORD,,
105
+ boris_behav_obs-9.7.11.dist-info/licenses/LICENSE.TXT,sha256=WJ7YI-moTFb-uVrFjnzzhGJrnL9P2iqQe8NuED3hutI,35141
106
+ boris_behav_obs-9.7.11.dist-info/METADATA,sha256=sDATFPPVywpMoM8JuPsHwrOZUDlfmrOOikK-JSDaUvc,5204
107
+ boris_behav_obs-9.7.11.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
108
+ boris_behav_obs-9.7.11.dist-info/entry_points.txt,sha256=k__8XvFi4vaA4QFvQehCZjYkKmZH34HSAJI2iYCWrMs,52
109
+ boris_behav_obs-9.7.11.dist-info/top_level.txt,sha256=fJSgm62S7WesiwTorGbOO4nNN0yzgZ3klgfGi3Px4qI,6
110
+ boris_behav_obs-9.7.11.dist-info/RECORD,,