Skip to main content

oaax-conformance

Checks whether an OAAX runtime (a shared library) or toolchain (a Docker image) follows the OAAX specification. A pass means: this runtime or toolchain can be swapped for another one without code changes.

  • Strict: talks to the runtime's C API directly, never through a tolerant wrapper.
  • Each failure says what to fix: it names the specification clause.
  • Safe on real hardware: time-budgeted loops, capped request sizes, a slow device is BLOCKED and never FAIL, --hardware-safe leaves out the abusive tests.
  • No compiler needed: the wheel contains the C harness (Linux x86_64 and aarch64).

Install

Needs uv on Linux, and Docker to test toolchains. The wheel needs Python 3.12 or newer; uv fetches it if your default is older.

uv tool install --python 3.12 'oaax-conformance[e2e]'

[e2e] adds onnx and onnxruntime: reading .onnx models and the end-to-end comparison. Without it you still get the toolchain tier and the runtime tier with --input.

Use

# a runtime: the .so and a model it can load
oaax-conformance runtime ./libRuntimeLibrary.so --model model.onnx [--init-config key=value]... [--out DIR]

# a toolchain: its Docker image, optionally with a runtime for the end-to-end check
oaax-conformance toolchain oaax-<vendor>-toolchain:<tag> [--runtime ./libRuntimeLibrary.so] [--out DIR]

No --model: the tests that send requests are BLOCKED and the run is INCOMPLETE. Open report.html in --out to see what each check did.

Try it without any vendor files, on the reference CPU runtime (about 20 seconds, @tiny-conv is a small model the wheel ships):

mkdir -p /tmp/rt && curl -sSL https://nbg1.your-objectstorage.com/oaax/runtimes/2.0.0/CPU/x86_64/Ubuntu/library.tar.gz | tar xz -C /tmp/rt   # arm machine: aarch64
oaax-conformance runtime /tmp/rt/libRuntimeLibrary.so --model @tiny-conv --out /tmp/report-rt

The reference runtime has known issues, so exit code 1 is the expected result here. A minimal machine needs libgomp1 and binutils.

What it checks

Tier Needs Checks
runtime/static the .so only exported symbols, getters, calls before init
runtime/lifecycle a working init init/cleanup rules, error text, cycles, threads, unload, memory, exit
runtime/model a model the runtime can load enqueue/retrieve, id echo, multi-model routing, timeouts, concurrency, input validation, leaks
toolchain the Docker image arguments, exit codes, log, runs without root / network / with a read-only input, hostile input
e2e both convert, load, run, compare with the ONNX reference

Every test has a level: MUST (required by the specification: a failure fails the run), SHOULD (recommended: a warning) or PROPOSED (planned for the next version: a warning). Every test is specified, with the quoted clause, in the test documentation.

Results

Exit code Meaning
0 no MUST check failed
1 a MUST failed
2 INCOMPLETE: nothing failed, but a MUST could not run (for example init needs vendor keys: pass them with --init-config)
3 bad command line, missing file, Docker or image
4 a check of the suite itself crashed: please report it

With --out DIR it writes report.html (self-contained, prints to PDF), report.json (for tools and archives) and junit.xml (for CI). Reports never contain the values of --init-config or of docker environment variables.

Apache 2.0.

Metadata

Release files for oaax-conformance 0.1.1

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 oaax-conformance 0.1.1
File Interpreter ABI Platform Actions
oaax_conformance-0.1.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details for oaax_conformance-0.1.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
oaax_conformance-0.1.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl Python 3 none Linux glibc 2.17+ ARM64 Details for oaax_conformance-0.1.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Total release size: 221.9 kB

Release files / oaax_conformance-0.1.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL oaax_conformance-0.1.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 110.3 kB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
cbc1d76e537cf5f4165d2ffe67f5a796aa2bcc4c1d50f26cfaba118d05978c0e
BLAKE2b-256 checksum
How to use checksums
f4a7e4405ac1bc57706e0561dcb581d671d96ecf3c40c6c8e037908f874fff3c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 30, 2026.

Transparency log

Release files / oaax_conformance-0.1.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL oaax_conformance-0.1.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 111.6 kB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
a3c06167981ef6e5c730924c2bcf2b82f38c4be1e8d3841a396ec159553fcbcd
BLAKE2b-256 checksum
How to use checksums
45942246efe8f35f4500c0ec7511a8777279db8a88a7bee55df3891b73d68592
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 30, 2026.

Transparency log

Security for oaax-conformance 0.1.1

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 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for oaax_conformance-0.1.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

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 30, 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.1.1 This release

2 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