pymmcore-plus 0.17.0__tar.gz → 0.17.1__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 (127) hide show
  1. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/PKG-INFO +1 -1
  2. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/experimental/unicore/core/_unicore.py +2 -3
  3. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/tests/00_unicore/test_camera.py +15 -0
  4. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/tests/test_core.py +8 -1
  5. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/.gitignore +0 -0
  6. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/LICENSE +0 -0
  7. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/README.md +0 -0
  8. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/pyproject.toml +0 -0
  9. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/__init__.py +0 -0
  10. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/_accumulator.py +0 -0
  11. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/_benchmark.py +0 -0
  12. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/_build.py +0 -0
  13. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/_cli.py +0 -0
  14. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/_discovery.py +0 -0
  15. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/_ipy_completion.py +0 -0
  16. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/_logger.py +0 -0
  17. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/_pymmcore.py +0 -0
  18. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/_util.py +0 -0
  19. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/core/__init__.py +0 -0
  20. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/core/_adapter.py +0 -0
  21. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/core/_config.py +0 -0
  22. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/core/_config_group.py +0 -0
  23. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/core/_constants.py +0 -0
  24. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/core/_device.py +0 -0
  25. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/core/_metadata.py +0 -0
  26. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/core/_mmcore_plus.py +0 -0
  27. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/core/_property.py +0 -0
  28. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/core/_sequencing.py +0 -0
  29. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/core/events/__init__.py +0 -0
  30. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/core/events/_deprecated.py +0 -0
  31. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/core/events/_device_signal_view.py +0 -0
  32. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/core/events/_norm_slot.py +0 -0
  33. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/core/events/_prop_event_mixin.py +0 -0
  34. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/core/events/_protocol.py +0 -0
  35. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/core/events/_psygnal.py +0 -0
  36. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/core/events/_qsignals.py +0 -0
  37. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/experimental/__init__.py +0 -0
  38. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/experimental/simulate/__init__.py +0 -0
  39. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/experimental/simulate/_objects.py +0 -0
  40. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/experimental/simulate/_render.py +0 -0
  41. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/experimental/simulate/_sample.py +0 -0
  42. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/experimental/unicore/__init__.py +0 -0
  43. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/experimental/unicore/_device_manager.py +0 -0
  44. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/experimental/unicore/_proxy.py +0 -0
  45. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/experimental/unicore/core/__init__.py +0 -0
  46. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/experimental/unicore/core/_config.py +0 -0
  47. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/experimental/unicore/core/_sequence_buffer.py +0 -0
  48. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/experimental/unicore/devices/__init__.py +0 -0
  49. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/experimental/unicore/devices/_camera.py +0 -0
  50. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/experimental/unicore/devices/_device_base.py +0 -0
  51. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/experimental/unicore/devices/_generic_device.py +0 -0
  52. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/experimental/unicore/devices/_hub.py +0 -0
  53. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/experimental/unicore/devices/_properties.py +0 -0
  54. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/experimental/unicore/devices/_shutter.py +0 -0
  55. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/experimental/unicore/devices/_slm.py +0 -0
  56. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/experimental/unicore/devices/_stage.py +0 -0
  57. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/experimental/unicore/devices/_state.py +0 -0
  58. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/install.py +0 -0
  59. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/mda/__init__.py +0 -0
  60. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/mda/_engine.py +0 -0
  61. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/mda/_protocol.py +0 -0
  62. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/mda/_runner.py +0 -0
  63. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/mda/_thread_relay.py +0 -0
  64. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/mda/events/__init__.py +0 -0
  65. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/mda/events/_protocol.py +0 -0
  66. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/mda/events/_psygnal.py +0 -0
  67. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/mda/events/_qsignals.py +0 -0
  68. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/mda/handlers/_5d_writer_base.py +0 -0
  69. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/mda/handlers/__init__.py +0 -0
  70. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/mda/handlers/_img_sequence_writer.py +0 -0
  71. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/mda/handlers/_ome_tiff_writer.py +0 -0
  72. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/mda/handlers/_ome_zarr_writer.py +0 -0
  73. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/mda/handlers/_tensorstore_handler.py +0 -0
  74. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/mda/handlers/_util.py +0 -0
  75. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/metadata/__init__.py +0 -0
  76. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/metadata/_ome.py +0 -0
  77. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/metadata/functions.py +0 -0
  78. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/metadata/schema.py +0 -0
  79. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/metadata/serialize.py +0 -0
  80. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/mocks.py +0 -0
  81. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/model/__init__.py +0 -0
  82. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/model/_config_file.py +0 -0
  83. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/model/_config_group.py +0 -0
  84. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/model/_core_device.py +0 -0
  85. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/model/_core_link.py +0 -0
  86. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/model/_device.py +0 -0
  87. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/model/_microscope.py +0 -0
  88. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/model/_pixel_size_config.py +0 -0
  89. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/model/_property.py +0 -0
  90. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/py.typed +0 -0
  91. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/src/pymmcore_plus/seq_tester.py +0 -0
  92. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/tests/00_unicore/conftest.py +0 -0
  93. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/tests/00_unicore/test_pydevice_config.py +0 -0
  94. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/tests/00_unicore/test_sequence_buffer.py +0 -0
  95. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/tests/00_unicore/test_shutter.py +0 -0
  96. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/tests/00_unicore/test_slm.py +0 -0
  97. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/tests/00_unicore/test_state.py +0 -0
  98. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/tests/00_unicore/test_unicore.py +0 -0
  99. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/tests/00_unicore/test_xy_stage.py +0 -0
  100. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/tests/00_unicore/test_z_stage.py +0 -0
  101. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/tests/__init__.py +0 -0
  102. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/tests/conftest.py +0 -0
  103. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/tests/io/test_image_sequence_writer.py +0 -0
  104. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/tests/io/test_ome_tiff.py +0 -0
  105. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/tests/io/test_zarr_writers.py +0 -0
  106. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/tests/local_config.cfg +0 -0
  107. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/tests/test_accumulators.py +0 -0
  108. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/tests/test_adapter_class.py +0 -0
  109. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/tests/test_bench.py +0 -0
  110. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/tests/test_cli.py +0 -0
  111. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/tests/test_config_group_class.py +0 -0
  112. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/tests/test_core_references.py +0 -0
  113. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/tests/test_device_class.py +0 -0
  114. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/tests/test_events.py +0 -0
  115. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/tests/test_install.py +0 -0
  116. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/tests/test_ipy_completions.py +0 -0
  117. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/tests/test_mda.py +0 -0
  118. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/tests/test_metadata.py +0 -0
  119. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/tests/test_metadata_to_ome.py +0 -0
  120. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/tests/test_misc.py +0 -0
  121. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/tests/test_model.py +0 -0
  122. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/tests/test_pixel_config_class.py +0 -0
  123. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/tests/test_property_class.py +0 -0
  124. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/tests/test_sequencing.py +0 -0
  125. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/tests/test_simulate.py +0 -0
  126. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/tests/test_slm_image.py +0 -0
  127. {pymmcore_plus-0.17.0 → pymmcore_plus-0.17.1}/tests/test_thread_relay.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pymmcore-plus
