oxa — Python Reference Implementation
Pure, in-process protocol-conversion library for OpenAI Chat Completions, OpenAI Responses, and Anthropic Messages in Python.
Like the Go and Rust implementations, oxa in Python is not a proxy, HTTP client, router, retry layer, authentication service, or model capability database. It provides deterministic, pure conversions between protocol wire structures and oxa's shared Intermediate Representation (IR).
Architecture
- Hub-and-spoke: Spoke packages (
oxa.openai.chatcompletions,oxa.openai.responses,oxa.anthropic.messages) implement onlyface → IRandIR → face. No direct face-to-face conversions. - Zero runtime dependencies: Pure Python standard library only
(
dataclasses,typing,json,enum, etc.). - Opaque tool inputs (INV-1): Tool call arguments and streaming delta fragments remain unparsed raw JSON text.
- Shared Golden Vectors: Conforms to the exact same shared
vectors/golden suite as Go and Rust.
Installation
pip install elkpi-oxa
Import in Python:
import oxa
from oxa.openai.chatcompletions import decode_request
Development
The project uses uv for development and
environment management:
cd python
# Sync virtualenv and development dependencies
uv sync
# Run tests
uv run pytest
# Type check
uv run mypy
# Lint & format check
uv run ruff check .
uv run ruff format --check .
Vectors Location Convention
Test harnesses locate the shared vectors/ suite by walking up parent
directories from python/ until finding a directory containing both vectors/
and .git/. Tests skip cleanly if the repository root is absent (e.g. when
building a standalone package archive).
原始 JSON 入口
各 face 导出 decode_request_json(raw_text, table=None) /
decode_response_json(raw_text, table=None);stream decoder 支持 feed_json(raw_text)。
旧 dict 接口仍可用;若同时提供 raw_text,它必须对应该 dict。参数原文按完整对象/数组
路径提取,不再通过 tool ID 的字符串位置关联。空 loss 列表不是业务准入证明。
Metadata
Release files for elkpi-oxa 2.1.2
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 | |
|---|---|---|---|---|
| elkpi_oxa-2.1.2.tar.gz | 69.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| elkpi_oxa-2.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 146.8 kB
Release files / elkpi_oxa-2.1.2.tar.gz
| Download URL | elkpi_oxa-2.1.2.tar.gz |
|---|---|
| Size | 69.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0a9d6b6df2b25c69a08576836a61250d90810973a408de12c835670f38434b84
|
|
BLAKE2b-256 checksum How to use checksums |
6d8a6da7bf3271de4f39be0ea4fd9be5747a0eaf1c7671c048ec4b24da3f9dd0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / elkpi_oxa-2.1.2-py3-none-any.whl
| Download URL | elkpi_oxa-2.1.2-py3-none-any.whl |
|---|---|
| Size | 77.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5e8ce876891d2b1b5fe5ea9bc1fb47bbb729ca01da2f34e0f8d8d8374a9a2807
|
|
BLAKE2b-256 checksum How to use checksums |
5d049d97d327fa7592b4e5bfc01ffad36533a0fb3ee8daaa110fbf80e690f9ef
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for elkpi-oxa 2.1.2
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
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.