Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

HEXFELLOW CAMERA DRIVER

DOI       


📖 Overview

What is hex_driver_camera

hex_driver_camera is a Python library for managing RGB and RGB-D cameras with a unified interface. It supports dummy cameras (for testing), USB cameras, Intel RealSense, and Berxel depth cameras. The library runs each camera in a background thread, buffers frames in a deque, and provides simple get_color_img/get_depth_img APIs. A callback variant is also available for each camera type.

What problem it solves

  • Unified camera interface: Use the same API for dummy, USB, RealSense, and Berxel cameras.
  • Background acquisition: Each camera runs in its own daemon thread; the main thread only reads the latest frame when needed.
  • Two usage patterns: Poll frames via get_color_img/get_depth_img (deque mode), or register callbacks that fire on every new frame (callback mode).
  • Optional‑dependency handling: RealSense and Berxel support are extra dependencies; the core works without them.

Target users

  • Developers who need a simple, consistent way to capture from multiple camera types.
  • Robotics researchers prototyping vision pipelines with real or simulated cameras.
  • Anyone who wants to switch between a dummy camera (for testing) and a real camera without changing client code.

📦 Installation

Requirements

  • Python ≥ 3.10
  • OS: Linux (macOS/Windows may work for USB cameras but are less tested)
  • Core dependencies:
    • hex_util_runtime ≥ 0.0.0, < 0.1.0
    • opencv-python ≥ 4.10.0

Optional device support (install via extras):

Extra Purpose
berxel Berxel RGB‑D: berxel_py_wrapper ≥ 2.0.182
realsense Intel RealSense RGB‑D: pyrealsense2 ≥ 2.56.5.9235
all berxel + realsense (all optional cameras)

Install from PyPI

For those who don't need examples, you can install the package from PyPI.

  • Full install: includes all optional cameras (Berxel, RealSense)

    pip install hex_driver_camera[all]
    
  • Core install: only the core package (dummy + USB cameras)

    pip install hex_driver_camera
    
  • Install with a specific extra (e.g., only RealSense):

    pip install hex_driver_camera[realsense]
    

Install from Source

For those who need examples, you can install the package from source code with examples.

Note: We use uv to manage the Python environment. Please install it first.

  1. Clone and install in editable mode. The venv.sh script expects uv.

    git clone https://github.com/hexfellow/hex_driver_camera.git
    cd hex_driver_camera
    ./venv.sh
    
    • ./venv.sh — creates .venv, installs hex_driver_camera with [all] and example dependencies.
    • ./venv.sh --min — installs the core package only (no optional camera extras). Some examples will not run.
    • ./venv.sh --pkg-only — installs the package only, skips example-related dependencies.
  2. Activate before running examples:

    source .venv/bin/activate
    

📑 API

See API for details of all camera classes and parameters.

💡 Example

See Example for usage examples of each camera type.

📚 Citation

If you want to cite this project in your work, you can use the following BibTeX entry:

@software{hex_driver_camera,
  author    = {Dong, Zhaorui and Chen, Zejun},
  title     = {Hex Driver Camera: A Unified Python Camera Driver Library},
  year      = {2025},
  publisher = {Zenodo},
  version   = {v0.1.0},
  doi       = {10.5281/zenodo.18309954},
  url       = {https://doi.org/10.5281/zenodo.18309954}
}

📄 License

Apache License 2.0. See LICENSE.

🌟 Star History

Star History Chart

👥 Contributors

Metadata

Release files for hex-driver-camera 0.1.1a2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hex-driver-camera 0.1.1a2
File Size Uploaded
hex_driver_camera-0.1.1a2.tar.gz 16.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for hex-driver-camera 0.1.1a2
File Interpreter ABI Platform
hex_driver_camera-0.1.1a2-py3-none-any.whl Python 3 none any Details

Total release size: 34.4 kB

Release files / hex_driver_camera-0.1.1a2.tar.gz

Download URL hex_driver_camera-0.1.1a2.tar.gz
Size 16.0 kB
Tags Source
SHA-256 checksum
How to use checksums
99de538b5b33d17dab343120151beba1c452a0f30d1b07635c3ddbe81c80d78d
BLAKE2b-256 checksum
How to use checksums
a0dd331de27c2d693b64c99593abc35923a1a8c5fc8576135302c8845d460a77
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.12

Release files / hex_driver_camera-0.1.1a2-py3-none-any.whl

Download URL hex_driver_camera-0.1.1a2-py3-none-any.whl
Size 18.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
839a8b3a444a0abba6c3acb4138fdfa944e21ef387469216b9b2da56f3fa54de
BLAKE2b-256 checksum
How to use checksums
a208e99ab72d5885ea04025faa8c0e5feb721e73376f81cb0a4ab4c5b4a1a737
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.12
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page