pymmcore-plus 0.15.3__tar.gz → 0.15.4__tar.gz

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 (113) hide show
  1. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/PKG-INFO +1 -1
  2. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/core/events/_protocol.py +3 -0
  3. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/core/events/_psygnal.py +1 -0
  4. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/core/events/_qsignals.py +1 -0
  5. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/install.py +1 -0
  6. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/mda/events/__init__.py +1 -1
  7. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/.gitignore +0 -0
  8. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/LICENSE +0 -0
  9. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/README.md +0 -0
  10. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/pyproject.toml +0 -0
  11. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/__init__.py +0 -0
  12. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/_accumulator.py +0 -0
  13. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/_benchmark.py +0 -0
  14. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/_build.py +0 -0
  15. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/_cli.py +0 -0
  16. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/_ipy_completion.py +0 -0
  17. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/_logger.py +0 -0
  18. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/_pymmcore.py +0 -0
  19. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/_util.py +0 -0
  20. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/core/__init__.py +0 -0
  21. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/core/_adapter.py +0 -0
  22. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/core/_config.py +0 -0
  23. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/core/_config_group.py +0 -0
  24. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/core/_constants.py +0 -0
  25. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/core/_device.py +0 -0
  26. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/core/_metadata.py +0 -0
  27. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/core/_mmcore_plus.py +0 -0
  28. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/core/_property.py +0 -0
  29. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/core/_sequencing.py +0 -0
  30. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/core/events/__init__.py +0 -0
  31. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/core/events/_deprecated.py +0 -0
  32. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/core/events/_device_signal_view.py +0 -0
  33. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/core/events/_norm_slot.py +0 -0
  34. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/core/events/_prop_event_mixin.py +0 -0
  35. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/experimental/__init__.py +0 -0
  36. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/experimental/unicore/__init__.py +0 -0
  37. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/experimental/unicore/_device_manager.py +0 -0
  38. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/experimental/unicore/_proxy.py +0 -0
  39. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/experimental/unicore/core/__init__.py +0 -0
  40. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/experimental/unicore/core/_sequence_buffer.py +0 -0
  41. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/experimental/unicore/core/_unicore.py +0 -0
  42. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/experimental/unicore/devices/__init__.py +0 -0
  43. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/experimental/unicore/devices/_camera.py +0 -0
  44. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/experimental/unicore/devices/_device_base.py +0 -0
  45. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/experimental/unicore/devices/_generic_device.py +0 -0
  46. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/experimental/unicore/devices/_properties.py +0 -0
  47. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/experimental/unicore/devices/_shutter.py +0 -0
  48. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/experimental/unicore/devices/_slm.py +0 -0
  49. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/experimental/unicore/devices/_stage.py +0 -0
  50. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/experimental/unicore/devices/_state.py +0 -0
  51. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/mda/__init__.py +0 -0
  52. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/mda/_engine.py +0 -0
  53. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/mda/_protocol.py +0 -0
  54. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/mda/_runner.py +0 -0
  55. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/mda/_thread_relay.py +0 -0
  56. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/mda/events/_protocol.py +0 -0
  57. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/mda/events/_psygnal.py +0 -0
  58. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/mda/events/_qsignals.py +0 -0
  59. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/mda/handlers/_5d_writer_base.py +0 -0
  60. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/mda/handlers/__init__.py +0 -0
  61. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/mda/handlers/_img_sequence_writer.py +0 -0
  62. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/mda/handlers/_ome_tiff_writer.py +0 -0
  63. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/mda/handlers/_ome_zarr_writer.py +0 -0
  64. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/mda/handlers/_tensorstore_handler.py +0 -0
  65. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/mda/handlers/_util.py +0 -0
  66. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/metadata/__init__.py +0 -0
  67. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/metadata/functions.py +0 -0
  68. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/metadata/schema.py +0 -0
  69. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/metadata/serialize.py +0 -0
  70. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/mocks.py +0 -0
  71. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/model/__init__.py +0 -0
  72. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/model/_config_file.py +0 -0
  73. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/model/_config_group.py +0 -0
  74. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/model/_core_device.py +0 -0
  75. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/model/_core_link.py +0 -0
  76. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/model/_device.py +0 -0
  77. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/model/_microscope.py +0 -0
  78. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/model/_pixel_size_config.py +0 -0
  79. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/model/_property.py +0 -0
  80. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/py.typed +0 -0
  81. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/src/pymmcore_plus/seq_tester.py +0 -0
  82. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/tests/__init__.py +0 -0
  83. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/tests/conftest.py +0 -0
  84. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/tests/io/test_image_sequence_writer.py +0 -0
  85. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/tests/io/test_ome_tiff.py +0 -0
  86. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/tests/io/test_zarr_writers.py +0 -0
  87. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/tests/local_config.cfg +0 -0
  88. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/tests/test_accumulators.py +0 -0
  89. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/tests/test_adapter_class.py +0 -0
  90. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/tests/test_bench.py +0 -0
  91. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/tests/test_cli.py +0 -0
  92. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/tests/test_config_group_class.py +0 -0
  93. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/tests/test_core.py +0 -0
  94. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/tests/test_device_class.py +0 -0
  95. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/tests/test_events.py +0 -0
  96. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/tests/test_ipy_completions.py +0 -0
  97. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/tests/test_mda.py +0 -0
  98. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/tests/test_metadata.py +0 -0
  99. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/tests/test_misc.py +0 -0
  100. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/tests/test_model.py +0 -0
  101. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/tests/test_pixel_config_class.py +0 -0
  102. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/tests/test_property_class.py +0 -0
  103. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/tests/test_sequencing.py +0 -0
  104. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/tests/test_slm_image.py +0 -0
  105. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/tests/test_thread_relay.py +0 -0
  106. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/tests/unicore/conftest.py +0 -0
  107. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/tests/unicore/test_camera.py +0 -0
  108. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/tests/unicore/test_sequence_buffer.py +0 -0
  109. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/tests/unicore/test_shutter.py +0 -0
  110. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/tests/unicore/test_slm.py +0 -0
  111. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/tests/unicore/test_state.py +0 -0
  112. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/tests/unicore/test_unicore.py +0 -0
  113. {pymmcore_plus-0.15.3 → pymmcore_plus-0.15.4}/tests/unicore/test_xy_stage.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pymmcore-plus
