Skip to main content

TAPLite4MPO — open C++ static traffic assignment for MPOs

build-and-test License: MIT

A single-file, reproducible C++ (CMake) static user-equilibrium traffic-assignment kernel (Frank–Wolfe) for GMNS networks — with the VDF library, generalized cost, peak-load-factor, and solver options that MPO/DOT static highway assignments need — plus a Python QA/automation package, open benchmark networks, and a two-volume user guide. Built for teaching and for reproducing agency assignments (ARC, SERPM, TRPA, MTC, SANDAG, MWCOG, VDOT, ODOT).

TAPLite4MPO at a glance — the Golden Path (collect → GMNS → declare → run → validate → advanced), the three gates (can I run / trust / improve), why a shapefile is not yet a model, the dataset ladder (Sketch → Regional → ARC Atlanta → OSM), super-zone compression (~2× faster), and recovering the original-resolution zone-to-zone skim (R²=0.99).

The whole pipeline at a glance. Start with docs/GOLDEN_PATH_CHECKLIST.md. (Figure generated from docs/IMAGE_PROMPTS.md.)

⚙️ Which part solves the assignment?

The C++ kernel (bin/DTALite.exe, kernel/src/TAPLite.cpp) is the solver — Frank–Wolfe equilibrium, the VDF library, OpenMP, the scale. The dtalite_qa Python package is QA/orchestration only: it validates inputs, builds scenarios, and invokes the kernel — it does not compute the assignment. So you must build the kernel (bash build.sh); running only Python assigns nothing. This is not a pure-Python solver. Full explanation, environment matrix, and how to call the kernel from Python: docs/ARCHITECTURE.md.

Features

  • Frank–Wolfe with an exact cost-based line search; conjugate / bi-conjugate FW (assignment_method) for faster convergence on congested networks.
  • VDF library: BPR, modified-BPR (linear term), conical (Spiess), QVDF (queue), BPR2, INRETS, Akcelik, SANDAG signal-delay, SCAG piecewise-BPR, SCAG ramp-meter (vdf_type 0–8).
  • QVDF congestion duration — a D/C-consistent queue output (P, severe-congestion duration, queue speeds), calibrated from corridor speeds by the CBI sister project.
  • Multiclass: per-mode demand, VOT, PCE, occupancy, per-mode toll + distance operating cost (generalized cost), allowed_use (HOV/truck/managed lanes).
  • Peak-Load-Factor / period-capacity convention (vdf_plf = φ/L).
  • Relative-gap stop (N consecutive iters), binary demand fast-load, OpenMP parallel.

Start with the flagship example → examples/arc_atlanta/: a complete end-to-end MPO run — reproduce the Atlanta Regional Commission's AM highway assignment and validate it against ARC's own count benchmark (region %RMSE 22 %, target ~38 %; re-baselined 2026-07 from 23 % after the Dijkstra-default and gap-metric kernel updates). It shows every MPO feature wired up, with a clean ARC-requirement → kernel-setting mapping. Background: docs/mpo_spec/ (the design spec

  • multi-agency survey).

1. Build the kernel (the solver — required)

bin/DTALite.exe is the C++ engine that actually runs the assignment; the Python tools just drive it. Build it first:

bash build.sh          # -> bin/DTALite.exe   (CMake + g++/MinGW, OpenMP, Release)

Requires CMake, a C++17 compiler (g++/clang/MSVC), and OpenMP. Output: bin/DTALite.exe. (See docs/ARCHITECTURE.md for why this is mandatory.)

Install the Python packages

pip install .            # installs dtalite_qa + pytaplite; compiles the in-process kernel binding

This builds pytaplite._native from the bundled kernel source (falls back to subprocess if no compiler). Multi-platform PyPI wheels (pip install taplite4mpo) are produced by cibuildwheel on a version tag — see RELEASE.md.

Then call the kernel from Python:

import pytaplite
r = pytaplite.assign("kernel/data_sets/02_Sioux_Falls")   # runs the C++ kernel
print(r.summary())                                         # links, VMT, VHT, returncode

Runnable demo: examples/pytaplite_quickstart.py (python examples/pytaplite_quickstart.py).

The two front doors for a QA-gated run

