Rust-backed parser engine for the abnf package.
Project Links
Meta
Author: Charles Yeomans
Requires Python: >=3.10
Classifiers
Development Status
- 4 - Beta
Intended Audience
- Developers
License
- OSI Approved :: MIT License
Programming Language
- Python
- Python :: 3
- Python :: 3.10
- Python :: 3.11
- Python :: 3.12
- Python :: 3.13
- Python :: 3.14
- Rust
Topic
- Software Development :: Code Generators
- Software Development :: Interpreters
abnf-rust
Rust-backed parser engine for the abnf
package.
This is a companion distribution: install it via
pip install abnf[rust]
The package supplies the importable Python module abnf_rust, a compiled
extension built with PyO3 that accelerates the combinator engine in
abnf.parser. When abnf_rust is importable, abnf.parser automatically
routes its combinator primitives through this module; the pure-Python
implementation in abnf._parser_python remains available as a fallback and
as the reference for behavior parity.
To force the pure-Python backend even when abnf-rust is installed, set
the environment variable ABNF_NO_RUST=1.
Layout
rust/core/โ pure-Rust parser engine (no Python dependency).rust/pyo3/โ PyO3 bindings, compiled toabnf_rust._ext.src/abnf_rust/โ Python wrapper package that re-exports the compiled symbols.
Building
maturin develop --manifest-path packages/abnf-rust/Cargo.toml
License
MIT.
2.9.0
Aug 27, 2026
2.8.3
Aug 24, 2026
2.8.2
Aug 15, 2026
2.8.1
Aug 14, 2026
2.7.0
Aug 12, 2026
2.6.0
Jul 19, 2026
2.5.1
Jun 14, 2026
2.5.0
May 13, 2026
Wheel compatibility matrix
| Platform | CPython >=3.10 (abi3) |
|---|---|
| macosx_10_12_x86_64 | |
| macosx_11_0_arm64 | |
| manylinux_2_28_aarch64 | |
| manylinux_2_28_x86_64 | |
| win_amd64 |
Files in release
abnf_rust-2.9.0-cp310-abi3-macosx_10_12_x86_64.whl (428.2KiB)
abnf_rust-2.9.0-cp310-abi3-macosx_11_0_arm64.whl (425.9KiB)
abnf_rust-2.9.0-cp310-abi3-manylinux_2_28_aarch64.whl (469.7KiB)
abnf_rust-2.9.0-cp310-abi3-manylinux_2_28_x86_64.whl (477.1KiB)
abnf_rust-2.9.0-cp310-abi3-win_amd64.whl (314.1KiB)
abnf_rust-2.9.0.tar.gz (56.8KiB)
No dependencies