msw-tasks-core 0.2.0__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.
@@ -0,0 +1,65 @@
1
+ Metadata-Version: 2.4
2
+ Name: msw-tasks-core
3
+ Version: 0.2.0
4
+ Summary: Murine Shift Work core tasks: liquid/sound calibration and hardware test protocols.
5
+ Author-email: "Lars B. Rollik" <lars@rollik.me>
6
+ License-File: LICENSE
7
+ Requires-Python: >=3.12
8
+ Requires-Dist: msw-core>=0.1.0
9
+ Requires-Dist: numpy
10
+ Requires-Dist: one-axis-stage
11
+ Requires-Dist: pybpod-api
12
+ Requires-Dist: pyyaml
13
+ Requires-Dist: tqdm
14
+ Provides-Extra: dev
15
+ Requires-Dist: commitizen; extra == 'dev'
16
+ Requires-Dist: mypy; extra == 'dev'
17
+ Requires-Dist: pre-commit; extra == 'dev'
18
+ Requires-Dist: pytest; extra == 'dev'
19
+ Requires-Dist: pytest-cov; extra == 'dev'
20
+ Requires-Dist: ruff; extra == 'dev'
21
+ Provides-Extra: docs
22
+ Requires-Dist: mkdocs-material; extra == 'docs'
23
+ Requires-Dist: mkdocstrings[python]; extra == 'docs'
24
+ Description-Content-Type: text/markdown
25
+
26
+ # msw-tasks-core
27
+
28
+ Core task set for [Murine Shift Work](https://github.com/MurineShiftWork/murineshiftwork):
29
+ liquid and sound calibration protocols, plus minimal hardware test tasks.
30
+
31
+ Installs as a namespace contributor to `murineshiftwork.tasks.*`.
32
+ Tasks are discoverable by the `msw` CLI via both namespace path scan and `msw.tasks` entry points.
33
+
34
+ ## Installation
35
+
36
+ ```bash
37
+ pip install msw-tasks-core
38
+ ```
39
+
40
+ Requires `murineshiftwork` to be installed.
41
+
42
+ ## Tasks included
43
+
44
+ **Calibration**
45
+ - `_calibration_liquid_dynamic` - dynamic liquid volume calibration
46
+ - `_calibration_liquid_static` - static liquid volume calibration
47
+ - `_calibration_sound_latency` - sound output latency measurement
48
+
49
+ **Hardware tests**
50
+ - `_test_bpod_connect` - verify Bpod serial connection
51
+ - `_test_flush_valves` - flush all Bpod valve ports
52
+ - `_test_minimal_task` - minimal state-machine smoke test
53
+ - `_test_pulsepal_connect` - verify PulsePal connection
54
+ - `_test_stage_move` - exercise one-axis stage movement
55
+ - `_test_ttl_barcodes` - TTL barcode encoding/decoding test
56
+ - `_test_ttl_outputs` - BNC TTL output test
57
+ - `_test_barcode_iti` - barcode-in-ITI timing test
58
+ - `_test_video` - video acquisition smoke test
59
+
60
+ ## Development
61
+
62
+ ```bash
63
+ # from workspace root
64
+ uv sync
65
+ ```
@@ -0,0 +1,25 @@
1
+ murineshiftwork/_version.py,sha256=s9U3X54Pdr-Jlh9GP6LBaa_VRos7qs_wtrVefUHHNIA,520
2
+ murineshiftwork/tasks/_calibration_liquid_dynamic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
+ murineshiftwork/tasks/_calibration_liquid_dynamic/task.py,sha256=ZHGP65BQRRYub9t29Z9MG00utTZwT-FBP1gv2aTuFSM,24522
4
+ murineshiftwork/tasks/_calibration_liquid_dynamic/task.yaml,sha256=p_ZptfQrWCXVkyFOv3fZUxt6Y0BevnowTs2cnYkEse8,1711
5
+ murineshiftwork/tasks/_calibration_liquid_static/task.py,sha256=OG_CDuKhpH9aBkmm4cWJnDbuA8ZYcJWYsHGXi6Q2UwU,8495
6
+ murineshiftwork/tasks/_calibration_liquid_static/task.yaml,sha256=2C-mDGl8Kp9JJQs1Pt6YMw6udhttuuIUybarIt4UJP8,594
7
+ murineshiftwork/tasks/_calibration_sound_latency/task.py,sha256=dM7ZPx7uDPtNEMSTYCoyCeb0UbQUD_hLEe2TlCqWNG0,2967
8
+ murineshiftwork/tasks/_test_barcode_iti/task.py,sha256=dFLoUCqXWjRCCkAzT3XOvlwOvJKZJHaeEXiV1CMNWzo,5962
9
+ murineshiftwork/tasks/_test_barcode_iti/task.yaml,sha256=WGbviPrIpKnatzpzROjRo1NnQQSsh6x99qWauk5Zf2A,303
10
+ murineshiftwork/tasks/_test_bpod_connect/task.py,sha256=IWkhxmSojnFAQPqISjkpHhczgTHbCfweBe-OmOu6zvw,1752
11
+ murineshiftwork/tasks/_test_bpod_connect/task.yaml,sha256=b2MG3UxjuhyA5uaXp1rfoJqv1E7bdtx9A_N2qCyjiPo,26
12
+ murineshiftwork/tasks/_test_flush_valves/task.py,sha256=ikkqI-QfhWBSFK7TH3NY-P3sZYKDTuy-56na7TEHaq8,2772
13
+ murineshiftwork/tasks/_test_flush_valves/task.yaml,sha256=ij9Wtk8Iu4RqXG2uDYAoHfcOmLHREJPBVe6FskxbDTE,661
14
+ murineshiftwork/tasks/_test_minimal_task/task.py,sha256=jKBeEFxjza1ndzpWN-dbzfidrw7FQWpC8AnH3RgqLxU,1350
15
+ murineshiftwork/tasks/_test_pulsepal_connect/task.py,sha256=G8VgCJNeE367JWPBg4ymgOcmdreICliLQzaG-P1s_TQ,1591
16
+ murineshiftwork/tasks/_test_pulsepal_connect/task.yaml,sha256=0oh-s9rq7upifZdG95XCGrO7WHFSu37rpfn9EgAAOjs,44
17
+ murineshiftwork/tasks/_test_stage_move/task.py,sha256=tMZg9N4aKqNZMXSNdhm5M83Umoj9TYmmB_jLnpZroZ4,6623
18
+ murineshiftwork/tasks/_test_ttl_barcodes/task.py,sha256=OAvmYP5waQ0XhS5ILfXRFn1L5MBYSZHeX1OQw9Ufayo,2684
19
+ murineshiftwork/tasks/_test_ttl_outputs/task.py,sha256=togHr6rpial7Y2mtMU5y8qY7Xs8YUWNQKHoOUHaM_Ko,1291
20
+ murineshiftwork/tasks/_test_video/task.py,sha256=o8YxDUjE6FIowstSZWG79PVohtyZW-AobdQ-akb04XU,3419
21
+ msw_tasks_core-0.2.0.dist-info/METADATA,sha256=tjRmq0VRfQ77FhFRcUd2KoZa-QUDGZ0WMrXBOArTi80,2059
22
+ msw_tasks_core-0.2.0.dist-info/WHEEL,sha256=mffPy8wBnZQn2VnJUU5jE99KsxaSfiyMHV9Yt0aLVxs,87
23
+ msw_tasks_core-0.2.0.dist-info/entry_points.txt,sha256=tidqENs1bORoEHrnCoSsN_CWJiQq8guvD5RMspFPs5o,852
24
+ msw_tasks_core-0.2.0.dist-info/licenses/LICENSE,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
+ msw_tasks_core-0.2.0.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.30.1
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,13 @@
1
+ [msw.tasks]
2
+ _calibration_liquid_dynamic = murineshiftwork.tasks._calibration_liquid_dynamic.task
3
+ _calibration_liquid_static = murineshiftwork.tasks._calibration_liquid_static.task
4
+ _calibration_sound_latency = murineshiftwork.tasks._calibration_sound_latency.task
5
+ _test_barcode_iti = murineshiftwork.tasks._test_barcode_iti.task
6
+ _test_bpod_connect = murineshiftwork.tasks._test_bpod_connect.task
7
+ _test_flush_valves = murineshiftwork.tasks._test_flush_valves.task
8
+ _test_minimal_task = murineshiftwork.tasks._test_minimal_task.task
9
+ _test_pulsepal_connect = murineshiftwork.tasks._test_pulsepal_connect.task
10
+ _test_stage_move = murineshiftwork.tasks._test_stage_move.task
11
+ _test_ttl_barcodes = murineshiftwork.tasks._test_ttl_barcodes.task
12
+ _test_ttl_outputs = murineshiftwork.tasks._test_ttl_outputs.task
13
+ _test_video = murineshiftwork.tasks._test_video.task
File without changes
@@ -0,0 +1,24 @@
1
+ # file generated by vcs-versioning
2
+ # don't change, don't track in version control
3
+ from __future__ import annotations
4
+
5
+ __all__ = [
6
+ "__version__",
7
+ "__version_tuple__",
8
+ "version",
9
+ "version_tuple",
10
+ "__commit_id__",
11
+ "commit_id",
12
+ ]
13
+
14
+ version: str
15
+ __version__: str
16
+ __version_tuple__: tuple[int | str, ...]
17
+ version_tuple: tuple[int | str, ...]
18
+ commit_id: str | None
19
+ __commit_id__: str | None
20
+
21
+ __version__ = version = '0.2.0'
22
+ __version_tuple__ = version_tuple = (0, 2, 0)
23
+
24
+ __commit_id__ = commit_id = None