oaax
Python bindings for runtime libraries that implement the OAAX runtime interface
(OAAX 2.0). The package loads any compliant runtime library with ctypes and
lets you drive it with NumPy arrays: initialise, load models, enqueue inputs,
retrieve outputs, and clean up. It is not tied to any particular vendor's
runtime or model format.
Installation
pip install oaax
You need an OAAX runtime shared library (.dll on Windows, .so on Linux)
and a model file that runtime can load. The package doesn't ship either.
A generic CPU runtime, built on ONNX Runtime, is available as an archive for each platform:
- Windows x86_64: https://oaax.nbg1.your-objectstorage.com/runtimes/2.0.0/CPU/x86_64/Windows/library.tar.gz
- Linux x86_64: https://oaax.nbg1.your-objectstorage.com/runtimes/2.0.0/CPU/x86_64/Ubuntu/library.tar.gz
- Linux aarch64: https://oaax.nbg1.your-objectstorage.com/runtimes/2.0.0/CPU/aarch64/Ubuntu/library.tar.gz
Each archive contains the runtime library and the libraries it depends on.
Unpack it and pass the library path to Runtime(...).
To try it with a real model, the examples use UltraFace, a face detection model (MIT licensed) available from https://github.com/Linzaer/Ultra-Light-Fast-Generic-Face-Detector-1MB.
Usage
import numpy as np
from oaax import Runtime
with Runtime("path/to/RuntimeLibrary.dll") as rt:
print(rt.name, rt.version)
rt.init({}) # runtime-specific options, if any
model_id = rt.load_model("path/to/model.onnx")
io = rt.model_io(model_id) # None if the runtime doesn't report its inputs and outputs
if io is not None:
inputs, outputs = io
print(inputs)
image = np.random.rand(1, 3, 240, 320).astype(np.float32)
result = rt.run(model_id, {"input": image}, timeout_ms=10_000) # the model's real input name
for tensor in result:
print(tensor.name, tensor.data.shape, tensor.data.dtype)
Use the input names and shapes your model expects. If you pass an input name
the model doesn't have, run() raises ValueError when the runtime reports
its inputs; otherwise the request may time out.
For pipelined use, rt.enqueue(model_id, inputs) submits a request without
waiting, and rt.retrieve(timeout_ms) returns whichever request finishes
first.
Configuration keys passed to rt.init(...) and per-model options are defined
by each runtime vendor, not by the OAAX interface. A compliant runtime ignores
keys it doesn't recognise.
Documentation and source
- Full API notes, memory ownership rules and the test suite: README
- Examples with sample models: examples/
- Contributing: CONTRIBUTING.md
- Changes between versions: CHANGELOG.md
- Issues: github.com/OAAX-standard/PythonBindings/issues
License
Apache License 2.0. See LICENSE.
Metadata
Release files for oaax 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| oaax-0.1.1.tar.gz | 28.6 kB | With provenance | Details for oaax-0.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| oaax-0.1.1-py3-none-any.whl | Python 3 | none | any | Details for oaax-0.1.1-py3-none-any.whl |
Total release size: 52.7 kB
Release files / oaax-0.1.1.tar.gz
| Download URL | oaax-0.1.1.tar.gz |
|---|---|
| Size | 28.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5ddbd290f6a96869ea90069b6f32f2eec1ddc5473573efd975af0cdcf68b49b9
|
|
BLAKE2b-256 checksum How to use checksums |
bcb63b78b7177bd4f3fcb1d87f49f42f7b4cde0b8f561c295c845cd1cd6b24f2
|
| 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 logRelease files / oaax-0.1.1-py3-none-any.whl
| Download URL | oaax-0.1.1-py3-none-any.whl |
|---|---|
| Size | 24.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ebbd3f235f60595e2eea2d0a19952002f02a8fcd7ff3ac79439065d3b58eb227
|
|
BLAKE2b-256 checksum How to use checksums |
dd5e8fc7e9d52fb8207aca59876ea267cf02ab1ab398ff3ddbde8f325ec5363e
|
| 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 logSecurity for oaax 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.
Attestation for oaax-0.1.1.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 Oct 30, 2026.
Transparency logA 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.