3
- Version: 0.15.3
3
+ Version: 0.15.4
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
@@ -131,6 +131,9 @@ class PCoreSignaler(Protocol):
131
131
  """Emits `(name: str, newExposure: float)` when the exposure of the SLM device changes.""" # noqa: E501
132
132
  sLMExposureChanged: ClassVar[PSignal] # alias
133
133
 
134
+ shutterOpenChanged: ClassVar[PSignal]
135
+ """Emits `(name: str, isOpen: bool)` when the shutter open state has changed."""
136
+
134
137
  # added for CMMCorePlus
135
138
  configSet: ClassVar[PSignal]
136
139
  """Emits `(str, str)` when a config has been set.
@@ -24,6 +24,7 @@ class CMMCoreSignaler(SignalGroup, _DevicePropertyEventMixin):
24
24
  XYStagePositionChanged = Signal(str, float, float)
25
25
  exposureChanged = Signal(str, float)
26
26
  SLMExposureChanged = Signal(str, float)
27
+ shutterOpenChanged = Signal(str, bool)
27
28
 
28
29
  # https://github.com/micro-manager/mmCoreAndDevices/pull/659
29
30
  imageSnapped = Signal(str) # on snapImage()
@@ -25,6 +25,7 @@ class QCoreSignaler(QObject):
25
25
  exposureChanged = Signal(str, float)
26
26
  SLMExposureChanged = Signal(str, float)
27
27
  sLMExposureChanged = SLMExposureChanged # alias
28
+ shutterOpenChanged = Signal(str, bool)
28
29
 
29
30
  # https://github.com/micro-manager/mmCoreAndDevices/pull/659
30
31
  imageSnapped = Signal(str) # on snapImage()
@@ -68,6 +68,7 @@ DOWNLOADS_URL = f"{BASE_URL}/nightly/2.0/{plat}/"
68
68
  # generally running `mmcore install -r <some_date>` will bring in devices with
69
69
  # the NEW interface.
70
70
  INTERFACES: dict[int, str] = {
71
+ 74: "20250815",
71
72
  73: "20250318",
72
73
  72: "20250318",
73
74
  71: "20221031",
@@ -26,7 +26,7 @@ def _get_auto_MDA_callback_class() -> type[PMDASignaler]:
26
26
  return QMDASignaler
27
27
 
28
28
  # (not sure why this type ignore is needed... apparently isn't matching protocol)
29
- return MDASignaler # type: ignore
29
+ return MDASignaler
30
30
 
31
31
 
32
32
  def __dir__() -> list[str]: # pragma: no cover
File without changes
File without changes