Installing the package also gives you two ways to drive a gated, manifested run (both go through the no-guessing intake gate and write a reproducibility manifest — neither can bypass the gate):

  • Python API (developer):

    from dtalite_qa.api import Network, Scenario, AssignmentEngine
    net  = Network.read_gmns("kernel/data_sets/03_chicago_sketch")
    res  = AssignmentEngine().run(Scenario(net, settings={"iterations": 20}),
                                  exe="bin/DTALite.exe")
    print(res.moe())
    
  • TAPCI (preview) — a stable, tiered "build-on-top" surface for GMNS assignment, so tools and AI workflows call the kernel instead of forking it. TAPCI.categories() returns the three tiers:

    from taplite4mpo import TAPCI
    sim = TAPCI.open("project.yml", exe="bin/DTALite.exe")
    sim.set_time_period(7, 9).set_setting(route_output=1, column_output=2)
    sim.run_until_converged(max_iter=50, gap=0.001)
    sim.observe_links(["volume", "speed", "vc"])   # + observe_od / observe_system
    sim.query_paths(o_zone=12, d_zone=87)          # Path4GMNS-style external query
    sim.save_routing_policy("policy.dtac")         # the theta-share routing policy
    # ...later: reuse that policy on new demand and execute in ~1 iteration
    TAPCI.open("project.yml", exe="...").load_routing_policy("policy.dtac").run_until_converged()
    

    Category 1 (core run/observe/export) and Category 2 — the one-period environment: time period, OD/system/path performance, OD skims for a Choice-Graph/ABM caller (observe_skims / query_skim), save & reload the routing policy, and next-run scenario edits (set_link_closure / set_link_capacity / set_toll / set_od_multiplier, applied to a working copy — the source network is never touched) — are real and backed by the audited API + kernel. There's also an offline day-to-day / information-provision loop (run_day_to_day, driven by an external policy function) and an assignment-based RL environment (dtalite_qa.tapci_env.TAPCIEnv, reset/step; reward= accepts a MOE shortcut string, a KPI-weighted objective dict e.g. {"vht_hours": -1.0, "co2_proxy_kg": -1e-4}, or a callable). A separate, kernel-independent KPI4MPO/NPO layer (dtalite_qa.kpi) turns any run into decision KPIs (VMT, VHT, delay, speed, max V/C, OD-skim time, + CO2/person-delay proxies), KPI deltas, and a weighted objective/reward. Category 3 (step-style run_iteration, live mid-solve control, external load_paths, run_day_to_day / information provision) raises a clear roadmap error rather than faking a no-op. Auto-tested in CI (.github/workflows/tapci-ci.yml: a no-kernel contract job + a kernel-loop job).

  • taplite CLI (analyst) — installed as a console script; four verbs:

    taplite validate <scenario>                 # intake gate + schema/accessibility
    taplite run      configs/chicago_sketch_baseline.yml   # gate -> kernel -> manifest -> report
    taplite report   <run_dir>                  # fused self-contained HTML report
    taplite compare  <run_a> <run_b>            # manifest diff + side-by-side MOE
    

    If the taplite script is not on your PATH (e.g. a --user install), run it as python -m dtalite_qa.taplite_cli <verb> ....

    pip users: the examples above assume a repo clone — configs/, the sample networks, and the kernel exe (bash build.sh -> bin/DTALite.exe) live in the repo, not in the wheel. With only pip install taplite4mpo, point taplite run at your own scenario + config and set assignment.exe (or --exe) to your kernel build.

2. Reproduce a run (open benchmark networks — no extra data needed)

cd kernel/data_sets/02_Sioux_Falls       # or 03_chicago_sketch, 04_chicago_regional
cp ../../../bin/DTALite.exe .
./DTALite.exe                            # reads node/link/demand/settings, writes link_performance.csv

Or via the Python QA wrapper (validates inputs first, then runs):

pip install -e .
python -m dtalite_qa run kernel/data_sets/02_Sioux_Falls --exe bin/DTALite.exe

3. Regression / self-test

python test_networks/run_regression.py   # builds & checks BPR/conic/QVDF, multimodal, turn restrictions

