Metadata-Version: 2.4
Name: viva-genicam
Version: 0.2.5
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Rust
Classifier: Topic :: Multimedia :: Graphics :: Capture
Classifier: Topic :: Scientific/Engineering :: Image Processing
Requires-Dist: numpy>=1.23
Requires-Dist: pytest>=7 ; extra == 'dev'
Requires-Dist: maturin>=1.7 ; extra == 'dev'
Provides-Extra: dev
Summary: Pure-Rust GenICam stack for Python: discover, control, and stream GigE Vision / USB3 Vision cameras
Keywords: genicam,gige,usb3-vision,camera,vision
Home-Page: https://github.com/VitalyVorobyev/viva-genicam
Author: Vitaly Vorobyev
License: MIT
Requires-Python: >=3.9
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Documentation, https://vitalyvorobyev.github.io/viva-genicam/
Project-URL: Homepage, https://github.com/VitalyVorobyev/viva-genicam
Project-URL: Repository, https://github.com/VitalyVorobyev/viva-genicam

# 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.

```bash
pip install viva-genicam
```

```python
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](https://vitalyvorobyev.github.io/viva-genicam/python.html) for the full API.

## Build from source

```bash
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
```

