Skip to main content

High-performance Cython implementations of SOTA multi-object trackers

Project description

PyxTrackers

High-performance Cython implementations of state-of-the-art multi-object tracking algorithms.

PyxTrackers provides drop-in replacements for three widely used MOT trackers, reimplemented in Cython for significant speedups while maintaining numerical equivalence with the original Python implementations.

Supported Trackers

Tracker Our Speedup Description Paper GitHub
SORT 70x Simple Online and Realtime Tracking Bewley et al., 2016 abewley/sort
ByteTrack 30x Multi-Object Tracking by Associating Every Detection Box Zhang et al., 2022 FoundationVision/ByteTrack
OC-SORT 45x Observation-Centric SORT Cao et al., 2023 noahcao/OC_SORT

Performance

The plots below were generated by running pytest --visualize, which benchmarks all three trackers across a range of detection counts and records throughput (frames per second) for both the Python reference and Cython implementations (through import or cli).

Tracker throughput: Python vs Cython Throughput — frames processed per second as average detections per frame. Dashed lines are the original Python implementations; solid lines are the Cython reimplementations.

Cython speedup over Python Speedup — ratio of Python time to Cython time (higher = faster).

Installation

From PyPI

pip install pyxtrackers

From source

git clone https://github.com/chanwutk/pyxtrackers.git
cd pyxtrackers
pip install -e .

Requirements

  • Python >= 3.10
  • NumPy >= 1.22 (Python 3.10–3.11), >= 1.26 (Python 3.12), >= 2.1 (Python 3.13+)
  • A C/C++ compiler (gcc, clang, or MSVC)
  • Cython >= 3.0 (build-time only)

Quick Start

import numpy as np
from pyxtrackers import Sort, BYTETracker, OCSort

# --- SORT ---
tracker = Sort(max_age=30, min_hits=3, iou_threshold=0.3)

# Detections: [[x1, y1, x2, y2, score], ...]
detections = np.array([
    [100, 100, 200, 200, 0.9],
    [300, 300, 400, 400, 0.8],
], dtype=np.float64)

# Returns: [[x1, y1, x2, y2, track_id], ...]
tracked = tracker.update(detections)

# --- ByteTrack ---
tracker = BYTETracker(track_thresh=0.5, match_thresh=0.8, track_buffer=30)
tracked = tracker.update(detections)
# Returns: [[x1, y1, x2, y2, track_id], ...]

# --- OC-SORT ---
tracker = OCSort(det_thresh=0.3)
tracked = tracker.update(detections)
# Returns: [[x1, y1, x2, y2, track_id], ...]

All three trackers share the same interface: configuration in the constructor, only detections in update().

How It Works