4. Documentation

  • HANDOFF/ — ⭐ new engineer? start here. The onboarding & handoff folder: the ordered reading path, the runs to reproduce, the "which agency taught us this" issue index, a BPR/VDF/PLF config-rules card, and a hands-on lab that trips each classic conversion error on the open networks so you learn to recognize it.
  • docs/CONVERSION_ERRORS_CATALOG.md — the lessons-learned / error-source reference: every way an MPO hand-off goes wrong (capacity, PLF, units, demand, zones, VDF, truncation, allowed-use, count basis, build), symptom → cause → fix → which agency.
  • docs/ARCHITECTURE.md — the C++ kernel solves; the Python package orchestrates. Which part runs what, the environment matrix, and how to call the kernel from Python. Read it if you're unsure what's doing the assignment.
  • docs/GOLDEN_PATH_CHECKLIST.md — ⭐ READ THIS FIRST. The Golden Path: from agency files to a trusted assignment, in 6 stages, framed by three questions — can I run? can I trust it? can I improve it? Simple first, advanced later.
  • docs/DATASET_LADDER.md — which example to start with (Chicago Sketch → Chicago Regional → ARC Atlanta → OSM quick start).
  • docs/onboarding_guide.html — the visual onboarding guide: open in a browser for the staged journey (GIS field-map → declare → convert → intake → quality → run → traceable workflow), each with its gate and a progress tracker. Generate it anytime with python -m dtalite_qa guide.
  • docs/MPO_ONBOARDING_GUIDE.md — start here for a new agency model. The process to turn a raw hand-off (shapefile + matrix + "alpha/beta") into a trustworthy run: declare → convert → intake audit → resolve → validate. The intake (dtalite_qa intake) never guesses a convention — it blocks on anything the MPO didn't declare (capacity basis/period, PLF, units, trip kind) and produces an issue report + conversion log + a guided HTML dashboard. The MPO fills submission.yml (the README for the data; ARC's is in examples/arc_atlanta/gmns/).
  • USER_GUIDE.md — Volume 1: kernel reference (input schema, settings, VDFs, outputs).
  • USER_GUIDE_VOL2_MPO.md — Volume 2: static highway assignment for MPOs (period capacity / PLF, generalized cost, convergence/solver, validation, per-agency recipes).
  • examples/arc_atlanta/ — complete worked MPO example (ARC AM assignment, calibrate → run → validate vs the agency benchmark) with the ARC→kernel mapping.
  • docs/mpo_spec/ — design spec + multi-agency survey/conformance (ARC, SERPM, TRPA, MTC, SANDAG, MWCOG, VDOT, ODOT): requirement → kernel feature → how to verify.
  • docs/qvdf_congestion_duration.md — QVDF as the D/C-consistent congestion-duration output, and the CBI sister-project pipeline (corridor speeds → QVDF params → kernel).
  • docs/ — methodology notes (peak load factor, super-zone aggregation, 4-step integration, OD-compression operators).
  • docs/IMAGE_PROMPTS.md — copy-paste prompts for GPT image tools to generate the easy-to-follow figures (Golden Path, the 3 gates, super-zones, the skim advantage).
  • .claude/skills/taplite4mpo-pipeline/ — a Claude Code skill encoding the whole pipeline (gates, stages, conventions, the ARC loop) for agent-assisted work in this repo.
  • dtalite_qa/ — Python package: guide, intake, workflow, validate, fill, inventory, accessibility, report, demand-bin, plf, adapt, run (see python -m dtalite_qa -h).
  • pytaplite/ — Python interface that drives the C++ kernel: pytaplite.assign(scenario) → runs DTALite.exe, returns link_performance (subprocess, or the in-process _native binding from kernel/python/ if built).

5. Folder map

TAPLite4MPO/
├── kernel/            C++ kernel (src/TAPLite.cpp, CMakeLists.txt) + open data_sets/
├── examples/
│   └── arc_atlanta/   complete end-to-end MPO example (ARC AM, validated)
├── dtalite_qa/        Python QA / control package
├── test_networks/     open test/benchmark networks + regression harness
├── schemas/           GMNS field schema (JSON)
├── docs/              methodology docs
│   └── mpo_spec/      design spec + multi-agency survey & conformance mapping
├── nvta_run/          NVTA run-configs + helper scripts (bring-your-own-data, §6)
├── USER_GUIDE.md      Volume 1 (kernel)
├── USER_GUIDE_VOL2_MPO.md   Volume 2 (MPOs)
└── build.sh

6. NVTA reproduction (bring-your-own-data)

The NVTA dataset is agency-restricted and is NOT included in this repository. nvta_run/ ships the run-configs and helper scripts (network prep, settings, conic/QVDF staging). To run it, point the scripts at your own copy of the data:

