boris-behav-obs 9.7.1__py3-none-any.whl → 9.7.15__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.
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/utilities.py CHANGED
@@ -126,6 +126,15 @@ if (sys.platform.startswith("win") or sys.platform.startswith("linux")) and ("-i
126
126
  sys.exit(5)
127
127
 
128
128
 
129
+ def is_subdir(a: Path, b: Path) -> bool:
130
+ """
131
+ Return True if directory A is inside directory B.
132
+ """
133
+ a = a.resolve()
134
+ b = b.resolve()
135
+ return a.is_relative_to(b)
136
+
137
+
129
138
  def test_mpv_ipc(socket_path: str = cfg.MPV_SOCKET) -> bool:
130
139
  """
131
140
  test if socket available
@@ -471,20 +480,37 @@ def txt2np_array(
471
480
  conv_name = column_converter[column_idx]
472
481
 
473
482
  function = f"""def {conv_name}(INPUT):\n"""
474
- function += """ INPUT = INPUT.decode("utf-8") if isinstance(INPUT, bytes) else INPUT"""
483
+ function += """ INPUT = INPUT.decode("utf-8") if isinstance(INPUT, bytes) else INPUT\n\n"""
475
484
  for line in converters[conv_name]["code"].split("\n"):
476
485
  function += f" {line}\n"
477
486
  function += """ return OUTPUT"""
478
487
 
488
+ print("=============")
489
+ print(function)
490
+ print("=============")
491
+
492
+ import types
493
+
494
+ mod = types.ModuleType("converter_module")
495
+ exec(function, mod.__dict__)
496
+
497
+ """
479
498
  try:
480
499
  exec(function)
481
500
  except Exception:
482
501
  return False, f"error in converter: {sys.exc_info()[1]}", np.array([])
483
502
 
484
- np_converters[column_idx - 1] = locals()[conv_name]
503
+ print(f"{converters=}")
504
+ print(f"{column_converter=}")
505
+ print(locals())
506
+ print(f"{conv_name=}")
507
+ """
508
+
509
+ # np_converters[column_idx - 1] = locals()['conv_name']
510
+ np_converters[column_idx - 1] = getattr(mod, conv_name)
485
511
 
486
512
  else:
487
- return False, f"converter {cfg.converters_param[column_idx]} not found", np.array([])
513
+ return False, f"converter {column_converter[column_idx]} not found", np.array([])
488
514
 
489
515
  # snif txt file
490
516
  try:
@@ -1189,7 +1215,7 @@ def time2seconds(time_: str) -> dec:
1189
1215
  return dec("0.000")
1190
1216
 
1191
1217
 
1192
- def seconds2time(sec: dec) -> str:
1218
+ def seconds2time(sec: dec | None) -> str:
1193
1219
  """
1194
1220
  convert seconds to hh:mm:ss.sss format
1195
1221
 
@@ -1198,6 +1224,8 @@ def seconds2time(sec: dec) -> str:
1198
1224
  Returns:
1199
1225
  str: time in format hh:mm:ss
1200
1226
  """
1227
+ if sec is None:
1228
+ return cfg.NA
1201
1229
 
1202
1230
  if math.isnan(sec):
1203
1231
  return cfg.NA
boris/version.py CHANGED
@@ -20,5 +20,5 @@ This file is part of BORIS.
20
20
 
21
21
  """
22
22
 
23
- __version__ = "9.7.1"
24
- __version_date__ = "2025-10-22"
23
+ __version__ = "9.7.15"
24
+ __version_date__ = "2025-12-19"
boris/video_operations.py CHANGED
@@ -231,7 +231,15 @@ def display_zoom_level(self) -> None:
231
231
  """
232
232
  msg: str = "Zoom level: <b>"
233
233
  for player in self.dw_player:
234
- msg += f"{2**player.player.video_zoom:.1f} "
234
+ vz = player.player.video_zoom
235
+ if vz is None:
236
+ self.lb_zoom_level.setText("-")
237
+ return
238
+ player_video_zoom = player.player.video_zoom
239
+ if player_video_zoom is not None:
240
+ msg += f"{2**player_video_zoom:.1f} "
241
+ else:
242
+ msg += "NA "
235
243
  msg += "</b>"
236
244
  self.lb_zoom_level.setText(msg)
237
245
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: boris-behav-obs
3
- Version: 9.7.1
3
+ Version: 9.7.15
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
@@ -44,15 +44,14 @@ BORIS (Behavioral Observation Research Interactive Software)
44
44
 
45
45
  BORIS is an easy-to-use event logging software for video/audio coding or live observations.
46
46
 
47
- BORIS is a free and open-source software available for GNU/Linux and Windows.
48
- You can not longer run BORIS natively on MacOS (since v.8). Some alternatives to run the last version of BORIS are available, see [BORIS on MacOS](https://www.boris.unito.it/download_mac).
47
+ BORIS is a free and open-source software available for GNU/Linux, Windows and macOS.
49
48
 
50
49
  It provides also some analysis tools like time budget and some plotting functions.
51
50
 
52
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. -->
53
52
 
54
53
 
55
- The BORIS paper has more than 2407 citations in peer-reviewed scientific publications.
54
+ The BORIS paper has more than 2475 citations in peer-reviewed scientific publications.
56
55
 
57
56
 
58
57
 
@@ -1,22 +1,22 @@
1
1
  boris/__init__.py,sha256=iAtmVMy22TJpMmxVTMSK_6-wXnCbx1ogvWgfYEcbHzU,773
2
2
  boris/__main__.py,sha256=ANjTbXgXDoz2nB1tCtOIllfIVotCa602iebACX7rXaE,764
3
- boris/about.py,sha256=VPa8zeu0bMb1LRXDq8uUSG_7mSbkb2HTk1AtWbzWQwE,5366
3
+ boris/about.py,sha256=RrK4fUbMUpyMWPZVmFYG91pVx_orvaLPw-OBWI_NcOg,5401
4
4
  boris/add_modifier.py,sha256=l9LSa_9FAV9CnBgm26tJqhMAdnFoBQafZLyt9pTKmac,26240
5
- boris/add_modifier_ui.py,sha256=Y7TLO5uS6zW7zpjXmjA4V_VIp_bFDNtjOTbJ9Q6m-mQ,11601
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
13
- boris/config.py,sha256=QOPwbfxs6g0yvYtS5pQCzaap_YG-_xXQH2E-F3ZXO4M,17848
14
- boris/config_file.py,sha256=5_AB_VE5j3iHkanL5xELN42HJJMLOh40qSgBFs7fCXo,13493
12
+ boris/coding_pad.py,sha256=DjUkuTfqzajll3KoOguGWV4WClOs9IDYYa6wUiGOiCU,10978
13
+ boris/config.py,sha256=eg5IucJWUtyf0r6ug2o-JVBBk6lyZA6lHrMLfTSWRjg,18156
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
- boris/converters_ui.py,sha256=uu7LOBV_fKv2DBdOqsqPwjGsjgONr5ODBoscAA-EP48,9900
17
+ boris/converters_ui.py,sha256=Azd7DGDFVcpYD5zheHcYPIFTggUV2exNfw6LN0AXN4A,9925
18
18
  boris/cooccurence.py,sha256=tVERC-V8MWjWHlGEfDuu08iS94qjt4do-38jwI62QaY,10367
19
- boris/core.py,sha256=jvWMOPszPONYn2bMp2sV0nGpszbKPVZ1NYQ5PsU3msw,232311
19
+ boris/core.py,sha256=j4uuor1aEmI7jJ10u52bMeCvL05kkg4vxDHIWa9ayJY,234870
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
@@ -36,34 +36,34 @@ boris/geometric_measurement.py,sha256=4pI-AYpBSFlJBqS-f8dnkgLtj_Z2E5kwwAdh6WwZ4k
36
36
  boris/gui_utilities.py,sha256=Kv75XgFmicPUKvdRPj_yBYoDNc912cfl1IQrgw5T2kI,5458
37
37
  boris/image_overlay.py,sha256=zZAL8MTt2i2s58CuX81Nym3rJ5pKiTeP4AO8WbIUonM,2527
38
38
  boris/import_observations.py,sha256=zKrkpk1ADxTj2BECactPPOhU6wtrh3TjtOWue2HCT5w,9074
39
- boris/ipc_mpv.py,sha256=12x1Nthp4nsYsS39fbZK9B0Jl4hCrlS2wszg680wduQ,9222
39
+ boris/ipc_mpv.py,sha256=bnc-xjp9CbyqO4uEcAxMgxyJdG3-6SJUd_gNI_sILns,9925
40
40
  boris/irr.py,sha256=n6Y_Y9iEKOf9_7EE_lDRNei7tq2wkFKk_JVflm9UQdk,22335
41
41
  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
49
- boris/observation.py,sha256=10UkVyY8TDySntIX_-H-IsuFdiF6tEcmC6JQUzD6wYg,57139
50
- boris/observation_operations.py,sha256=mOx3dU8x6LQF4TBVhyyWBo4yyonpvPMyaLoHLdlmrrc,105716
49
+ boris/observation.py,sha256=K-Xi99BMLSohx6pPLKk-Eqi56fLWDFLScHxXKkoFAlg,57507
50
+ boris/observation_operations.py,sha256=HPPat_-6c_Fu0cFs0wQD86AIE7g7eKHutOGi_xexMAM,106581
51
51
  boris/observation_ui.py,sha256=DAnU94QBNvkLuHT6AxTwqSk_D_n6VUhSl8PexZv_dUk,33309
52
52
  boris/observations_list.py,sha256=NqwECGHtHYmKhSe-qCfqPmJ24SSfzlXvIXS2i3op_zE,10591
53
53
  boris/otx_parser.py,sha256=70QvilzFHXbjAHR88YH0aEXJ3xxheLS5fZGgHFHGpNE,16367
54
54
  boris/param_panel.py,sha256=C7MzWg-OVjjxKbXPFC0ykOLpxbwsqEmG0jWgzBUwOEA,8695
55
55
  boris/param_panel_ui.py,sha256=4emQDFmuL4_R7bKxosLjdUb-VSPWkDm7suy38F5EKcA,13260
56
56
  boris/player_dock_widget.py,sha256=rdP0w6Wac7R3UMqJeHl7GNvT1hElu_x_VgNkg4Ut-6s,5880
57
- boris/plot_data_module.py,sha256=6QbLKfyGp4TYRyHnB9G45y5XrpeXLytcorltEAWfYak,16562
57
+ boris/plot_data_module.py,sha256=Xq70HDlAtvganwNmbRDUA3iKV-415zS9W1H1x0itXWE,16594
58
58
  boris/plot_events.py,sha256=tKiUWH0TNSkK7xz5Vf0tAD3KiuAalv6UZEVtOnoFpWY,24059
59
59
  boris/plot_events_rt.py,sha256=xJmjwqhQxCN4FDBYRQ0O2eHm356Rbexzr3m1qTefMDU,8326
60
- boris/plot_spectrogram_rt.py,sha256=wDhnkqwjd2UfCxrfOejOUxoNOqfMNo6vo1JSvYgM-2A,10925
61
- boris/plot_waveform_rt.py,sha256=RNXhcBzRKnoGoVjRAHsVvOaj0BJbbI2cpCMjMUiGqX0,7534
62
- boris/plugins.py,sha256=sn2r8kMxkzaO8kNhem-cTlTBrym9MlFPyRT9Av9rHGg,15603
63
- boris/preferences.py,sha256=-WwBlkP3uhSyO3tUhcrctHMzlv46ngW9C4KAq7UJAoI,21563
64
- boris/preferences_ui.py,sha256=wbo51aBNdcQTJni1DmUM5ZQPOwAtKSkEQam7rRzRS5g,34166
65
- boris/project.py,sha256=nyXfCDY_rLP3jC1QGv-280jUKgbABqESjOm7I19rJ1U,86432
66
- boris/project_functions.py,sha256=gSG6Pa0BF0wv5AtfvRU8KqOqzgUwbMTmIsYqQ11QwmY,82605
60
+ boris/plot_spectrogram_rt.py,sha256=umNoJ8_tJmWjbkQtiZSaumW3a5AWFoKhDstsX-rovVA,9613
61
+ boris/plot_waveform_rt.py,sha256=JM4TtN7IFZqLRY4k4rJ-U0DMvGdQ2FFlwH2xVOyrx68,7595
62
+ boris/plugins.py,sha256=AzjKLPsqBk-K8wPM3HXe4w-sNaDU1bQm2XEoLr4Zx0k,17234
63
+ boris/preferences.py,sha256=U2Q3IsWYh6LmUFmkKfe4oUapWlGZYjawrJuQcJlIGYU,23451
64
+ boris/preferences_ui.py,sha256=gy0Ilxzlexdz9A6CSNto9uYdUrzNzNZ8RK-534cnfBA,36620
65
+ boris/project.py,sha256=4dE4nqo8at1lz9KykprF5Rr62R78yu4vBrTfde1gQ-g,86438
66
+ boris/project_functions.py,sha256=BIP-IkGjOB3qGmxcErLf-ZY65eRQ5tfsdBOuAUBPsuM,83533
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,21 +72,22 @@ 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
- boris/utilities.py,sha256=BJXl8IZHQC93ZcaN9cQrWmrg3Rr3F8_Q71Tz6Im3A0s,58104
81
- boris/version.py,sha256=efemsbkEaALtHXkb-K5yR_XYwDyuK_FjgmaTU7oEGu0,787
80
+ boris/utilities.py,sha256=Ae3YjXkulJYQxbE4Fpvle4tX2nA_qJQhAn980sTFHqw,58805
81
+ boris/version.py,sha256=kjJCPT94QiOth7BoW4mL3qdROWDKxbrH7zqNc-4cJVU,788
82
82
  boris/video_equalizer.py,sha256=cm2JXe1eAPkqDzxYB2OMKyuveMBdq4a9-gD1bBorbn4,5823
83
83
  boris/video_equalizer_ui.py,sha256=1CG3s79eM4JAbaCx3i1ILZXLceb41_gGXlOLNfpBgnw,10142
84
- boris/video_operations.py,sha256=BbH9NXfNL597edX2nX0s6dJcQIvv--_DXx2kjhLAkfo,10799
84
+ boris/video_operations.py,sha256=dSpD1cnDm7DiTUirIcCYE1Olb5HlY8-S4CpLynyT1L8,11054
85
85
  boris/view_df.py,sha256=fhcNMFFVbQ4ZTpPwN_4Bg66DDIoV25zaPryZUsOxsKg,3338
86
86
  boris/view_df_ui.py,sha256=CaMeRH_vQ00CTDDFQn73ZZaS-r8BSTWpL-dMCFqzJ_Q,2775
87
87
  boris/write_event.py,sha256=xC-dUjgPS4-tvrQfvyL7O_xi-tyQI7leSiSV8_x8hgg,23817
88
88
  boris/analysis_plugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
89
89
  boris/analysis_plugins/_latency.py,sha256=9kCdFDtb5Zdao1xFpioi_exm_IxyGm6RlY3Opn6GUFo,2030
90
+ boris/analysis_plugins/export_to_feral.py,sha256=Icho_3e-2Y9Z1i_56TxnYigxsoWcRHm14XzE55p3nNM,11428
90
91
  boris/analysis_plugins/irr_cohen_kappa.py,sha256=OqmivIE6i1hTcFVMp0EtY0Sr7C1Jm9t0D4IKbDfTJ7U,4268
91
92
  boris/analysis_plugins/irr_cohen_kappa_with_modifiers.py,sha256=DtzFLRToR9GdkmWYDcCmpSvxHGpguVp-_n8F-t7ND7c,4461
92
93
  boris/analysis_plugins/irr_weighted_cohen_kappa.py,sha256=xpDjcDkwPtTM3SI9UC2RIhma1nqFU_qcGSMq7QpMMHc,6435
@@ -101,9 +102,9 @@ boris/portion/dict.py,sha256=uNM-LEY52CZ2VNMMW_C9QukoyTvPlQf8vcbGa1lQBHI,11281
101
102
  boris/portion/func.py,sha256=mSQr20YS1ug7R1fRqBg8LifjtXDRvJ6Kjc3WOeL9P34,2172
102
103
  boris/portion/interval.py,sha256=sOlj3MAGGaB-JxCkigS-n3qw0fY7TANAsXv1pavr8J4,19931
103
104
  boris/portion/io.py,sha256=kpq44pw3xnIyAlPwaR5qRHKRdZ72f8HS9YVIWs5k2pk,6367
104
- boris_behav_obs-9.7.1.dist-info/licenses/LICENSE.TXT,sha256=WJ7YI-moTFb-uVrFjnzzhGJrnL9P2iqQe8NuED3hutI,35141
105
- boris_behav_obs-9.7.1.dist-info/METADATA,sha256=nvmFlkit_eIH_OOWnrlrZZvrPaO-NXD-8aU778Da0J4,5385
106
- boris_behav_obs-9.7.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
107
- boris_behav_obs-9.7.1.dist-info/entry_points.txt,sha256=k__8XvFi4vaA4QFvQehCZjYkKmZH34HSAJI2iYCWrMs,52
108
- boris_behav_obs-9.7.1.dist-info/top_level.txt,sha256=fJSgm62S7WesiwTorGbOO4nNN0yzgZ3klgfGi3Px4qI,6
109
- boris_behav_obs-9.7.1.dist-info/RECORD,,
105
+ boris_behav_obs-9.7.15.dist-info/licenses/LICENSE.TXT,sha256=WJ7YI-moTFb-uVrFjnzzhGJrnL9P2iqQe8NuED3hutI,35141
106
+ boris_behav_obs-9.7.15.dist-info/METADATA,sha256=ChZTII6E_pBMlhygq_8kCAG7opReGArvYgGSWWlsXE4,5204
107
+ boris_behav_obs-9.7.15.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
108
+ boris_behav_obs-9.7.15.dist-info/entry_points.txt,sha256=k__8XvFi4vaA4QFvQehCZjYkKmZH34HSAJI2iYCWrMs,52
109
+ boris_behav_obs-9.7.15.dist-info/top_level.txt,sha256=fJSgm62S7WesiwTorGbOO4nNN0yzgZ3klgfGi3Px4qI,6
110
+ boris_behav_obs-9.7.15.dist-info/RECORD,,