3
- Version: 0.17.0
3
+ Version: 0.17.1
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
@@ -1467,9 +1467,8 @@ class UniMMCore(CMMCorePlus):
1467
1467
  def getNumberOfCameraChannels(self) -> int:
1468
1468
  if self._py_camera() is None: # pragma: no cover
1469
1469
  return super().getNumberOfCameraChannels()
1470
- raise NotImplementedError(
1471
- "getNumberOfCameraChannels is not implemented for Python cameras."
1472
- )
1470
+
1471
+ return 1
1473
1472
 
1474
1473
  def getCameraChannelName(self, channelNr: int) -> str:
1475
1474
  """Get the name of the camera channel."""
@@ -273,3 +273,18 @@ def test_buffer_methods(device: str) -> None:
273
273
  timeout -= 0.1
274
274
  assert core.isBufferOverflowed()
275
275
  core.clearCircularBuffer()
276
+
277
+
278
+ def test_camera_channels_numbers() -> None:
279
+ """
280
+ Test the function to return the numbers of camera channels.
281
+ """
282
+ core = UniMMCore()
283
+
284
+ core.loadPyDevice(DEV, MyCamera())
285
+ core.initializeDevice(DEV)
286
+
287
+ core.setCameraDevice(DEV)
288
+ assert core.getCameraDevice() == DEV
289
+
290
+ assert core.getNumberOfCameraChannels() == 1
@@ -170,7 +170,14 @@ def test_mda(core: CMMCorePlus, qtbot: "QtBot") -> None:
170
170
  "datetime",
171
171
  }
172
172
  sf_mock.assert_called_once_with(mda)
173
- xystage_mock.assert_has_calls((call("XY", 1.0, 1.0),))
173
+ # device adapter will have slightly different position than requested
174
+ # round Y,X to 1 decimal place for comparison
175
+ xy_moves = [
176
+ (round(y, 1), round(x, 1))
177
+ for ((dev, y, x), kwargs) in xystage_mock.call_args_list
178
+ ]
179
+ assert (0, 0) in xy_moves
180
+ assert (1, 1) in xy_moves
174
181
  exp_mock.assert_has_calls((call("Camera", 1.0),))
175
182
  stage_mock.assert_has_calls(
176
183
  [
File without changes
File without changes