# option A: environment variable
export DTALITE_NVTA_INTERNAL=/path/to/nvta/_internal
# option B: nvta_run/local_config.json -> {"internal": "...", "subarea": "..."}
# option C: place the data in  data/nvta_internal/
python nvta_run/run_nvta.py

If unconfigured, the runner prints a clear message. All of §2–§3 reproduces fully without it using the open benchmark networks.

Course note: instructors distribute the NVTA data to students through a separate channel (not this public repo); students set one of the options above.


Continuous integration

.github/workflows/ci.yml builds the kernel (CMake + MSVC on windows-latest) and runs the full regression suite on every push / pull request.

License & citation

MIT — see LICENSE. If you use this kernel in research or coursework, please cite the DTALite / TAPLite project. (Some docs/ notes reference internal companion files that are not part of this public release.)

Metadata

Release files for taplite4mpo 0.3.0

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

Source distribution (sdist)

Source distribution for taplite4mpo 0.3.0
File Size Uploaded Provenance Actions
taplite4mpo-0.3.0.tar.gz 252.3 kB With provenance Details for taplite4mpo-0.3.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for taplite4mpo 0.3.0
File Actions
taplite4mpo-0.3.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for taplite4mpo-0.3.0-cp314-cp314-win_amd64.whl
taplite4mpo-0.3.0-cp314-cp314-win32.whl CPython 3.14 CPython 3.14 Windows x86-32 Details for taplite4mpo-0.3.0-cp314-cp314-win32.whl
taplite4mpo-0.3.0-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details for taplite4mpo-0.3.0-cp314-cp314-musllinux_1_2_x86_64.whl
taplite4mpo-0.3.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details for taplite4mpo-0.3.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
taplite4mpo-0.3.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for taplite4mpo-0.3.0-cp313-cp313-win_amd64.whl
taplite4mpo-0.3.0-cp313-cp313-win32.whl CPython 3.13 CPython 3.13 Windows x86-32 Details for taplite4mpo-0.3.0-cp313-cp313-win32.whl
taplite4mpo-0.3.0-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details for taplite4mpo-0.3.0-cp313-cp313-musllinux_1_2_x86_64.whl
taplite4mpo-0.3.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details for taplite4mpo-0.3.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
taplite4mpo-0.3.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for taplite4mpo-0.3.0-cp312-cp312-win_amd64.whl
taplite4mpo-0.3.0-cp312-cp312-win32.whl CPython 3.12 CPython 3.12 Windows x86-32 Details for taplite4mpo-0.3.0-cp312-cp312-win32.whl
taplite4mpo-0.3.0-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details for taplite4mpo-0.3.0-cp312-cp312-musllinux_1_2_x86_64.whl
taplite4mpo-0.3.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details for taplite4mpo-0.3.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
taplite4mpo-0.3.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for taplite4mpo-0.3.0-cp311-cp311-win_amd64.whl
taplite4mpo-0.3.0-cp311-cp311-win32.whl CPython 3.11 CPython 3.11 Windows x86-32 Details for taplite4mpo-0.3.0-cp311-cp311-win32.whl
taplite4mpo-0.3.0-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details for taplite4mpo-0.3.0-cp311-cp311-musllinux_1_2_x86_64.whl
taplite4mpo-0.3.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details for taplite4mpo-0.3.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
taplite4mpo-0.3.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for taplite4mpo-0.3.0-cp310-cp310-win_amd64.whl
taplite4mpo-0.3.0-cp310-cp310-win32.whl CPython 3.10 CPython 3.10 Windows x86-32 Details for taplite4mpo-0.3.0-cp310-cp310-win32.whl
taplite4mpo-0.3.0-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details for taplite4mpo-0.3.0-cp310-cp310-musllinux_1_2_x86_64.whl
taplite4mpo-0.3.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details for taplite4mpo-0.3.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
taplite4mpo-0.3.0-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details for taplite4mpo-0.3.0-cp39-cp39-win_amd64.whl
taplite4mpo-0.3.0-cp39-cp39-win32.whl CPython 3.9 CPython 3.9 Windows x86-32 Details for taplite4mpo-0.3.0-cp39-cp39-win32.whl
taplite4mpo-0.3.0-cp39-cp39-musllinux_1_2_x86_64.whl CPython 3.9 CPython 3.9 Linux musl 1.2+ x86-64 Details for taplite4mpo-0.3.0-cp39-cp39-musllinux_1_2_x86_64.whl
taplite4mpo-0.3.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details for taplite4mpo-0.3.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Total release size: 17.3 MB

