Skip to main content
https://img.shields.io/pypi/v/pupil-labs-uvc.svg https://img.shields.io/pypi/pyversions/pupil-labs-uvc.svg tests Code style: Black https://img.shields.io/badge/skeleton-2022-informational

pyuvc

Python bindings for the Pupil Labs fork of libuvc with super fast jpeg decompression using libjpegturbo (utilizing the tubojpeg api).

  • cross platform access to UVC capture devices.

  • Full access to all uvc settings (Zoom,Focus,Brightness,etc.)

  • Full access to all stream and format parameters (rates,sizes,etc.)

  • Enumerate all capture devices with device_list()

  • Capture instance will always grab mjpeg conpressed frames from cameras.

Image data is returned as Frame object. This object will decompress and convert on the fly when image data is requested. This gives the user the full flexiblity: Grab just the jpeg buffers or have them converted to YUV or Gray or RGB and only when you need.

The Frame class has caching build in to avoid double decompression or conversion.

Install via PyPI

pip install pupil-labs-uvc

Example

See examples/ for code examples.

Install from source

pyuvc requires the following dependencies:

Once the dependencies are installed, you can pip install the source tree:

git clone https://github.com/pupil-labs/pyuvc --recursive
export FORCE_LOCAL_LIBUVC_BUILD=ON
pip install ./pyuvc

Linux

Ubuntu/Debian:

apt-get update -y
apt-get install -y libusb-1.0-0-dev libturbojpeg-dev

Running as a non-root user

One needs to setup udev rules and add the target user to the plugdev group to avoid the privileged access requirement.

echo 'SUBSYSTEM=="usb",  ENV{DEVTYPE}=="usb_device", GROUP="plugdev", MODE="0664"' | sudo tee /etc/udev/rules.d/10-libuvc.rules > /dev/null
sudo udevadm trigger
sudo usermod -a -G plugdev $USER
# logout and back in

macOS

Homebrew:

brew update
brew install libusb jpeg-turbo

Running as a non-root user

Unfortunately, this is currently not possible. See this libusb issue thread for details.

WINDOWS

Run the following code in a powershell to install the dependencies (requires 7z to be installed)

pip install build delvewheel
git clone https://github.com/pupil-labs/pyuvc --recursive
cd pyuvc
scripts/download-deps-win.ps1 -DEPS_TMP_PATH tmp
$Env:DEPS_PATHS_LOC = "tmp/dep_paths.json"
python -m build -w   # will create a wheel in dist/ folder; insert the wheel path below
python scripts/repair-wheels-win.py $Env:DEPS_PATHS_LOC <wheel location> wheelhouse
pip install wheelhouse/<wheel name>

Manual driver installation

pyuvc requires the libUSBk driver to be installed for your corresponding camera. Otherwise, metadata like the product name will be set to "unknown".

Please see these instructions on how to manually install libUSBk drivers for your specific camera.

Release files for pupil-labs-uvc 1.0.5

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

Built distributions (wheels)

Table of built distributions (wheels) for pupil-labs-uvc 1.0.5
File
pupil_labs_uvc-1.0.5-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
pupil_labs_uvc-1.0.5-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
pupil_labs_uvc-1.0.5-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
pupil_labs_uvc-1.0.5-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
pupil_labs_uvc-1.0.5-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
pupil_labs_uvc-1.0.5-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details

Total release size: 5.9 MB

Release files / pupil_labs_uvc-1.0.5-cp313-cp313-win_amd64.whl

Download URL pupil_labs_uvc-1.0.5-cp313-cp313-win_amd64.whl
Size 975.8 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
5e92350ee5ea738288c5146fe6180b6ea8aab3b524515b14ce3f16a7b1d21927
BLAKE2b-256 checksum
How to use checksums
7f8dd237687eec23c2fc941ba3ba91e7d30d491bdcef11ee5d7cdb1475af34e9
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 25, 2026.

Transparency log

Release files / pupil_labs_uvc-1.0.5-cp312-cp312-win_amd64.whl

Download URL pupil_labs_uvc-1.0.5-cp312-cp312-win_amd64.whl
Size 976.2 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
1fb4931a9655e130cfa3674a82c5a859b1774223cdb48beafd82300612349431
BLAKE2b-256 checksum
How to use checksums
e352dab093df2518fa1a402923e1a31455f6371cae7f61ca71c5c161787ae462
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 25, 2026.

Transparency log

Release files / pupil_labs_uvc-1.0.5-cp311-cp311-win_amd64.whl

Download URL pupil_labs_uvc-1.0.5-cp311-cp311-win_amd64.whl
Size 981.1 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
e7b060b0800c867e51a5b9b910392869c04f39c9c74e2f21bfce5a29c5f90a74
BLAKE2b-256 checksum
How to use checksums
dcf10cb74d490bbb32e210823b0f33eeabac23893878b3cff6e4742c61a2fd91
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 25, 2026.

Transparency log

Release files / pupil_labs_uvc-1.0.5-cp310-cp310-win_amd64.whl

Download URL pupil_labs_uvc-1.0.5-cp310-cp310-win_amd64.whl
Size 981.5 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
9d5abbbc35d170b7c02c532a8d80897c7620d1d0bf0a24d77c7c88d9fb9533f7
BLAKE2b-256 checksum
How to use checksums
c1e12664a1b08aaff9fe5caeea4c2d280c0a3b22d60bd580e676b4cf4dbb848b
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 25, 2026.

Transparency log

Release files / pupil_labs_uvc-1.0.5-cp39-cp39-win_amd64.whl

Download URL pupil_labs_uvc-1.0.5-cp39-cp39-win_amd64.whl
Size 982.7 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
e46b041a7ece2d604a46564d692bb0840b8be961107c83156f43d6d5fb310508
BLAKE2b-256 checksum
How to use checksums
084b6a208ca20258a61abbe98fdab34f57cf1d80176e0f7e52e36d84eac5cad6
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 25, 2026.

Transparency log

Release files / pupil_labs_uvc-1.0.5-cp38-cp38-win_amd64.whl

Download URL pupil_labs_uvc-1.0.5-cp38-cp38-win_amd64.whl
Size 974.6 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
7c4d4260c12f3cd917ef8afb2286e246c1c463f5e6be7aff574bc2c604074f11
BLAKE2b-256 checksum
How to use checksums
d307ab685b7bb0610e0d7bf3f4c143969baafbf353405876e3b38d233189779f
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 25, 2026.

Transparency log
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