pyobs-aravis 2.0.0.dev7__tar.gz → 2.0.0.dev8__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 (20) hide show
  1. {pyobs_aravis-2.0.0.dev7 → pyobs_aravis-2.0.0.dev8}/PKG-INFO +1 -1
  2. {pyobs_aravis-2.0.0.dev7 → pyobs_aravis-2.0.0.dev8}/pyobs_aravis/araviscamera.py +12 -1
  3. {pyobs_aravis-2.0.0.dev7 → pyobs_aravis-2.0.0.dev8}/pyproject.toml +1 -1
  4. {pyobs_aravis-2.0.0.dev7 → pyobs_aravis-2.0.0.dev8}/uv.lock +1 -1
  5. {pyobs_aravis-2.0.0.dev7 → pyobs_aravis-2.0.0.dev8}/.github/workflows/pypi.yml +0 -0
  6. {pyobs_aravis-2.0.0.dev7 → pyobs_aravis-2.0.0.dev8}/.github/workflows/ruff.yml +0 -0
  7. {pyobs_aravis-2.0.0.dev7 → pyobs_aravis-2.0.0.dev8}/.pre-commit-config.yaml +0 -0
  8. {pyobs_aravis-2.0.0.dev7 → pyobs_aravis-2.0.0.dev8}/.readthedocs.yml +0 -0
  9. {pyobs_aravis-2.0.0.dev7 → pyobs_aravis-2.0.0.dev8}/CHANGELOG.rst +0 -0
  10. {pyobs_aravis-2.0.0.dev7 → pyobs_aravis-2.0.0.dev8}/LICENSE +0 -0
  11. {pyobs_aravis-2.0.0.dev7 → pyobs_aravis-2.0.0.dev8}/README.md +0 -0
  12. {pyobs_aravis-2.0.0.dev7 → pyobs_aravis-2.0.0.dev8}/docs/Makefile +0 -0
  13. {pyobs_aravis-2.0.0.dev7 → pyobs_aravis-2.0.0.dev8}/docs/make.bat +0 -0
  14. {pyobs_aravis-2.0.0.dev7 → pyobs_aravis-2.0.0.dev8}/docs/requirements.txt +0 -0
  15. {pyobs_aravis-2.0.0.dev7 → pyobs_aravis-2.0.0.dev8}/docs/source/_static/pyobs.gif +0 -0
  16. {pyobs_aravis-2.0.0.dev7 → pyobs_aravis-2.0.0.dev8}/docs/source/conf.py +0 -0
  17. {pyobs_aravis-2.0.0.dev7 → pyobs_aravis-2.0.0.dev8}/docs/source/index.rst +0 -0
  18. {pyobs_aravis-2.0.0.dev7 → pyobs_aravis-2.0.0.dev8}/pyobs_aravis/__init__.py +0 -0
  19. {pyobs_aravis-2.0.0.dev7 → pyobs_aravis-2.0.0.dev8}/pyobs_aravis/aravis.py +0 -0
  20. {pyobs_aravis-2.0.0.dev7 → pyobs_aravis-2.0.0.dev8}/pyobs_aravis/gui.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyobs-aravis
3
- Version: 2.0.0.dev7
3
+ Version: 2.0.0.dev8
4
4
  Summary: pyobs module for Aravis cameras
5
5
  Author-email: Tim-Oliver Husser <thusser@uni-goettingen.de>
6
6
  License-Expression: MIT
@@ -57,7 +57,18 @@ class AravisCamera(BaseVideo, IExposureTime):
57
57
 
58
58
  await BaseVideo.open(self)
59
59
 
60
- ids: list[str] = aravis.get_device_ids() # type: ignore[assignment]
60
+ # device discovery is a blocking, network-based scan (GigE Vision/USB3 Vision devices
61
+ # reply to a broadcast query) that can take multiple seconds -- run it like the other
62
+ # aravis/GLib calls (see _run_blocking) instead of freezing the whole module's event
63
+ # loop, and with it, the ability to respond to any other module, for that long
64
+ ids: list[str] = []
65
+
66
+ def _list_device_ids() -> None:
67
+ ids.extend(aravis.get_device_ids()) # type: ignore[arg-type]
68
+
69
+ if not await self._run_blocking(_list_device_ids):
70
+ raise TimeoutError(f"Timed out listing available cameras after {_SDK_CALL_TIMEOUT}s.")
71
+
61
72
  if self._camera_device_name not in ids:
62
73
  raise ValueError("Could not find given device name in list of available cameras.")
63
74
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "pyobs-aravis"
3
- version = "2.0.0.dev7"
3
+ version = "2.0.0.dev8"
4
4
  description = "pyobs module for Aravis cameras"
5
5
  authors = [{ name = "Tim-Oliver Husser", email = "thusser@uni-goettingen.de" }]
6
6
  requires-python = ">=3.11,<3.14"
@@ -1770,7 +1770,7 @@ wheels = [
1770
1770
 
1771
1771
  [[package]]
1772
1772
  name = "pyobs-aravis"
1773
- version = "2.0.0.dev7"
1773
+ version = "2.0.0.dev8"
1774
1774
  source = { editable = "." }
1775
1775
  dependencies = [
1776
1776
  { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" },