viva-genicam (Python)
Pure-Rust GenICam stack with Python bindings. Discover, control, and stream GigE Vision and USB3 Vision cameras from Python — no aravis, no C toolchain, just a wheel.
pip install viva-genicam
The install also provides viva-camctl, the diagnostic CLI, so
viva-camctl report --ip <CAMERA-IP> --out viva-report.txt works without a Rust
toolchain. It is the right thing to attach to a bug report.
import viva_genicam as vg
cams = vg.discover(timeout_ms=500)
cam = vg.connect_gige(cams[0])
print(cam.get("DeviceModelName"))
cam.set_exposure_time_us(10_000.0)
with cam.stream() as frames:
for frame in frames:
arr = frame.to_numpy() # NumPy (H, W) or (H, W, 3) uint8
print(frame.width, frame.height, frame.pixel_format)
break
See the documentation for the full API.
Build from source
uv venv .venv
uv pip install --python .venv/bin/python maturin numpy pytest
uv run --python .venv/bin/python maturin develop -m crates/viva-pygenicam/Cargo.toml
Licensing
The viva-genicam code is MIT-licensed. The binary wheel additionally
statically links libusb (LGPL-2.1-or-later) for
USB3 Vision support, so the package license is
MIT AND LGPL-2.1-or-later. See THIRD-PARTY-NOTICES.md (shipped in the
wheel and sdist) for details, including how to rebuild the native module
against a modified or system libusb per LGPL §6.
Metadata
Release files for viva-genicam 0.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| viva_genicam-0.6.0.tar.gz | 400.6 kB | Details |
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| viva_genicam-0.6.0-cp39-abi3-win_amd64.whl | CPython 3.9 | abi3 | Windows x86-64 | Details |
| viva_genicam-0.6.0-cp39-abi3-manylinux_2_28_x86_64.whl | CPython 3.9 | abi3 | Linux glibc 2.28+ x86-64 | Details |
| viva_genicam-0.6.0-cp39-abi3-macosx_11_0_arm64.whl | CPython 3.9 | abi3 | macOS 11.0+ ARM64 | Details |
Total release size: 7.7 MB
Release files / viva_genicam-0.6.0.tar.gz
| Download URL | viva_genicam-0.6.0.tar.gz |
|---|---|
| Size | 400.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1df64695d2734f4851e6a0830029c97fa830858a0e0eedafc5b75cbfd413ffef
|
|
BLAKE2b-256 checksum How to use checksums |
9e9a3f79c46444f4d0b13193dac5e8ba0d7b3f1703f33940c3cd97a8b9d9499c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency logRelease files / viva_genicam-0.6.0-cp39-abi3-win_amd64.whl
| Download URL | viva_genicam-0.6.0-cp39-abi3-win_amd64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.9 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
c0cd50bb9b325cfa5865490d29e5eea595db641ca1614cc178538b674328d648
|
|
BLAKE2b-256 checksum How to use checksums |
d1fe16d2e6c42801f09afbf78effd8d212ba792f2e5e57da95ff3f0b361c83d2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency logRelease files / viva_genicam-0.6.0-cp39-abi3-manylinux_2_28_x86_64.whl
| Download URL | viva_genicam-0.6.0-cp39-abi3-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.6 MB |
| Tags | CPython 3.9 Linux glibc 2.28+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
cda133c490f3724d416fbab08e75b5a7a08b09fa2d91366ae80a1e4877e82f06
|
|
BLAKE2b-256 checksum How to use checksums |
5a2072bddcd653cac717d498fcef948f31d7a97c14a9b5098618526210dbcccc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency logRelease files / viva_genicam-0.6.0-cp39-abi3-macosx_11_0_arm64.whl
| Download URL | viva_genicam-0.6.0-cp39-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 2.4 MB |
| Tags | CPython 3.9 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
b8ee9ba7b63a8a68088c8e3ae3fb9a8a733f8b3f51795301e6ce79b26a957fdf
|
|
BLAKE2b-256 checksum How to use checksums |
a198e967320e013847f0e775a6087280fa6ec18b83ed8e810d6f32425156dc8c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency log