This is a pyobs module for cameras supported by the Aravis library (GenICam/GigE Vision/USB3 Vision cameras).
Aravis and its GObject introspection bindings are not pip-installable, so they need to be installed via your system's package manager before installing pyobs-aravis.
On Debian/Ubuntu:
sudo apt-get install python3-gi python3-gi-cairo gir1.2-aravis-0.8
This provides:
- Aravis itself, together with its GObject introspection typelib (
gir1.2-aravis-0.8). - PyGObject (
python3-gi,python3-gi-cairo), thegimodule used to access Aravis from Python.
Since these packages are installed system-wide, your virtual environment needs access to the system
site-packages so it can find the gi module.
Clone the repository:
git clone https://github.com/pyobs/pyobs-aravis.git
cd pyobs-aravis
Create a virtual environment with access to the system site-packages and install the package with uv:
uv venv --system-site-packages
uv sync
Alternatively, with plain venv/pip:
python3 -m venv --system-site-packages .venv
source .venv/bin/activate
pip install .
For testing a camera without a full pyobs setup, install the optional gui extra:
uv sync --system-site-packages --extra gui
and run:
uv run aravis-gui
- pyobs-core for the core functionality.
- numpy for handling image data.
- Aravis and PyGObject for accessing the camera, installed via the system's package manager (see above).