Release files / taplite4mpo-0.3.0.tar.gz

Download URL taplite4mpo-0.3.0.tar.gz
Size 252.3 kB
Tags Source
SHA-256 checksum
How to use checksums
a522712e912ccfe76a0b118e6af55b690ce9288b9c00a0816e07cdde1dd3a006
BLAKE2b-256 checksum
How to use checksums
b3eda3f0965cbedc6de608cf87e904da996fdc6aa9aa5d445058db3d29b63425
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 6, 2026.

Transparency log

Release files / taplite4mpo-0.3.0-cp314-cp314-win_amd64.whl

Download URL taplite4mpo-0.3.0-cp314-cp314-win_amd64.whl
Size 391.6 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
5c1ca28cc8be8dd781bd556db351e8bc019978fff68ae761a41751f4940fe5e8
BLAKE2b-256 checksum
How to use checksums
1d94535db5dda4b4abf80760392e35b8186d7997d8834897f3c0d0067337b3f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 6, 2026.

Transparency log

Release files / taplite4mpo-0.3.0-cp314-cp314-win32.whl

Download URL taplite4mpo-0.3.0-cp314-cp314-win32.whl
Size 346.4 kB
Tags CPython 3.14 Windows x86-32
SHA-256 checksum
How to use checksums
d69376a3f22f3952429e998e049529ec8c39c8893f991904494306fed838495e
BLAKE2b-256 checksum
How to use checksums
1c64aea8910ef3f5d0020f526d77b4385718fb5d9de0f67e9765a32a88f0bacb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 6, 2026.

Transparency log

Release files / taplite4mpo-0.3.0-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL taplite4mpo-0.3.0-cp314-cp314-musllinux_1_2_x86_64.whl
Size 1.6 MB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
ae994a533c5a01fab6f7796f7332b18dc03b3b6c6b8f0646f2c8cacccbc54282
BLAKE2b-256 checksum
How to use checksums
29dfadfd396154a6f707246168b2d907d5b2029d88664d31c5af6a6aa07efa76
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 6, 2026.

Transparency log

Release files / taplite4mpo-0.3.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL taplite4mpo-0.3.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 522.6 kB
Tags CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
cf08c70bd88e794990b0723b0aded8938c102e28e1ba3a68bc4fb0a9ff042141
BLAKE2b-256 checksum
How to use checksums
8a3d1f13f815b67cd1c1089d139f9c9a32241f72588fecf7cd1b107f6c54e99d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 6, 2026.

Transparency log

Release files / taplite4mpo-0.3.0-cp313-cp313-win_amd64.whl

Download URL taplite4mpo-0.3.0-cp313-cp313-win_amd64.whl
Size 384.5 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
7beaa236b76e11c498e9d13c5ac601560c438a9f4ab673bd37df7f49d15a7ae4
BLAKE2b-256 checksum
How to use checksums
57949f6d3e967d6b1d873974e9bbbd95ddd939cc51dfe971dd4a5701a6a39c1b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 6, 2026.

Transparency log

Release files / taplite4mpo-0.3.0-cp313-cp313-win32.whl

Download URL taplite4mpo-0.3.0-cp313-cp313-win32.whl
Size 340.8 kB
Tags CPython 3.13 Windows x86-32
SHA-256 checksum
How to use checksums
254e425b9fb1e154ce7453c79213424647f84a155cf04a961423eeac71512e14
BLAKE2b-256 checksum
How to use checksums
8cfd257f7b491b7a8d210cd15d23fac3d040f25e4ad8392b8f59012dbcd6ce6d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 6, 2026.

Transparency log

Release files / taplite4mpo-0.3.0-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL taplite4mpo-0.3.0-cp313-cp313-musllinux_1_2_x86_64.whl
Size 1.6 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
ee8abd5492d0b689c8f7de6fb7bf8731f53e025b5b8e55e75f49b96fefcbfc3c
BLAKE2b-256 checksum
How to use checksums
1d2bd17a3d8acf000efb32f6576b0e5f0fcd0de7dc07c4e5c92d5b64e601d6ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 6, 2026.

Transparency log

