Skip to main content

openodd_py

ASAM OpenODD 1.0 for Python, on a Rust core.

  • Read an ODD from OpenODD YAML (taxonomy, modules, IMPORT, unit conversions) and a binding file saying how each concept is measured.
  • Judge values against it with OpenODD's three-valued, missing-value semantics, and work out which buckets of each attribute lie outside it.
  • Version it: an ODD's revision is the digest of the transmission it was read from (see docs/versioning.md), and the transmission packs into a deterministic archive the ODD reads back from exactly.

What measures the attributes -- a simulator, a recorded log -- is the application's backend; the core only judges values.

A default ODD ships with the package (openodd.bundled_odd(), python/openodd/odds/default): every attribute a road-vehicle simulator commonly measures, after ISO 34503, and no modules. Its binding names the probes a backend provides (ego_speed_kph, measure: vehicle_ahead_gap_m, ...); its revision changes only when its files do.

import openodd

backend = openodd.Backend(probes={"speed_kph": (read_speed, "km/h")})
odd = openodd.load_odd_binding("urban.yaml", backend=backend)
verdict = odd.evaluate(odd.sample(context))
odd.revision   # sha256 of the files it was read from
odd.archive()  # those files as a deterministic .tar.gz

Development

uv venv && uv pip install maturin pytest hypothesis pyyaml
maturin develop
cargo test && pytest

Releasing

Releases are cut by labels, as in simple_lanelet2. Put exactly one of release:major, release:minor or release:patch on a PR; when it is merged into main, the release workflow bumps the version in Cargo.toml and Cargo.lock with tools/bump_version.py, commits chore(release): vX.Y.Z and tags it, runs the tests again, builds the wheels (Linux x86_64/aarch64, macOS universal2, Windows x64) and the sdist, tests each wheel, and attaches them to a GitHub release with generated notes, and publishes them to PyPI with Trusted Publishing. A PR without a label releases nothing. The release label check runs on every PR: it creates any missing release:* label, fails if the PR carries more than one, and says in its summary which release the merge will cut.

A hand-pushed v* tag is built and published the same way (its version must match Cargo.toml), and running the workflow by hand builds everything without publishing.

Metadata

Release files for openodd-py 0.2.2

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

Source distribution (sdist)

Source distribution for openodd-py 0.2.2
File Size Uploaded
openodd_py-0.2.2.tar.gz 121.1 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for openodd-py 0.2.2
File
openodd_py-0.2.2-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
openodd_py-0.2.2-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 abi3 Linux glibc 2.17+ x86-64 Details
openodd_py-0.2.2-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 abi3 Linux glibc 2.17+ ARM64 Details
openodd_py-0.2.2-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl CPython 3.10 abi3 macOS 10.12+ universal2 (ARM64, x86-64), macOS 11.0+ ARM64, macOS 10.12+ x86-64 Details

Total release size: 9.1 MB

Release files / openodd_py-0.2.2.tar.gz

Download URL openodd_py-0.2.2.tar.gz
Size 121.1 kB
Tags Source
SHA-256 checksum
How to use checksums
ccdea64ac6158fb6b2b12faf99c44ee7d0b1982e4c370ed3ffebf130900b3010
BLAKE2b-256 checksum
How to use checksums
feb921bb8e9851336c38a8bee413247ac42c899877bed82de5a94f004cb6520c
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 Oct 12, 2026.

Transparency log

Release files / openodd_py-0.2.2-cp310-abi3-win_amd64.whl

Download URL openodd_py-0.2.2-cp310-abi3-win_amd64.whl
Size 1.7 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
4041a35733d058ea19bb01bc9aed3179b0784b50ce5d529f24e95e0c5c333767
BLAKE2b-256 checksum
How to use checksums
b7daf05b71d1161312983abd6007aead38a94c69f184e8a6b84e6a4f62330b25
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 Oct 12, 2026.

Transparency log

Release files / openodd_py-0.2.2-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL openodd_py-0.2.2-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.9 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
0b8ac8ffa20bb86a52777d5ab1763010ad3a3bdb3aa7a884f93c1f61781571e5
BLAKE2b-256 checksum
How to use checksums
1808731a9d41b9be1c342e83bba8dc7a454d02566d12694b2dca31ed13f5becc
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 Oct 12, 2026.

Transparency log

Release files / openodd_py-0.2.2-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL openodd_py-0.2.2-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.9 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
01a56992c71958cf16bff80bef23e6cec6d181c3a4ae522f850db7019c7f3f84
BLAKE2b-256 checksum
How to use checksums
dcab6a964d01c37015bd7b764770247bab426e05540e318e4e8956e9f6848831
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 Oct 12, 2026.

Transparency log

Release files / openodd_py-0.2.2-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl

Download URL openodd_py-0.2.2-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Size 3.5 MB
Tags CPython 3.10 abi3 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
8603c2ec25964df7e24047f4515dd7de71eee9b655a327066d9e7b4b877ce4fc
BLAKE2b-256 checksum
How to use checksums
39aa07a2dbbb91fa477b13d8ab084ae17fb9d6270728113a4093a717dfb3efb9
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 Oct 12, 2026.

Transparency log

Release history Release notifications | RSS feed

0.5.1

5 release files

0.5.0

5 release files

0.4.0

5 release files

0.3.0

5 release files

This release

0.2.2 This release

5 release files

0.2.1

4 release files

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