Each tracker is reimplemented in Cython using:

  • C structs instead of Python classes for track state (zero Python object overhead)
  • nogil sections for GIL-free computation in hot paths
  • cdef functions for C-only internal calls with no Python dispatch overhead
  • Vendored LAPJV C++ solver for linear assignment (https://github.com/gatagat/lap)
  • Customized Kalman filter with fixed state space.

Kalman filter predict/update cycles, IOU computation, and the Hungarian algorithm all run at C speed.

Compiler Optimization Flags

setup.py selects compiler flags based on the platform, compiler, and build context. The table below shows exactly what is applied in each scenario:

Scenario Base flags Arch-specific flags C++ standard
Linux / macOS x86_64 (source install) -O3 -ffast-math -march=native -mtune=native -std=c++11
macOS ARM (source install) -O3 -ffast-math -mcpu=apple-m1 -std=c++11
macOS universal2 Python -O3 -ffast-math (none) -std=c++11
Pre-built wheels (cibuildwheel / conda) -O3 -ffast-math (none) -std=c++11
Pre-built wheels, macOS ARM -O3 -ffast-math -mcpu=apple-m1 -std=c++11
Windows (MSVC) /O2 /fp:fast (none) /std:c++14

Key details:

  • -march=native tunes the binary for the exact CPU it's compiled on. Only used for source installs — pre-built wheels omit it so they run on any CPU of that architecture.
  • -mcpu=apple-m1 is the Apple ARM equivalent. Apple Clang doesn't support -march=native on ARM, so we target the M1 baseline (compatible with all M-series chips).
  • Universal2 Python (CFLAGS contain both -arch arm64 and -arch x86_64) gets no arch-specific flags because the compiler runs for both architectures in one pass.
  • -ffast-math / /fp:fast allows the compiler to reorder floating-point operations for speed. This is appropriate here because tracking algorithms likely not require strict IEEE 754 compliance.
  • Portable vs. source builds are auto-detected via the CIBUILDWHEEL and CONDA_BUILD environment variables.

We welcome discussion on flag choices — if you have suggestions or concerns about specific flags (e.g., -ffast-math behavior, architecture targets), please open an issue.

Idea: Different installation flags for different optimization option. For example, pip install pyxtrackers[mcpu-apple-m1]

Project Structure

pyxtrackers/           # Installable Cython package
  sort/                # SORT tracker
  bytetrack/           # ByteTrack tracker
  ocsort/              # OC-SORT tracker
  cli.pyx              # Cython stdin/stdout CLI for cross-language interop
  cli_launcher.py      # Python launcher for PyInstaller entrypoint
references/            # Pure Python reference implementations (for testing)
tests/                 # Comparison tests verifying numerical equivalence
vendor/lapjv/          # Vendored C++ linear assignment solver

Development

# Setup
python -m venv .venv
source .venv/bin/activate      # Linux/macOS
# .venv\Scripts\activate       # Windows
pip install -e ".[dev]"

# After editing .py files  → no action needed, changes take effect immediately
# After editing .pyx files → rebuild the changed extensions:
python setup.py build_ext --inplace

# Run tests
pytest tests/ -v

Testing

Tests run both the Cython and Python reference implementations on identical detection sequences and verify numerical equivalence within 1e-6 pixel tolerance.

pytest                                          # All tests (skips binary-CLI tests)
pytest tests/ -v --cli-binary dist/pyxtrackers  # Include binary-CLI tests

--cli-binary takes the path to a PyInstaller-built binary. Build it first with pyinstaller pyxtrackers.spec, then pass the resulting dist/pyxtrackers (or dist/pyxtrackers.exe on Windows).

Interoperable (CLI)

PyxTrackers includes a stdin/stdout CLI that lets any language invoke tracking via pipes. After installation, the pyxtrackers command is available.

Usage

pyxtrackers <tracker> [options]

The process reads one line per frame from stdin, runs the tracker, and writes one line per frame to stdout. Empty input lines (no detections) still advance the tracker state and produce an empty output line, preserving 1:1 line correspondence.

Parsing is strict fail-fast: malformed tokens raise ValueError and terminate with a non-zero exit code.

Input format

Detections are space-separated, each with 5 comma-separated values:

x1,y1,x2,y2,score x1,y1,x2,y2,score ...

Output format

Tracked objects are space-separated, each with 5 comma-separated values:

x1,y1,x2,y2,id x1,y1,x2,y2,id ...

Examples

Pipe detections from a file:

cat detections.txt | pyxtrackers sort --min-hits 1 > tracks.txt

Inline:

echo "100,200,300,400,0.9 150,250,350,450,0.8" | pyxtrackers sort --min-hits 1

With ByteTrack and image scaling:

cat detections.txt | pyxtrackers bytetrack --track-thresh 0.5 --img-info 1080 1920 --img-size 608 1088

Cross-language integration

Any language that can spawn a subprocess and read/write its stdin/stdout can use pyxtrackers. For example, in Node.js:

const { spawn } = require('child_process');
const readline = require('readline');

const tracker = spawn('pyxtrackers', ['sort', '--min-hits', '1']);

const rl = readline.createInterface({ input: tracker.stdout });
rl.on('line', (line) => {
  // Each line: "x1,y1,x2,y2,id x1,y1,x2,y2,id ..."
  console.log('Tracks:', line);
});

// Send detections (one frame per line)
tracker.stdin.write('100,200,300,400,0.9 150,250,350,450,0.8\n');
tracker.stdin.write('105,205,305,405,0.9\n');

Roadmap

  • Add back OC-SORT and BYTETrack's original interface.
  • Publish to conda-forge.
  • Map every operation in .pyx back to the original .py
  • More rigorous testing. Multiple samples of each experiment.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyxtrackers-2026.2.24.post4.tar.gz (2.3 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyxtrackers-2026.2.24.post4-cp313-cp313-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.13Windows x86-64

pyxtrackers-2026.2.24.post4-cp313-cp313-win32.whl (1.0 MB view details)

Uploaded CPython 3.13Windows x86

pyxtrackers-2026.2.24.post4-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

pyxtrackers-2026.2.24.post4-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (2.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

pyxtrackers-2026.2.24.post4-cp313-cp313-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pyxtrackers-2026.2.24.post4-cp313-cp313-macosx_10_13_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

pyxtrackers-2026.2.24.post4-cp312-cp312-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.12Windows x86-64

pyxtrackers-2026.2.24.post4-cp312-cp312-win32.whl (1.0 MB view details)

Uploaded CPython 3.12Windows x86

pyxtrackers-2026.2.24.post4-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

pyxtrackers-2026.2.24.post4-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (2.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

pyxtrackers-2026.2.24.post4-cp312-cp312-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pyxtrackers-2026.2.24.post4-cp312-cp312-macosx_10_13_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

pyxtrackers-2026.2.24.post4-cp311-cp311-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.11Windows x86-64

pyxtrackers-2026.2.24.post4-cp311-cp311-win32.whl (1.0 MB view details)

Uploaded CPython 3.11Windows x86

pyxtrackers-2026.2.24.post4-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

pyxtrackers-2026.2.24.post4-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (2.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

pyxtrackers-2026.2.24.post4-cp311-cp311-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pyxtrackers-2026.2.24.post4-cp311-cp311-macosx_10_9_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

pyxtrackers-2026.2.24.post4-cp310-cp310-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.10Windows x86-64

pyxtrackers-2026.2.24.post4-cp310-cp310-win32.whl (1.0 MB view details)

Uploaded CPython 3.10Windows x86

pyxtrackers-2026.2.24.post4-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

pyxtrackers-2026.2.24.post4-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (2.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

pyxtrackers-2026.2.24.post4-cp310-cp310-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pyxtrackers-2026.2.24.post4-cp310-cp310-macosx_10_9_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

Details for the file pyxtrackers-2026.2.24.post4.tar.gz.

File metadata

  • Download URL: pyxtrackers-2026.2.24.post4.tar.gz
  • Upload date:
  • Size: 2.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyxtrackers-2026.2.24.post4.tar.gz
Algorithm Hash digest
SHA256 60cb96ce36b71af726849a616ced73bf1d8b620fa6cdf87f40a2e60a624f6476
MD5 778c146ff2dfec29cc92984ed3e8e2c0
BLAKE2b-256 cbac6784834af961f3993c0a9647ca191040684463ad36bb97f4d0a879c52e28

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxtrackers-2026.2.24.post4.tar.gz:

Publisher: release.yml on chanwutk/pyxtrackers

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxtrackers-2026.2.24.post4-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for pyxtrackers-2026.2.24.post4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 73b105cfdd147d69d6ee2f63a9218e283cffde92e839114aee70c29923c3fa84
MD5 6a2cb171979f9d624514301973821ff6
BLAKE2b-256 dca8d0535d584bd3bfe403dae1b45418660e10677cfc66839b7b730e0277c072

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxtrackers-2026.2.24.post4-cp313-cp313-win_amd64.whl:

Publisher: release.yml on chanwutk/pyxtrackers

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxtrackers-2026.2.24.post4-cp313-cp313-win32.whl.

File metadata

File hashes

Hashes for pyxtrackers-2026.2.24.post4-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 34ee1fc9fa9839de8fdd1e8626e25aa51a3074499a8ab48e08fe91efc5ceafe0
MD5 693bffa13c14ba425fb4a32296100b3e
BLAKE2b-256 7e87508d75c32b4cad895adbd3e95257cd6e25ae50f3d73d2531e1b56b86f891

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxtrackers-2026.2.24.post4-cp313-cp313-win32.whl:

Publisher: release.yml on chanwutk/pyxtrackers

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxtrackers-2026.2.24.post4-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyxtrackers-2026.2.24.post4-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 43590aa32cd9a71d938fcb4bc8b136dce171035d1f81b3696da67c6b870cd615
MD5 1547af6c3d849ec63919e4b8a5ee8bcf
BLAKE2b-256 ef9a101b9541dd7793ad395c253673299e80c5187209648ee18b2b45d3cf8b4b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxtrackers-2026.2.24.post4-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on chanwutk/pyxtrackers

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxtrackers-2026.2.24.post4-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyxtrackers-2026.2.24.post4-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a1b9770c07fe4cf3a7422d3bcbe8036d7b167b33b8e8c914621481240f7129e9
MD5 aa960a0ce8f55cc82409d739c3269348
BLAKE2b-256 e3c03f0f097878c32ebc2896d8d7b1aea22c932d7d79cb94f2893e6bbe056d43

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxtrackers-2026.2.24.post4-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on chanwutk/pyxtrackers

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxtrackers-2026.2.24.post4-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyxtrackers-2026.2.24.post4-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fedf99b55d5e5e533eb2f0387e15d3799b83d0e31868b32f99901087162551d6
MD5 a7e4e9ec5c429ac336e8c07cd249df31
BLAKE2b-256 1ce2e1e6a6a21003f0b6dec78e075a93ecf3d094b4cb1c59ceb6f3ce39d027b3

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxtrackers-2026.2.24.post4-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release.yml on chanwutk/pyxtrackers

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxtrackers-2026.2.24.post4-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pyxtrackers-2026.2.24.post4-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 dd4288ec53cf2e835962936d5e4ce1ed04c2368fb49aedbe1c3063caa556338f
MD5 2c6a8b71a157785fad0681d69583f1ad
BLAKE2b-256 bb3c845b707782cc0c8589f4804011aff3c10045ae0724e1b44d4a462e5322af

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxtrackers-2026.2.24.post4-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: release.yml on chanwutk/pyxtrackers

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxtrackers-2026.2.24.post4-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for pyxtrackers-2026.2.24.post4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 788e064309fb3efed3231affe2ca6f08b81f47f8ad13ad8f13b1f34fce33fd97
MD5 2594d2c8647ebddc09ddfb3ac54be1f3
BLAKE2b-256 83794c362a7e9145bbedfb715f8e980c21d3221ee0d23e95e2137a2f8ad9e7e7

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxtrackers-2026.2.24.post4-cp312-cp312-win_amd64.whl:

Publisher: release.yml on chanwutk/pyxtrackers

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxtrackers-2026.2.24.post4-cp312-cp312-win32.whl.

File metadata

File hashes

Hashes for pyxtrackers-2026.2.24.post4-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 fa59a8e46eb1e65ce755457e599c8faa8a272c84b380f7961cb0b23614d17646
MD5 075060a3f18d31f2e08c555f2e8e0c08
BLAKE2b-256 1f88f9e1fb450569a22cf28ca98d9eca825b2ad473ea66b2276c1607af759c7b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxtrackers-2026.2.24.post4-cp312-cp312-win32.whl:

Publisher: release.yml on chanwutk/pyxtrackers

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxtrackers-2026.2.24.post4-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyxtrackers-2026.2.24.post4-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 58ca30286cab315357e685329800041578b472951a76b29ce0b6ea8606c0e970
MD5 dd0b2069356d4fc7ee3cb058ee01f538
BLAKE2b-256 20d294578ecc2048a6ac0b440bf63cea0f13607e85a5babcce90cb2aeac75615

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxtrackers-2026.2.24.post4-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on chanwutk/pyxtrackers

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxtrackers-2026.2.24.post4-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyxtrackers-2026.2.24.post4-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 521a654b41dc57d5e1716588eeaf92dc25033416bc5e9011c411bb2091866492
MD5 6901d3c49ebcf53df5651d9347b5d309
BLAKE2b-256 8b1ba2ea305c583fce58a98832b5a50b35804be292711764c236aa081263ccc3

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxtrackers-2026.2.24.post4-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on chanwutk/pyxtrackers

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxtrackers-2026.2.24.post4-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyxtrackers-2026.2.24.post4-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 71876b038aac220e9effaa919c38b6be6058450d4be295a0a4ddee6ebf37048b
MD5 d6c074fb97f9dbee9edf38f6562d8494
BLAKE2b-256 af1472374f36d198aee9ab49f0491f4e02827dbd246276fea2015e9b1aad92da

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxtrackers-2026.2.24.post4-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on chanwutk/pyxtrackers

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxtrackers-2026.2.24.post4-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pyxtrackers-2026.2.24.post4-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 4c4f25aa91a34b116c4a2df5b5e2c4d916253dc4d99dbfc248a2c6a4cfb6097d
MD5 e1961e1315f07b24d026623d17fc5a40
BLAKE2b-256 931db7296286b7db215c5248180b7e855a21b025a2b08f7de9aeb9e3e3caa11b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxtrackers-2026.2.24.post4-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: release.yml on chanwutk/pyxtrackers

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxtrackers-2026.2.24.post4-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for pyxtrackers-2026.2.24.post4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b0a002ef66f52ddb4198b632c6f87e7bce799101371135e55b5dcbec2a7433eb
MD5 9016da054955ef3462f53ae7781af0b5
BLAKE2b-256 49d0fecc2209ca8d033016f7aba16e4914c4f69c547e0e2bcc46fc6ee7a6c874

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxtrackers-2026.2.24.post4-cp311-cp311-win_amd64.whl:

Publisher: release.yml on chanwutk/pyxtrackers

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxtrackers-2026.2.24.post4-cp311-cp311-win32.whl.

File metadata

File hashes

Hashes for pyxtrackers-2026.2.24.post4-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 3ef9144669fc05fb59157e7f228ea5d90b470ae7e1130c9aee71920dac803361
MD5 c056bee1fd398f16f9490bdedac285c3
BLAKE2b-256 074981bca23d8950169ace318cf212fd3dc535ed2cb40c5833ed425c1d358ad4

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxtrackers-2026.2.24.post4-cp311-cp311-win32.whl:

Publisher: release.yml on chanwutk/pyxtrackers

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxtrackers-2026.2.24.post4-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyxtrackers-2026.2.24.post4-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7fccca58c78c206acc4e3d46efb1ac725bf50e9985ed9b70ac63efe6ea26173d
MD5 756a88f6e58a0994599ba2a07a3d79dd
BLAKE2b-256 0e7befbdd069dd10616b1a43f70270759840588949e2aa204db08ae2be7a29ef

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxtrackers-2026.2.24.post4-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on chanwutk/pyxtrackers

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxtrackers-2026.2.24.post4-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyxtrackers-2026.2.24.post4-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 31e8a19cf1285a8ea3f6d64030f169073d8f8b0b489cc1a0918643029e89da40
MD5 e60c235849fb6d76d5a2129c844cd11c
BLAKE2b-256 f7cc5c8509e41a45b4c48c73f7f51f3362ce13518fab9f62a0f88a7cf521f937

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxtrackers-2026.2.24.post4-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on chanwutk/pyxtrackers

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxtrackers-2026.2.24.post4-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyxtrackers-2026.2.24.post4-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 55aae532eef9649f587ee8508de6b1b0494889906143cbf8d09e075e5a3119be
MD5 84a1c22bde57f0522cd4b7a05e54cc08
BLAKE2b-256 05cc95dc5e36212a9175c742bb82d79101ef756a0381040bd7d29ebb864a7251

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxtrackers-2026.2.24.post4-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on chanwutk/pyxtrackers

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxtrackers-2026.2.24.post4-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyxtrackers-2026.2.24.post4-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 916433e8ed666962dc4aaf55c731ceab771fe70c1f7ab915dfdd01f70458bd3e
MD5 b85c8bcf1b923b29b6b4e1b7f30dec1b
BLAKE2b-256 a06830c3868426d5aa74dc53c3ecd3423518811af50fb4c5256bc7b9fb6a4bbf

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxtrackers-2026.2.24.post4-cp311-cp311-macosx_10_9_x86_64.whl:

Publisher: release.yml on chanwutk/pyxtrackers

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxtrackers-2026.2.24.post4-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for pyxtrackers-2026.2.24.post4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b0d438c57a88e859fc106ff57d63461cbecfd641e553e82cc375d67faed96de3
MD5 1de44f59cfb68258c0a49ce85a31d569
BLAKE2b-256 ca79a3c9f088b8bed3075b1cd0bcc7796954fa313512a66a728f0a8568ddd701

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxtrackers-2026.2.24.post4-cp310-cp310-win_amd64.whl:

Publisher: release.yml on chanwutk/pyxtrackers

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxtrackers-2026.2.24.post4-cp310-cp310-win32.whl.

File metadata

File hashes

Hashes for pyxtrackers-2026.2.24.post4-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 68df9f642ec5326b73cf68057b303cf24004d1b4f263a596cd5d368f926177f0
MD5 2436ff8e14d0a46432b6693faa36c76c
BLAKE2b-256 968a19cfd1808430e6046d10f25ec2addfca162977c853d9680c93e5757c2fc9

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxtrackers-2026.2.24.post4-cp310-cp310-win32.whl:

Publisher: release.yml on chanwutk/pyxtrackers

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxtrackers-2026.2.24.post4-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyxtrackers-2026.2.24.post4-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2144ea104d5300eb6cc184450e7bb28f795fc2294a62fe01e9a4e6ff78a6ea4a
MD5 5728729d930f7616a3fd859c99420dc3
BLAKE2b-256 189ad874ca65b76432c7633c2f20bc58071ae6ed9e163ebe5296cef39f9a99a1

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxtrackers-2026.2.24.post4-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on chanwutk/pyxtrackers

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxtrackers-2026.2.24.post4-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyxtrackers-2026.2.24.post4-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a2396ba03b038be386b36d99213eb1d906042b421ea0f396b6b866690a5e8173
MD5 b2bae4a2e721838236d2752bb2a1db9e
BLAKE2b-256 6b5136d60b8190fe3fa447a3535826defa5f542c21a441fa7e0b0985cc438097

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxtrackers-2026.2.24.post4-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on chanwutk/pyxtrackers

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxtrackers-2026.2.24.post4-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyxtrackers-2026.2.24.post4-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 beb04fe3631c01dee5b3629835f18fff44c16ea1444dee2468bc592f914f42d9
MD5 aaa5f0acb689df570b702a34e52a3824
BLAKE2b-256 53c37d446533fd5433011bdb80cb5d73da5ba7a6ce9c0e5685255a7056a2512a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxtrackers-2026.2.24.post4-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: release.yml on chanwutk/pyxtrackers

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxtrackers-2026.2.24.post4-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyxtrackers-2026.2.24.post4-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2b99a5412deecb3f31ddade98e4f42d1ed0add648e9316f0aed049b41f89e155
MD5 dffd65c9cd9f65f0b295b4586f031185
BLAKE2b-256 521c38509dea35a36bc34a3e9183382a1ad7891cf89964d4eacdc6b58cd71f27

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxtrackers-2026.2.24.post4-cp310-cp310-macosx_10_9_x86_64.whl:

Publisher: release.yml on chanwutk/pyxtrackers

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page