About this project

ONNX (Open Neural Network Exchange) is an open ecosystem and open-source format for AI models, covering both deep learning and traditional machine learning. Its goal is to let developers choose tools freely as projects evolve by enabling interoperability between frameworks and smoothing the path from research to production. The project defines an extensible computation graph model, built-in operators and standard data types. The current focus is on capabilities needed for inferencing (scoring). ONNX is widely supported across frameworks, tools and hardware, and the community is invited to participate in its evolution. Key resources listed in the README include documentation for the ONNX Python package, tutorials for creating ONNX models, and pre-trained ONNX models hosted on Hugging Face. Specification material covers the overview, the intermediate representation spec, versioning principles, operator documentation and the Python API overview. Programming utilities for working with ONNX graphs include shape and type inference, graph optimization, and opset version conversion. Installation is via PyPI: `pip install onnx`, or `pip install onnx[reference]` for optional reference implementation dependencies. Weekly packages are also published for experimentation and early testing. Detailed install instructions, common build options and common errors are documented separately. The package provides abi3-compatible wheels, allowing a single binary wheel to work across multiple Python versions from 3.12 onwards. Testing uses pytest; after installing pytest, tests run with the `pytest` command. A contributor guide covers development instructions. Build and release workflows set SOURCE_DATE_EPOCH to the source commit timestamp to remove timestamp-dependent variation from supported build steps and make independent build comparison easier. The README notes that this alone does not guarantee byte-for-byte identical artifacts across environments; a reproducibility check must also use the same source revision, dependency versions, toolchain, target platform and build configuration, then compare resulting artifacts. Such comparison complements release provenance attestations rather than replacing them. Governance is community-based with an open governance model, Special Interest Groups and Working Groups. Contribution guidance and a process for adding new operators are documented. Regular meetings of the Steering Committee, working groups and SIGs are scheduled, and community meetups have been held at least annually, with archived content from 2020 through 2023. Discussion happens through GitHub Issues and Slack. The project is licensed under Apache License v2.0, has a code of conduct, and notes trademark information.