pyobs-fli 2.0.0.dev3__tar.gz → 2.0.0.dev5__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 (74) hide show
  1. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/PKG-INFO +1 -1
  2. pyobs_fli-2.0.0.dev5/README.md +54 -0
  3. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/docs/source/index.rst +9 -2
  4. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/pyobs_fli/flifilterwheel.py +3 -3
  5. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/pyproject.toml +1 -1
  6. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/uv.lock +4 -4
  7. pyobs_fli-2.0.0.dev3/README.md +0 -45
  8. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/.github/workflows/pypi.yml +0 -0
  9. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/.github/workflows/ruff.yml +0 -0
  10. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/.pre-commit-config.yaml +0 -0
  11. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/.readthedocs.yml +0 -0
  12. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/CHANGELOG.rst +0 -0
  13. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/CMakeLists.txt +0 -0
  14. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/LICENSE +0 -0
  15. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/docs/Makefile +0 -0
  16. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/docs/make.bat +0 -0
  17. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/docs/requirements.txt +0 -0
  18. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/docs/source/_static/pyobs.gif +0 -0
  19. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/docs/source/conf.py +0 -0
  20. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/Makefile +0 -0
  21. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/docxx.sty +0 -0
  22. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/libfli-camera-parport.c +0 -0
  23. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/libfli-camera-parport.h +0 -0
  24. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/libfli-camera-usb.c +0 -0
  25. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/libfli-camera-usb.h +0 -0
  26. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/libfli-camera.c +0 -0
  27. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/libfli-camera.h +0 -0
  28. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/libfli-debug.h +0 -0
  29. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/libfli-filter-focuser.c +0 -0
  30. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/libfli-filter-focuser.h +0 -0
  31. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/libfli-libfli.h +0 -0
  32. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/libfli-mem.c +0 -0
  33. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/libfli-mem.h +0 -0
  34. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/libfli-raw.c +0 -0
  35. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/libfli-raw.h +0 -0
  36. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/libfli.c +0 -0
  37. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/libfli.dxx +0 -0
  38. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/libfli.h +0 -0
  39. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/unix/bsd/libfli-usb-sys.c +0 -0
  40. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/unix/libfli-debug.c +0 -0
  41. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/unix/libfli-parport.h +0 -0
  42. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/unix/libfli-serial.c +0 -0
  43. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/unix/libfli-serial.h +0 -0
  44. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/unix/libfli-sys.c +0 -0
  45. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/unix/libfli-sys.h +0 -0
  46. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/unix/libfli-usb.c +0 -0
  47. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/unix/libfli-usb.h +0 -0
  48. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/unix/linux/fli_ioctl.h +0 -0
  49. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/unix/linux/fliusb_ioctl.h +0 -0
  50. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/unix/linux/libfli-parport.c +0 -0
  51. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/unix/linux/libfli-usb-sys.c +0 -0
  52. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/unix/osx/libfli-usb-sys.c +0 -0
  53. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/unix/osx/libfli-usb-sys.h +0 -0
  54. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/windows/libfli-debug.c +0 -0
  55. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/windows/libfli-parport.h +0 -0
  56. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/windows/libfli-serial.c +0 -0
  57. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/windows/libfli-serial.h +0 -0
  58. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/windows/libfli-sys.h +0 -0
  59. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/windows/libfli-usb.c +0 -0
  60. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/windows/libfli-usb.h +0 -0
  61. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/windows/libfli-windows-parport.c +0 -0
  62. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/windows/libfli-windows.c +0 -0
  63. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/windows/libfli.def +0 -0
  64. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/windows/libfli.rc +0 -0
  65. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/windows/libfli.sln +0 -0
  66. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/windows/libfli.vcproj +0 -0
  67. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/windows/libfli64.def +0 -0
  68. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/lib/windows/resource.h +0 -0
  69. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/poetry.lock +0 -0
  70. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/pyobs_fli/__init__.py +0 -0
  71. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/pyobs_fli/flibase.py +0 -0
  72. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/pyobs_fli/flicamera.py +0 -0
  73. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/pyobs_fli/flidriver.pyx +0 -0
  74. {pyobs_fli-2.0.0.dev3 → pyobs_fli-2.0.0.dev5}/pyobs_fli/libfli.pxd +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyobs-fli
3
- Version: 2.0.0.dev3
3
+ Version: 2.0.0.dev5
4
4
  Summary: pyobs module for FLI cameras
