Skip to main content

Project Title

Python package DOI PyPI - Version

PyPTV or otherwise called OpenPTV-Python is the Python GUI for OpenPTV. It is based on traits, traitsui, chaco, enable and pyface from Enthought Inc. and provides an UI interface the OpenPTV library that includes all the core algorithms (correspondence, tracking, calibration, etc.) written in ANSI C and has Python bindings using Cython.

Both PyPTV and the OpenPTV library are in the development phase and continuously refactored. Please follow the development on the community mailing list:

openptv@googlegroups.com

Documentation:

👉 View full documentation at https://alexlib.github.io/pyptv

http://openptv-python.readthedocs.io

Installation instructions

Using uv (recommended for development)

This project uses uv for fast dependency management. A local wheel of optv>=0.3.2 is included in the wheels/ directory until it's available on PyPI.

# Install uv if you haven't already
curl -LsSf https://astral.sh/uv/install.sh | sh

# Create virtual environment and install dependencies
uv sync

# Or to create environment from scratch
rm -rf .venv && uv sync

The uv.toml configuration automatically uses the local wheel from wheels/. The uv.lock file pins all dependencies for reproducible builds.

Using pip

Short version:

pip install numpy
python -m pip install pyptv --index-url https://pypi.fury.io/pyptv --extra-index-url https://pypi.org/simple

Note: If optv>=0.3.2 is not yet available on PyPI, install it from the local wheel first:

pip install wheels/optv-0.3.2-*.whl
python -m pip install pyptv --index-url https://pypi.fury.io/pyptv --extra-index-url https://pypi.org/simple

Detailed instructions for various platforms are in our documentation: https://openptv-python.readthedocs.io/en/latest/installation_instruction.html

Follow the instructions in our screencasts and tutorials:

Ask for help on our mailing list:

openptv@googlegroups.com

Working with plugins

Plugins is a system of extensions to PyPTV without the need to change the GUI

  1. copy the sequence_plugins.txt and tracking_plugins.txt to the working folder
  2. copy the plugins/ directory to the working folder
  3. modify the code so it performs instead of the default sequence or default tracker
  4. Open the GUI and Plugins -> Choose , then run the rest: Init -> Sequence

Note, the specific branch plugin_remback requires installation of the pip install rembg[cpu] or pip install rembg[gpu]

Developers:

Version Management:

  • Bump version: python bump_version.py --patch

Publishing to PyPI:

  • See DEPLOYMENT.md for comprehensive deployment instructions using GitHub Actions and trusted publishing

Legacy Manual Publishing:

pip install build
python -m build
pip install dist/pyptv-*.whl  # Install the built wheel
pip install twine
python -m twine upload dist/*

Compatibility Notes

NumPy Compatibility

  • Supported NumPy versions: >=2.0.0,<2.7
  • NumPy 2.x required for optv 0.3.2+
  • Tested with NumPy arrays in both float64 and uint8 formats
  • Array operations maintained for image processing and coordinate transformations
  • NumPy 2.x support requires chaco>=6.1.0 and enable>=6.1.0

OpenPTV (optv) Compatibility

  • Compatible with optv 0.3.2+
  • optv 0.3.2+ requires NumPy >=2.0.0
  • Core functionality tested with latest optv release
  • Calibration and tracking functions verified

Development Setup

For development work with latest NumPy:

conda create -n pyptv python=3.11
conda activate pyptv
conda install numpy>=1.23.5 optv>=0.3.0
pip install -e .

Marimo UIs (uv)

This repo includes Marimo-based interactive UIs.

Run the Detection UI:

uv pip install marimo
uv run marimo run pyptv/marimo_ui_detection.py

Or use the helper script:

./run_marimo_detection.sh

Run the Parameters UI:

uv pip install marimo
uv run marimo run pyptv/marimo_ui_parameters.py

Or use the helper script:

./run_marimo_parameters.sh

This is a detailed description of the project...

Metadata

Release files for pyptv 0.4.3

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

Source distribution (sdist)

Source distribution for pyptv 0.4.3
File Size Uploaded
pyptv-0.4.3.tar.gz 74.4 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyptv 0.4.3
File Interpreter ABI Platform
pyptv-0.4.3-py3-none-any.whl Python 3 none any Details

Total release size: 74.6 MB

Release files / pyptv-0.4.3.tar.gz

Download URL pyptv-0.4.3.tar.gz
Size 74.4 MB
Tags Source
SHA-256 checksum
How to use checksums
ee0b8c4281f59e36367ecc8de1b4eb0b91b496ec51b817e302c43368660fab90
BLAKE2b-256 checksum
How to use checksums
b685a0a792bc018a42050b037a164eac8ae033a28f3d44d735b96e43e8d97bd6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 13, 2026.

Transparency log

Release files / pyptv-0.4.3-py3-none-any.whl

Download URL pyptv-0.4.3-py3-none-any.whl
Size 151.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e4cbc3a455ac863e58d8397a17514fdf79304aa8330de07aa4c8a11414eca9cf
BLAKE2b-256 checksum
How to use checksums
90f9aecace95de8562874464a1b830fca1e36d88fdd4dcd2ad19dc945d32a4cf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 13, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.4.3 This release

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

1 release file

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.0

2 release files

0.2.9

2 release files

0.2.8

1 release file

0.2.7

1 release file

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

1 release file

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