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)
with vg.connect_gige(cams[0]) as cam: # control is given back at the end
print(cam.get("DeviceModelName"))
cam.set_exposure_time(10_000.0)
with cam.stream() as frames:
for frame in frames:
arr = frame.to_numpy() # (H, W) uint16 for a 12-bit camera, ...
print(frame.width, frame.height, frame.pixel_format)
break
Cameras and frames work from any thread, and calls that wait on the camera
release the GIL. viva_genicam.testing.FakeGigeCamera is a camera in the same
process, for tests and demos without hardware.
See the documentation for the full API.
Build from source
See CONTRIBUTING.md in the repository.
Licensing
MIT. USB3 Vision support is pure Rust (nusb), so the wheel links no C USB library.
Metadata
Release files for viva-genicam 0.9.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.9.0.tar.gz | 802.0 kB | Details |
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| viva_genicam-0.9.0-cp310-abi3-win_amd64.whl | CPython 3.10 | abi3 | Windows x86-64 | Details |
| viva_genicam-0.9.0-cp310-abi3-manylinux_2_28_x86_64.whl | CPython 3.10 | abi3 | Linux glibc 2.28+ x86-64 | Details |
| viva_genicam-0.9.0-cp310-abi3-macosx_11_0_arm64.whl | CPython 3.10 | abi3 | macOS 11.0+ ARM64 | Details |
Total release size: 11.3 MB
Release files / viva_genicam-0.9.0.tar.gz
| Download URL | viva_genicam-0.9.0.tar.gz |
|---|---|
| Size | 802.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
10cd31b88c37bc343bc43241e18ac36b39d9c3f7055c97971464661d03f3f02f
|
|
BLAKE2b-256 checksum How to use checksums |
6a89ff7a89c7b61725da51b008c4bfe2daf8ee5604980d12fba25074812f2aae
|
| 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 Oct 13, 2026.
Transparency logRelease files / viva_genicam-0.9.0-cp310-abi3-win_amd64.whl
| Download URL | viva_genicam-0.9.0-cp310-abi3-win_amd64.whl |
|---|---|
| Size | 3.3 MB |
| Tags | CPython 3.10 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
d02415caa03d3ed36efbfd4e12398fc984a5ed35a5401974217bc7d8c77c40c9
|
|
BLAKE2b-256 checksum How to use checksums |
74999c3af145a4dab68fdf11509a2bacdae4ed7728d2821fdb54b520ab6b6585
|
| 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 Oct 13, 2026.
Transparency logRelease files / viva_genicam-0.9.0-cp310-abi3-manylinux_2_28_x86_64.whl
| Download URL | viva_genicam-0.9.0-cp310-abi3-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 3.8 MB |
| Tags | CPython 3.10 Linux glibc 2.28+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
9adb6e6a8c950c8f7d6d3eb30958b648fe0c72262a726cbf9732a9fa33ef308b
|
|
BLAKE2b-256 checksum How to use checksums |
799b39ac22707a455836822466d81a3e105604548844dd98287a69dd6e69729d
|
| 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 Oct 13, 2026.
Transparency logRelease files / viva_genicam-0.9.0-cp310-abi3-macosx_11_0_arm64.whl
| Download URL | viva_genicam-0.9.0-cp310-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 3.4 MB |
| Tags | CPython 3.10 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
bee4b89118d3e18a7f13827877aa97be68de9397567eddd4e15c1ba53550422d
|
|
BLAKE2b-256 checksum How to use checksums |
8ba2600fb50506d3fe4d21610074ce56b82032f84a83cc9437e30b30aafec435
|
| 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 Oct 13, 2026.
Transparency log