Release files / taplite4mpo-0.3.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL taplite4mpo-0.3.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 522.6 kB
Tags CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ff696eb569a81fbe317f6942da090711bd33f2943f076e8e27e933b2b2c9c8ec
BLAKE2b-256 checksum
How to use checksums
2802da97b99c50a2ed32af0b6dfa537f357ee8342b5276ce7bf27e29f489822b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 6, 2026.

Transparency log

Release files / taplite4mpo-0.3.0-cp312-cp312-win_amd64.whl

Download URL taplite4mpo-0.3.0-cp312-cp312-win_amd64.whl
Size 384.4 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
1c49b89bc8140aa183c5aadc5f449d6a841539fa838abda7ff3f0edbb17663ec
BLAKE2b-256 checksum
How to use checksums
47af1bd13cb5be6d3d7e564f11d3d8ff9f5e784b6a244460e7e623aad67ac002
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 6, 2026.

Transparency log

Release files / taplite4mpo-0.3.0-cp312-cp312-win32.whl

Download URL taplite4mpo-0.3.0-cp312-cp312-win32.whl
Size 340.7 kB
Tags CPython 3.12 Windows x86-32
SHA-256 checksum
How to use checksums
7e72cf602c27e0994fdd43b52f20f22b14ec67bc61adc474ff3340c6f00ead66
BLAKE2b-256 checksum
How to use checksums
0b793089c04e9cb8239afd7822ba7a5f6c9d4b619fcee9561413ce0a15f56cc6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 6, 2026.

Transparency log

Release files / taplite4mpo-0.3.0-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL taplite4mpo-0.3.0-cp312-cp312-musllinux_1_2_x86_64.whl
Size 1.6 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
3df3aa13838d657dffec27e5d1833b9596df634986da7231bec50a6fe375331c
BLAKE2b-256 checksum
How to use checksums
3f3cf7d648036f5d45cca6893ec1a4054546b195b3cf791d51c6c958c00604be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 6, 2026.

Transparency log

Release files / taplite4mpo-0.3.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL taplite4mpo-0.3.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 522.5 kB
Tags CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0dc8d33f452061fab2ff83619153fa51f215ed71c916636237c3bb52b60c26fc
BLAKE2b-256 checksum
How to use checksums
5a2b17b70650e1fe5dddc7f11ac1f7c8fddd550a0a74b765768406bd631eb5c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 6, 2026.

Transparency log

Release files / taplite4mpo-0.3.0-cp311-cp311-win_amd64.whl

Download URL taplite4mpo-0.3.0-cp311-cp311-win_amd64.whl
Size 382.9 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
279be5b0abfdc75524899d5bb72f6cd7642dde680fbf1cad0027eb791b4c79bb
BLAKE2b-256 checksum
How to use checksums
9b448f8f63466e0f88b3f43d6bc299dbe28af06c52d0db22dd8baf82c97957ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 6, 2026.

Transparency log

Release files / taplite4mpo-0.3.0-cp311-cp311-win32.whl

Download URL taplite4mpo-0.3.0-cp311-cp311-win32.whl
Size 340.4 kB
Tags CPython 3.11 Windows x86-32
SHA-256 checksum
How to use checksums
635d0f53f24ac19e54004aa784dee09b549cae430d3a1aa443c3ae8efbd743b1
BLAKE2b-256 checksum
How to use checksums
343624ee57de914ba72a9e3dd838a2977c00ac7ef2a5c317f1cdee1184756d63
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 6, 2026.

Transparency log

Release files / taplite4mpo-0.3.0-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL taplite4mpo-0.3.0-cp311-cp311-musllinux_1_2_x86_64.whl
Size 1.6 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
f6f86a6866fe93f5ad559ad17c765fe1215faad6b40b4cbbc5615bfdfad898fc
BLAKE2b-256 checksum
How to use checksums
1b72c2b902bd28f8188263840499ea0fb36c3943b565648321a0f532baa1e9c4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 6, 2026.

Transparency log

Release files / taplite4mpo-0.3.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL taplite4mpo-0.3.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 521.8 kB
Tags CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c9fd47a04360a46704da0fbf4624517b0aab974d3dbcbc4c3e217db652bfec5f
BLAKE2b-256 checksum
How to use checksums
2acb06b242945e132bbf1e88ae75a588f09e6c2e50d1f669aaad5026185c9282
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 6, 2026.

Transparency log

