pymmcore-plus 0.14.0__py3-none-any.whl → 0.15.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.
- pymmcore_plus/__init__.py +25 -0
- pymmcore_plus/_ipy_completion.py +363 -0
- pymmcore_plus/_pymmcore.py +4 -2
- pymmcore_plus/core/_constants.py +25 -3
- pymmcore_plus/core/_mmcore_plus.py +110 -55
- pymmcore_plus/core/_sequencing.py +1 -1
- pymmcore_plus/core/events/_deprecated.py +67 -0
- pymmcore_plus/core/events/_protocol.py +64 -39
- pymmcore_plus/core/events/_psygnal.py +35 -6
- pymmcore_plus/core/events/_qsignals.py +34 -6
- pymmcore_plus/experimental/unicore/__init__.py +12 -2
- pymmcore_plus/experimental/unicore/_device_manager.py +1 -1
- pymmcore_plus/experimental/unicore/_proxy.py +20 -3
- pymmcore_plus/experimental/unicore/core/__init__.py +0 -0
- pymmcore_plus/experimental/unicore/core/_sequence_buffer.py +314 -0
- pymmcore_plus/experimental/unicore/core/_unicore.py +1769 -0
- pymmcore_plus/experimental/unicore/devices/_camera.py +201 -0
- pymmcore_plus/experimental/unicore/devices/{_device.py → _device_base.py} +54 -28
- pymmcore_plus/experimental/unicore/devices/_generic_device.py +12 -0
- pymmcore_plus/experimental/unicore/devices/_properties.py +9 -2
- pymmcore_plus/experimental/unicore/devices/_shutter.py +30 -0
- pymmcore_plus/experimental/unicore/devices/_slm.py +82 -0
- pymmcore_plus/experimental/unicore/devices/_stage.py +1 -1
- pymmcore_plus/experimental/unicore/devices/_state.py +152 -0
- pymmcore_plus/mda/events/_protocol.py +8 -8
- {pymmcore_plus-0.14.0.dist-info → pymmcore_plus-0.15.2.dist-info}/METADATA +2 -2
- {pymmcore_plus-0.14.0.dist-info → pymmcore_plus-0.15.2.dist-info}/RECORD +30 -21
- pymmcore_plus/experimental/unicore/_unicore.py +0 -703
- {pymmcore_plus-0.14.0.dist-info → pymmcore_plus-0.15.2.dist-info}/WHEEL +0 -0
- {pymmcore_plus-0.14.0.dist-info → pymmcore_plus-0.15.2.dist-info}/entry_points.txt +0 -0
- {pymmcore_plus-0.14.0.dist-info → pymmcore_plus-0.15.2.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from typing import Protocol, runtime_checkable
|
|
1
|
+
from typing import ClassVar, Protocol, runtime_checkable
|
|
2
2
|
|
|
3
3
|
from pymmcore_plus.core.events._protocol import PSignal
|
|
4
4
|
|
|
@@ -7,29 +7,29 @@ from pymmcore_plus.core.events._protocol import PSignal
|
|
|
7
7
|
class PMDASignaler(Protocol):
|
|
8
8
|
"""Declares the protocol for all signals that will be emitted from [`pymmcore_plus.mda.MDARunner`][].""" # noqa: E501
|
|
9
9
|
|
|
10
|
-
sequenceStarted: PSignal
|
|
10
|
+
sequenceStarted: ClassVar[PSignal]
|
|
11
11
|
"""Emits `(sequence: MDASequence, metadata: dict)` when an acquisition sequence is started.
|
|
12
12
|
|
|
13
13
|
For the default [`MDAEngine`][pymmcore_plus.mda.MDAEngine], the metadata `dict` will
|
|
14
14
|
be of type [`SummaryMetaV1`][pymmcore_plus.metadata.schema.SummaryMetaV1].
|
|
15
15
|
""" # noqa: E501
|
|
16
|
-
sequencePauseToggled: PSignal
|
|
16
|
+
sequencePauseToggled: ClassVar[PSignal]
|
|
17
17
|
"""Emits `(paused: bool)` when an acquisition sequence is paused or unpaused."""
|
|
18
|
-
sequenceCanceled: PSignal
|
|
18
|
+
sequenceCanceled: ClassVar[PSignal]
|
|
19
19
|
"""Emits `(sequence: MDASequence)` when an acquisition sequence is canceled."""
|
|
20
|
-
sequenceFinished: PSignal
|
|
20
|
+
sequenceFinished: ClassVar[PSignal]
|
|
21
21
|
"""Emits `(sequence: MDASequence)` when an acquisition sequence is finished."""
|
|
22
|
-
frameReady: PSignal
|
|
22
|
+
frameReady: ClassVar[PSignal]
|
|
23
23
|
"""Emits `(img: np.ndarray, event: MDAEvent, metadata: dict)` after an image is acquired during an acquisition sequence.
|
|
24
24
|
|
|
25
25
|
For the default [`MDAEngine`][pymmcore_plus.mda.MDAEngine], the metadata `dict` will
|
|
26
26
|
be of type [`FrameMetaV1`][pymmcore_plus.metadata.schema.FrameMetaV1].
|
|
27
27
|
""" # noqa: E501
|
|
28
|
-
awaitingEvent: PSignal
|
|
28
|
+
awaitingEvent: ClassVar[PSignal]
|
|
29
29
|
"""Emits `(event: MDAEvent, remaining_sec: float)` when the runner is waiting to start an event.
|
|
30
30
|
|
|
31
31
|
Note: Not all events in a sequence will emit this signal. This will only be emitted
|
|
32
32
|
if the wait time is non-zero.
|
|
33
33
|
""" # noqa: E501
|
|
34
|
-
eventStarted: PSignal
|
|
34
|
+
eventStarted: ClassVar[PSignal]
|
|
35
35
|
"""Emits `(event: MDAEvent)` immediately before event setup and execution."""
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pymmcore-plus
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.15.2
|
|
4
4
|
Summary: pymmcore superset providing improved APIs, event handling, and a pure python acquisition engine
|
|
5
5
|
Project-URL: Source, https://github.com/pymmcore-plus/pymmcore-plus
|
|
6
6
|
Project-URL: Tracker, https://github.com/pymmcore-plus/pymmcore-plus/issues
|
|
@@ -30,7 +30,7 @@ Requires-Dist: numpy>=1.26.0; python_version >= '3.12'
|
|
|
30
30
|
Requires-Dist: numpy>=2.1.0; python_version >= '3.13'
|
|
31
31
|
Requires-Dist: platformdirs>=3.0.0
|
|
32
32
|
Requires-Dist: psygnal>=0.10
|
|
33
|
-
Requires-Dist: pymmcore>=11.
|
|
33
|
+
Requires-Dist: pymmcore>=11.9.0.73.0
|
|
34
34
|
Requires-Dist: rich>=10.2.0
|
|
35
35
|
Requires-Dist: tensorstore!=0.1.72,>=0.1.67
|
|
36
36
|
Requires-Dist: tensorstore!=0.1.72,>=0.1.71; python_version >= '3.13'
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
pymmcore_plus/__init__.py,sha256=
|
|
1
|
+
pymmcore_plus/__init__.py,sha256=trTkp3YbM8nahgsl1_N8snC5bs0GY7CX1v1ssVgBh2c,2243
|
|
2
2
|
pymmcore_plus/_accumulator.py,sha256=WUgCrLW0U8_kWXfmhSRrC17ubWZNQNckkGVBiTp72F8,9205
|
|
3
3
|
pymmcore_plus/_benchmark.py,sha256=YJICxXleFQVbOluJdq4OujnIcTkkuMVzeB8GJ8nUv5I,6011
|
|
4
4
|
pymmcore_plus/_build.py,sha256=RPTAuwCZWGL5IDJj4JZo1DIIouUsIqS3vnbPbG2_bRE,10993
|
|
5
5
|
pymmcore_plus/_cli.py,sha256=wmqlG8UGBNiTefRppSnRHwnD3w-5DAhN168lIBujbRA,16831
|
|
6
|
+
pymmcore_plus/_ipy_completion.py,sha256=K__bKTJZukzz0RhNr3KZ2urpQGxQrW8ySUQtHDoKfLA,17936
|
|
6
7
|
pymmcore_plus/_logger.py,sha256=d7ldqxY0rGWORKdIzNUiFc9BW6cFBx57kHWtXyY1HE0,5416
|
|
7
|
-
pymmcore_plus/_pymmcore.py,sha256=
|
|
8
|
+
pymmcore_plus/_pymmcore.py,sha256=hy0gfEhvQ84o7SFIB2nQp6A1w2L4U7VQrV5_qKsJoLQ,699
|
|
8
9
|
pymmcore_plus/_util.py,sha256=VGcb_nQu6BBWZsQihed0TrCHdTRADKlBo_qSnIbeF0Q,22814
|
|
9
10
|
pymmcore_plus/install.py,sha256=U4TbQXbUc12aMtGRF_SkinNOTDCuuzIhME5Oup_4ds0,10768
|
|
10
11
|
pymmcore_plus/mocks.py,sha256=jNUfmffD1OArtIvEmqWsy7GCrtTpssVF03flH8cEYx8,1867
|
|
@@ -14,35 +15,43 @@ pymmcore_plus/core/__init__.py,sha256=gCZMmUjvCh4GX3dwKPxiPzt6NQokFtuHl0-tBUG7B9
|
|
|
14
15
|
pymmcore_plus/core/_adapter.py,sha256=eu2BhGe_dnoQrIsh-u3poxWXsiF2Y8pfbKIGWbUgOk8,2857
|
|
15
16
|
pymmcore_plus/core/_config.py,sha256=yWwOnW6f37lLt83MnodNce04az-g8YDjyo7BvMiTc8s,10672
|
|
16
17
|
pymmcore_plus/core/_config_group.py,sha256=R-o4xuPDBPQAC3s-mFsiKwHVKWR38L9qq_aoWdPrAq8,8542
|
|
17
|
-
pymmcore_plus/core/_constants.py,sha256=
|
|
18
|
+
pymmcore_plus/core/_constants.py,sha256=tpXCn4CdhevGabUwOSvn7klMRoiXiVPmsPlAofL6Ai4,14122
|
|
18
19
|
pymmcore_plus/core/_device.py,sha256=v58TcROSuvxE5ALBjzS474Dx430e0iMA61OuBSnc2rE,33197
|
|
19
20
|
pymmcore_plus/core/_metadata.py,sha256=L8x1gX_zXPz02BUqc7eqJM_Bey2G0RyX30SOBs2aBNc,2755
|
|
20
|
-
pymmcore_plus/core/_mmcore_plus.py,sha256=
|
|
21
|
+
pymmcore_plus/core/_mmcore_plus.py,sha256=uNphVZdOqNIcvZpkyMVkekQhOKZlSJm6J01M2XZ3XHI,102486
|
|
21
22
|
pymmcore_plus/core/_property.py,sha256=QsQEzqOAedR24zEJ1Ge4kwScfT_7NOApVcgz6QxBJrI,8265
|
|
22
|
-
pymmcore_plus/core/_sequencing.py,sha256=
|
|
23
|
+
pymmcore_plus/core/_sequencing.py,sha256=pOydKOsHjQOlYGp51hrSjHz02s4NoSEzQwTTSh3R4_Q,16887
|
|
23
24
|
pymmcore_plus/core/events/__init__.py,sha256=F8r10LEBLrAV8qfkXScSkpqfExdT2XoOx92OqSturpc,1078
|
|
25
|
+
pymmcore_plus/core/events/_deprecated.py,sha256=H_Sd63ZyV3Hkq8Imozi8OE7FIa_hhSRpEyhjLj4xTB8,2241
|
|
24
26
|
pymmcore_plus/core/events/_device_signal_view.py,sha256=t-NfBdg3E4rms4vDFxkkR5XtrpLxaBT7mfPwkpIsbVk,1079
|
|
25
27
|
pymmcore_plus/core/events/_norm_slot.py,sha256=8DCBoLHGh7cbB1OB19IJYwL6sFBFmkD8IakfBOvFbw8,2907
|
|
26
28
|
pymmcore_plus/core/events/_prop_event_mixin.py,sha256=FvJJnpEKrOR-_Sp3-NNCwFoUUHwmNKiHruo0Y1vybsY,4042
|
|
27
|
-
pymmcore_plus/core/events/_protocol.py,sha256=
|
|
28
|
-
pymmcore_plus/core/events/_psygnal.py,sha256=
|
|
29
|
-
pymmcore_plus/core/events/_qsignals.py,sha256=
|
|
29
|
+
pymmcore_plus/core/events/_protocol.py,sha256=LSS2ns1XZqByB61nx_zdwMxqQuHmRj4BrbJ392f6Z30,8944
|
|
30
|
+
pymmcore_plus/core/events/_psygnal.py,sha256=GZGLU-L9lE-l-_24ABKhT8_OUw0yvu9QxNIk6mAVwL8,2709
|
|
31
|
+
pymmcore_plus/core/events/_qsignals.py,sha256=d1-J2ISo09JovLrZ6Tn3b5DHrmbRMbvqfFaH_Hsb0Os,4009
|
|
30
32
|
pymmcore_plus/experimental/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
31
|
-
pymmcore_plus/experimental/unicore/__init__.py,sha256=
|
|
32
|
-
pymmcore_plus/experimental/unicore/_device_manager.py,sha256=
|
|
33
|
-
pymmcore_plus/experimental/unicore/_proxy.py,sha256=
|
|
34
|
-
pymmcore_plus/experimental/unicore/
|
|
33
|
+
pymmcore_plus/experimental/unicore/__init__.py,sha256=2jjw8K3DZ8NSY5mFn4YBTrYp78Zc9EbGIZCiyG7PujQ,682
|
|
34
|
+
pymmcore_plus/experimental/unicore/_device_manager.py,sha256=I0kbIsxxT3tyeeSElK4l4kUd16hbw81fJv3UZCQPW2Q,6423
|
|
35
|
+
pymmcore_plus/experimental/unicore/_proxy.py,sha256=QPFnG9Mw6WCFSui8nUCabJTJL-Xyvyo-fbLM1Q949is,4703
|
|
36
|
+
pymmcore_plus/experimental/unicore/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
37
|
+
pymmcore_plus/experimental/unicore/core/_sequence_buffer.py,sha256=uyTKacCZNgxmsssBoAt62TvZjtv892YaTojyIDicgRI,12050
|
|
38
|
+
pymmcore_plus/experimental/unicore/core/_unicore.py,sha256=6invaoXaCpvPKqPGa2g5IKXjP5C6hKs0hDuihPs4lfc,72387
|
|
35
39
|
pymmcore_plus/experimental/unicore/devices/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
36
|
-
pymmcore_plus/experimental/unicore/devices/
|
|
37
|
-
pymmcore_plus/experimental/unicore/devices/
|
|
38
|
-
pymmcore_plus/experimental/unicore/devices/
|
|
40
|
+
pymmcore_plus/experimental/unicore/devices/_camera.py,sha256=Ef0VATVVNldZoYlQv7Qykgw1I6G-jk2usk7qhjJFXJ8,8538
|
|
41
|
+
pymmcore_plus/experimental/unicore/devices/_device_base.py,sha256=rmxzP-Cghn9bOA0m3I2a-7CspJAsp3OwTY6mv3bYzE0,10870
|
|
42
|
+
pymmcore_plus/experimental/unicore/devices/_generic_device.py,sha256=mp5vHTh3pJI6PJjBc90198KvRJ2eE8GARdYrj9zs27k,317
|
|
43
|
+
pymmcore_plus/experimental/unicore/devices/_properties.py,sha256=O57Y0dGvYCe5D7FlO74J_n9Ov6yr0A02ccCo3M6aNyc,15610
|
|
44
|
+
pymmcore_plus/experimental/unicore/devices/_shutter.py,sha256=UwOkKMZ2j2npr1W8v2Kyp2fCPECHAU3RFlIoDMpRlts,744
|
|
45
|
+
pymmcore_plus/experimental/unicore/devices/_slm.py,sha256=L2axjzcNQlCSADkuYFwJlZFt2HvC3mCGfqk7VF72KJE,3018
|
|
46
|
+
pymmcore_plus/experimental/unicore/devices/_stage.py,sha256=NO96VqeLTdtEWBQ3fPerdQhvGK6Nmu57ZKSq5g9jMiA,7897
|
|
47
|
+
pymmcore_plus/experimental/unicore/devices/_state.py,sha256=EpZAI9jYEQ9hU-H873ow9xY1u0oEXCs5lq6Op8-e-Xs,6091
|
|
39
48
|
pymmcore_plus/mda/__init__.py,sha256=7VH-MqOcuK1JNSOG9HhES6Ac-Z-LuT8a0f2xPbGEt7w,344
|
|
40
49
|
pymmcore_plus/mda/_engine.py,sha256=U83PnmbaWChxUCEskKqHVy-Xa8KAZAMuvwPSVTAwsKg,31205
|
|
41
50
|
pymmcore_plus/mda/_protocol.py,sha256=10CDJ9H57oX1z0oqK3eShXyQhufHvvu3_8wdaCYpPIg,3254
|
|
42
51
|
pymmcore_plus/mda/_runner.py,sha256=NSOhpll6_WxDLO19FTs19dASJcHcOoVOCy7q_QzX_Ms,18523
|
|
43
52
|
pymmcore_plus/mda/_thread_relay.py,sha256=Ww-9gyvLEzwRhnpL1dpze71wL7IRlhH8K3Q1dmJIxgs,6193
|
|
44
53
|
pymmcore_plus/mda/events/__init__.py,sha256=v7YsVXzd3cTavFs2v3_PEhjqP4CtuRE0nWUoJA3CvYU,1176
|
|
45
|
-
pymmcore_plus/mda/events/_protocol.py,sha256=
|
|
54
|
+
pymmcore_plus/mda/events/_protocol.py,sha256=9xs9sRaCGtOQcAPChsB_NxXs4g8eaEKuJHBzNRRtiII,1739
|
|
46
55
|
pymmcore_plus/mda/events/_psygnal.py,sha256=TdN1mFGpTPXmEs9iwFKSC1svv87PDZkT2JZvl0tEGrQ,640
|
|
47
56
|
pymmcore_plus/mda/events/_qsignals.py,sha256=tULQg-e_NX197DxJXaWHn1zLJ-4tzc9QyOAnsobEDtA,554
|
|
48
57
|
pymmcore_plus/mda/handlers/_5d_writer_base.py,sha256=c9cA0n8DOBoZcy9asue5eV7jW8hFVC0XEewroFgDNHA,11925
|
|
@@ -65,8 +74,8 @@ pymmcore_plus/model/_device.py,sha256=AX3rO2gbY7AXJyMN3FfI_n2jl2V0IAPuBh7MiDA5Sq
|
|
|
65
74
|
pymmcore_plus/model/_microscope.py,sha256=69VV6cuevinOK_LhYEkQygHGesvCZefdn9YNt3mV618,11353
|
|
66
75
|
pymmcore_plus/model/_pixel_size_config.py,sha256=RXk8AAwARe8clsXue0GZfOTb1bxyXIsO0ibcDLHM4_s,3889
|
|
67
76
|
pymmcore_plus/model/_property.py,sha256=NQzNtnEzSCR9ogwx1cfi8X-qbJ_cBSJKdSBAaoKoPQ0,3720
|
|
68
|
-
pymmcore_plus-0.
|
|
69
|
-
pymmcore_plus-0.
|
|
70
|
-
pymmcore_plus-0.
|
|
71
|
-
pymmcore_plus-0.
|
|
72
|
-
pymmcore_plus-0.
|
|
77
|
+
pymmcore_plus-0.15.2.dist-info/METADATA,sha256=YxrpoW8j0NccoGNVcU8phM-vNTAQgh6jmm8US4pwCn4,8835
|
|
78
|
+
pymmcore_plus-0.15.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
79
|
+
pymmcore_plus-0.15.2.dist-info/entry_points.txt,sha256=NtFyndrQzBpUNJyil-8e5hMGke2utAf7mkGavTLcLOY,51
|
|
80
|
+
pymmcore_plus-0.15.2.dist-info/licenses/LICENSE,sha256=OHJjRpOPKKRc7FEnpehNWdR5LRBdBhUtIFG-ZI0dCEA,1522
|
|
81
|
+
pymmcore_plus-0.15.2.dist-info/RECORD,,
|