genicam
The official Python Binding for the GenICam GenApi & the GenTL Producers
What it is and what it does
genicam is the official Python binding for GenICam, a standardized interface for controlling industrial imaging devices and GenTL producers. It exposes two main submodules: genapi for reading and writing GenICam feature nodes from device description files (XML, ZIP, or string), and gentl for controlling GenTL Producer functionality. The package is a thin wrapper around the GenICam standard, allowing you to instantiate a NodeMap, load a device description, and then interact with device features by name—reading integer, boolean, enumeration, string, and command nodes.
The package has no runtime dependencies and ships as compiled wheels for multiple Python versions on Linux and Windows. It is maintained by the GenICam committee and marked Production/Stable, though the last release was 276 days ago and maintenance status is aging. The gentl submodule is not yet documented, suggesting partial feature completeness.
Use it for:
- Control industrial cameras and imaging devices that expose GenICam feature nodes via XML device description files.
- Read and write device parameters by name without manual protocol handling.
- Automate device configuration in machine vision and scientific imaging workflows.
- Integrate GenICam-compliant hardware into Python-based automation or data acquisition pipelines.
- Parse and validate GenICam device descriptions packaged as XML or ZIP archives.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides Python bindings to GenICam, enabling control of GenICam-compliant devices and GenTL producers through the genapi and gentl submodules.
Yes, if you are working with GenICam-compliant industrial imaging hardware and need a Python interface. The package is official, stable, and dependency-free. However, verify that your device ships with a GenICam description file and that the gentl submodule meets your needs (it is not yet documented). The unclear license and aging maintenance warrant review before use in commercial or redistributed projects.
Install
genicam on PyPI
pip
pip install genicamuv
uv add genicampoetry
poetry add genicamInstalling genicam
Before you install
Medium install friction due to compiled wheels for multiple Python versions and architectures. No runtime dependencies simplifies the environment. Last release 276 days ago; maintenance status is aging.
License in practice
Licensed under 'The GenICam License Version 1.6' with unclear treatment—not an SPDX-recognized open-source license. Review the license terms before use in proprietary or redistributed projects.
Quickstart
from genicam.genapi import NodeMap
node_map = NodeMap()
node_map.load_xml_from_file('device_description.xml')
node_map.Foo.value = 42
Requires a GenICam-compliant device or a valid device description XML file to be useful; the module itself is a binding layer with no built-in test data.
Verify before relying
- Whether gentl submodule is fully implemented or still under development (description notes '[TO BE DOCUMENTED]').
- Specific Python version support; requires_python is unspecified in metadata.
- Whether the package works on macOS despite it being listed in classifiers.
Package facts
| License | The GenICam License Version 1.6 (unclear) |
| Python support | not specified |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | none |
| Maintenance | aging — 276 days since the last release |
| First released | |
| Downloads | 97,020/month — #13,181 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: genicam-1.5.1-cp310-cp310-manylinux2014_aarch64.whl; genicam-1.5.1-cp310-cp310-manylinux2014_armv7l.whl; genicam-1.5.1-cp310-cp310-manylinux2014_x86_64.whl; genicam-1.5.1-cp310-cp310-win_amd64.whl; genicam-1.5.1-cp311-cp311-manylinux2014_aarch64.whl; genicam-1.5.1-cp311-cp311-manylinux2014_armv7l.whl; genicam-1.5.1-cp311-cp311-manylinux2014_x86_64.whl; genicam-1.5.1-cp311-cp311-win_amd64.whl; genicam-1.5.1-cp312-cp312-manylinux2014_aarch64.whl; genicam-1.5.1-cp312-cp312-manylinux2014_armv7l.whl; genicam-1.5.1-cp312-cp312-manylinux2014_x86_64.whl; genicam-1.5.1-cp312-cp312-win_amd64.whl; genicam-1.5.1-cp313-cp313-manylinux2014_aarch64.whl; genicam-1.5.1-cp313-cp313-manylinux2014_armv7l.whl; genicam-1.5.1-cp313-cp313-manylinux2014_x86_64.whl; genicam-1.5.1-cp313-cp313-win_amd64.whl; genicam-1.5.1-cp314-cp314-manylinux2014_aarch64.whl; genicam-1.5.1-cp314-cp314-manylinux2014_armv7l.whl; genicam-1.5.1-cp314-cp314-manylinux2014_x86_64.whl; genicam-1.5.1-cp314-cp314-win_amd64.whl
Tags
More Scientific/Engineering packages
NumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
pandaspandas provides fast, flexible data structures…
permissive · top 100 on PyPI
scipyscipy provides numerical algorithms for…
permissive · top 100 on PyPI
scikit-learnscikit-learn provides a comprehensive Python…
permissive · top 1,000 on PyPI
dilldill extends Python's pickle module to…
permissive · top 1,000 on PyPI
multiprocessMultiprocess is an enhanced fork of Python's…
permissive · top 1,000 on PyPI
harvestersHarvester simplifies image acquisition from…
permissive · top 15,000 on PyPI
pypylonpypylon is the official Python binding for…
unclear · top 15,000 on PyPI
embreexembreex provides Python bindings to Intel's…
unclear · top 5,000 on PyPI
tinytuyaControls and monitors Tuya WiFi smart devices…
permissive · top 15,000 on PyPI
pyadi-iiopyadi-iio provides Python classes that wrap…
permissive · top 15,000 on PyPI
zopfliZopfli is a Python binding for Google's Zopfli…
permissive · top 1,000 on PyPI
wiimwiim provides a Python API to discover,…
permissive · top 15,000 on PyPI
pydantic-xmlPydantic-xml adds XML serialization and…
permissive · top 5,000 on PyPI
opentelemetry-instrumentation-litellmAdds OpenTelemetry tracing to LiteLLM,…
permissive · top 15,000 on PyPI
sphinx-sitemapGenerates sitemaps.org-compliant XML sitemaps…
permissive · top 15,000 on PyPI