Platform and support
Supported in 0.1
- The
manylinux_2_28_x86_64wheel: Linux x86-64 with glibc 2.28 or newer. - One CPython 3.12 ABI3 wheel, validated on regular CPython 3.12, 3.13, and 3.14.
- A separate version-specific free-threaded CPython 3.14t wheel. Audited extensions may enable the GIL when required; no blanket no-GIL scaling claim is made.
- Offline/in-memory 5G NR SA using the reviewed FR1 band 78, numerology 1, 106-resource-block SISO profile.
Run oai-python-diagnose --json to report the wheel profile and hash, OAI
revision, Python ABI/GIL mode, CPU and glibc floor, bundled OpenSSL runtime,
worker permissions, and launch/cleanup health.
Why Linux x86-64 first
These bindings compile selected OpenAirInterface C/C++ code rather than reimplementing it as portable Python. OAI's build assumptions, generated code, POSIX process and memory behavior, ELF dependency repair, SIMD/ISA paths, and telecom hardware ecosystem make Windows and macOS more than a packaging change. The 0.1 wheel therefore chooses one auditable platform floor.
Most code stays at that declared x86-64 floor. The LDPC segment encoder is one operation-level AVX2 exception with an explicit runtime guard; it does not silently raise the requirement for every module.
UHD and DPDK are familiar OAI dependencies for radio and high-throughput data
paths, but the offline bindings wheel does not link libuhd or DPDK librte_*
libraries. They are not required for the simulations documented here.
What is excluded from 0.1?
The wheel does not contain alternative Python implementations, propagation models, Sionna RT, native/custom CUDA, RF hardware or UHD/DPDK execution, an attached 5G core, or live E2/O-RAN runtime integration. It does not claim LTE/EPC/NSA, MIMO, mobility/handover, coordinated inter-cell interference, Windows-native bindings, macOS, or ARM wheels. Independent cells do not exchange waveforms. External channel models remain user-owned Python connected at the time-domain IQ insertion point.
Planned platform work
Linux AArch64 is the next platform target, including NVIDIA DGX Spark. It needs a separate dependency, ISA, wheel-repair, free-threading, and performance qualification rather than a relabelled x86 wheel.
A later over-the-air milestone may expose OAI's UHD and DPDK paths through Python-owned lifecycle and configuration. That means binding and validating the existing OAI integrations; it does not mean reimplementing UHD or DPDK in Python. It is not part of 0.1.
Get help
Use the issue tracker for a minimal reproducible installation, API, simulation, or documentation defect. Include redacted diagnostic JSON, the wheel SHA-256, Linux distribution, CPU, Python ABI, simulation mode, expected result, and complete exception.
Security issues must follow the private route in the security policy. Community support is best effort; no production-availability SLA is provided.