Release files / taplite4mpo-0.3.0-cp310-cp310-win_amd64.whl

Download URL taplite4mpo-0.3.0-cp310-cp310-win_amd64.whl
Size 382.5 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
fd8d6ac7bfc1dd5fcd26ff49dadeba8454e00ded1058d6530c080fe0dcfd27e0
BLAKE2b-256 checksum
How to use checksums
c4b697fd17a0f80906098be87659e484045f2e6c4f95f65ec52b6709244b637d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 6, 2026.

Transparency log

Release files / taplite4mpo-0.3.0-cp310-cp310-win32.whl

Download URL taplite4mpo-0.3.0-cp310-cp310-win32.whl
Size 339.4 kB
Tags CPython 3.10 Windows x86-32
SHA-256 checksum
How to use checksums
42a07fb0d722232808733b210150e9ed96ed4c138e5ea71b05beb98f778839e0
BLAKE2b-256 checksum
How to use checksums
742cd08319b1eb6e0687109f029595b455946c598bb5b67ea7cb921d03316d79
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 6, 2026.

Transparency log

Release files / taplite4mpo-0.3.0-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL taplite4mpo-0.3.0-cp310-cp310-musllinux_1_2_x86_64.whl
Size 1.6 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
23c89fff172a31384586c35c8325b52ffe4f879c984e3ffa00ccb4c40d3bb510
BLAKE2b-256 checksum
How to use checksums
620cdcef4e1b704531e75f1c2e882360c7082422877a2cd9583723f5f89a86c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 6, 2026.

Transparency log

Release files / taplite4mpo-0.3.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL taplite4mpo-0.3.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 520.1 kB
Tags CPython 3.10 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
98e0145e18c43558e960d45e4a6f600f909f5c12af3cb2b887ef97633319bfb5
BLAKE2b-256 checksum
How to use checksums
35d78c9f8ec1533484a7b24fae7d7c78af69dced34b4e9daee4a42588c49cc8a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 6, 2026.

Transparency log

Release files / taplite4mpo-0.3.0-cp39-cp39-win_amd64.whl

Download URL taplite4mpo-0.3.0-cp39-cp39-win_amd64.whl
Size 382.6 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
f16db676bfea9cc3f36bb92865efb74c2c6a9d613959f024d87934a12d682e67
BLAKE2b-256 checksum
How to use checksums
a3f4d54c25c93e1a07220f2e65b6d826d33322cb9151f6a8a8f8fc1d69970329
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 6, 2026.

Transparency log

Release files / taplite4mpo-0.3.0-cp39-cp39-win32.whl

Download URL taplite4mpo-0.3.0-cp39-cp39-win32.whl
Size 339.6 kB
Tags CPython 3.9 Windows x86-32
SHA-256 checksum
How to use checksums
00fce851d5e7fb3818dfa68f121d2679687b739d753f800b92516af4e44b4075
BLAKE2b-256 checksum
How to use checksums
d2b936baa092211140c6a02d6bbc136f72cc6e6b59f4e19ff2e468f973ac7139
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 6, 2026.

Transparency log

Release files / taplite4mpo-0.3.0-cp39-cp39-musllinux_1_2_x86_64.whl

Download URL taplite4mpo-0.3.0-cp39-cp39-musllinux_1_2_x86_64.whl
Size 1.6 MB
Tags CPython 3.9 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
17b4ae34c72fec141f79c3891ff8740889d4c307c8f62632fe2e32558cebf763
BLAKE2b-256 checksum
How to use checksums
16ff6976988779a5f05e7c2c83338daaa8027bc84fdd9416078fb25e31164fd7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 6, 2026.

Transparency log

Release files / taplite4mpo-0.3.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL taplite4mpo-0.3.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 520.7 kB
Tags CPython 3.9 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a835b60d439e217e470d6dc498d9040a85bd60b6aedc31acf9ab3832f5cec87f
BLAKE2b-256 checksum
How to use checksums
89d5c459b56329fc24d161a7da1025c1c99d2e2315ba5579836d32c3f52ccb6a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 6, 2026.

Transparency log

Security for taplite4mpo 0.3.0

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.

Full provenance

All 25 files in this release have been uploaded with provenance metadata.

Select from 25 files

Attestation for taplite4mpo-0.3.0.tar.gz

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 Jul 6, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.3.0 This release

25 release files Full provenance

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