5
5
  Author-Email: Tim-Oliver Husser <thusser@uni-goettingen.de>
6
6
  License-Expression: MIT
@@ -0,0 +1,54 @@
1
+ FLI module for *pyobs*
2
+ ======================
3
+
4
+ This is a [pyobs](https://www.pyobs.org) module for [FLI](http://www.flicamera.com/) cameras and filter wheels.
5
+
6
+ FLI kernel module
7
+ -----------------
8
+ The FLI kernel module needs to be installed on the system.
9
+
10
+
11
+ Install *pyobs-fli*
12
+ --------------------
13
+ Clone the repository:
14
+
15
+ git clone https://github.com/pyobs/pyobs-fli.git
16
+ cd pyobs-fli
17
+
18
+ Install it with [uv](https://docs.astral.sh/uv/):
19
+
20
+ uv sync
21
+
22
+ Alternatively, with plain `venv`/`pip`:
23
+
24
+ python3 -m venv .venv
25
+ source .venv/bin/activate
26
+ pip install .
27
+
28
+
29
+ Configuration
30
+ -------------
31
+ The *FliCamera* class is derived from *BaseCamera* (see *pyobs* documentation) and adds a single new parameter:
32
+
33
+ setpoint:
34
+ The initial setpoint in degrees Celsius for the cooling of the camera.
35
+
36
+ The class works fine with its default parameters, so a basic module configuration would look like this:
37
+
38
+ class: pyobs_fli.FliCamera
39
+ name: FLI camera
40
+ setpoint: -20.0
41
+
42
+ For cameras with an FLI filter wheel, use *FliFilterWheel*, which takes a list of filter names:
43
+
44
+ class: pyobs_fli.FliFilterWheel
45
+ name: FLI filter wheel
46
+ filter_names: [Red, Green, Blue, Clear, Halpha]
47
+
48
+
49
+ Dependencies
50
+ ------------
51
+ * [pyobs-core](https://github.com/pyobs/pyobs-core) for the core functionality.
52
+ * [Cython](https://cython.org/) for wrapping the FLI SDK.
53
+ * [Astropy](http://www.astropy.org/) for FITS file handling.
54
+ * [NumPy](http://www.numpy.org/) for array handling.
@@ -55,10 +55,17 @@ This is an example configuration, tested on a FLI 230PL::
55
55
  Available classes
56
56
  *****************
57
57
 
58
- There is one single class for FLI cameras.
58
+ There are two classes for FLI hardware: :class:`~pyobs_fli.FliCamera` for cameras, and
59
+ :class:`~pyobs_fli.FliFilterWheel` for filter wheels.
59
60
 
60
- AsiCamera
61
+ FliCamera
61
62
  =========
62
63
  .. autoclass:: pyobs_fli.FliCamera
63
64
  :members:
64
65
  :show-inheritance:
66
+
67
+ FliFilterWheel
68
+ ==============
69
+ .. autoclass:: pyobs_fli.FliFilterWheel
70
+ :members:
71
+ :show-inheritance:
@@ -4,7 +4,7 @@ from typing import Any
4
4
 
5
5
  import pyobs.utils.exceptions as exc
6
6
  from pyobs.events import FilterChangedEvent
7
- from pyobs.interfaces import IFilters, IFitsHeaderBefore, IReady
7
+ from pyobs.interfaces import FitsHeaderEntry, IFilters, IFitsHeaderBefore, IReady
8
8
  from pyobs.interfaces.IFilters import FiltersCapabilities, FilterState
9
9
  from pyobs.interfaces.IReady import ReadyState
10
10
  from pyobs.mixins import MotionStatusMixin
@@ -107,9 +107,9 @@ class FliFilterWheel(FliBaseMixin, Module, MotionStatusMixin, IFilters, IFitsHea
107
107
 
108
108
  async def get_fits_header_before(
109
109
  self, namespaces: list[str] | None = None, **kwargs: Any
110
- ) -> dict[str, tuple[Any, str]]:
110
+ ) -> dict[str, FitsHeaderEntry]:
111
111
  """Returns FITS header for the current status of this module."""
112
- return {"FILTER": (self._current_filter, "Current filter")}
112
+ return {"FILTER": FitsHeaderEntry(self._current_filter, "Current filter")}
113
113
 
114
114
 
115
115
  __all__ = ["FliFilterWheel"]
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "pyobs-fli"
3
- version = "2.0.0.dev3"
3
+ version = "2.0.0.dev5"
4
4
  description = "pyobs module for FLI cameras"
5
5
  authors = [{ name = "Tim-Oliver Husser", email = "thusser@uni-goettingen.de" }]
6
6
  requires-python = ">=3.11,<3.14"
@@ -1459,7 +1459,7 @@ wheels = [
1459
1459
 
1460
1460
  [[package]]
1461
1461
  name = "pyobs-core"
1462
- version = "2.0.0.dev6"
1462
+ version = "2.0.0.dev10"
1463
1463
  source = { registry = "https://pypi.org/simple" }
1464
1464
  dependencies = [
1465
1465
  { name = "aiohttp" },
@@ -1491,14 +1491,14 @@ dependencies = [
1491
1491
  { name = "tenacity" },
1492
1492
  { name = "typing-extensions" },
1493
1493
  ]
1494
- sdist = { url = "https://files.pythonhosted.org/packages/ca/1f/f3ff220ff8cc908198a130f98aacb2bd0c9963befd9d0757bcff13800f84/pyobs_core-2.0.0.dev6.tar.gz", hash = "sha256:ee8f98c4299064a2383666b349cf87af98f9c3de437048e8b56dcb2817e0024b", size = 299899, upload-time = "2026-06-30T17:39:36.203Z" }
1494
+ sdist = { url = "https://files.pythonhosted.org/packages/c5/c2/31820bea351b534161fbb333ec7787b9110e35157b3863c6397ac775704e/pyobs_core-2.0.0.dev10.tar.gz", hash = "sha256:e0066217fefc1d650d1d036bd53e76a303c3aef595a7f39032d2621072b255de", size = 299248, upload-time = "2026-07-02T09:52:13.516Z" }
1495
1495
  wheels = [
1496
- { url = "https://files.pythonhosted.org/packages/17/b6/3875a77f1206ef5d02d5ac43ae9fd90ba96be7857fe4308dfc0c599eec16/pyobs_core-2.0.0.dev6-py3-none-any.whl", hash = "sha256:542a78b069cac525cc72b9fc5fce8983629f8f0a240ff5ee722617886a8c9c13", size = 508486, upload-time = "2026-06-30T17:39:34.739Z" },
1496
+ { url = "https://files.pythonhosted.org/packages/7d/0e/eda36207832d29ac0597583a16bbb2e7831204f533bad3d750b6f6387363/pyobs_core-2.0.0.dev10-py3-none-any.whl", hash = "sha256:1138fdc3d88aa530e8e47e23d5bea0f0b181265687d9b29f3a5465087ff07a63", size = 507792, upload-time = "2026-07-02T09:52:11.955Z" },
1497
1497
  ]
1498
1498
 
1499
1499
  [[package]]
1500
1500
  name = "pyobs-fli"
1501
- version = "2.0.0.dev3"
1501
+ version = "2.0.0.dev5"
1502
1502
  source = { editable = "." }
1503
1503
  dependencies = [
1504
1504
  { name = "astropy" },
@@ -1,45 +0,0 @@
1
- FLI module for *pyobs*
2
- ======================
3
-
4
- FLI kernel module
5
- -----------------
6
- The FLI kernel module needs to be installed in the system.
7
-
8
-
9
- Install *pyobs-fli*
10
- -------------------
11
- Clone the repository:
12
-
13
- git clone https://github.com/pyobs/pyobs-fli.git
14
-
15
-
16
- Install dependencies:
17
-
18
- cd pyobs-fli
19
- pip3 install -r requirements
20
-
21
- And install it:
22
-
23
- python3 setup.py install
24
-
25
-
26
- Configuration
27
- -------------
28
- The *FliCamera* class is derived from *BaseCamera* (see *pyobs* documentation) and adds a single new parameter:
29
-
30
- setpoint:
31
- The initial setpoint in degrees Celsius for the cooling of the camera.
32
-
33
- The class works fine with its default parameters, so a basic module configuration would look like this:
34
-
35
- module:
36
- class: pyobs_fli.FliCamera
37
- name: FLI camera
38
-
39
- Dependencies
40
- ------------
41
- * **pyobs** for the core funcionality. It is not included in the *requirements.txt*, so needs to be installed
42
- separately.
43
- * [Cython](https://cython.org/) for wrapping the SBIG Universal Driver.
44
- * [Astropy](http://www.astropy.org/) for FITS file handling.
45
- * [NumPy](http://www.numpy.org/) for array handling.
File without changes