← ClaudeAtlas

rust-pyo3-project-standardlisted

Enforce a strict project standard for Rust-backed Python packages built with PyO3 and Maturin, including abi3 compatibility, Python wrapper typing, wheel packaging, cross-platform CI, API/documentation parity, and release gates. Use when creating, auditing, restructuring, testing, or releasing a repository containing Cargo.toml plus pyproject.toml with maturin/PyO3; when deciding whether Python-project-standard rules such as src layout, Python 3.13, beartype, or pydantic apply; or when a Rust extension exposes Python APIs.
VoldemortGin/AI-Coding-Skill-Bible · ★ 1 · API & Backend · score 72
Install: claude install-skill VoldemortGin/AI-Coding-Skill-Bible
# Rust/PyO3 Project Standard Apply this profile together with `python-project-standard` and `rust-project-standard`. It defines narrow substitutions for conflicts caused by Maturin, PyO3, and abi3; it is not a general waiver from either standard. Read `references/standard.md` before designing, auditing, or changing a project. ## Classify the repository Use this profile only when all of these are true: - Rust is the canonical implementation or extension core. - Python exposes that core through PyO3. - Maturin builds the Python distributions. - The repository ships an importable Python package, not merely a private Rust binary that embeds Python. Use `polyglot-core-standard` instead when one canonical core serves multiple first-class host languages. Continue applying this profile to the Python host. ## Apply the exception map Keep every unlisted rule from both parent standards. Permit only these explicit substitutions: 1. **Maturin source layout:** accept `python/<package>/` when `[tool.maturin].python-source = "python"` and the built wheel contains exactly that package. Do not accept a loose root package or `import src`. 2. **Python compatibility floor:** derive `requires-python` from the documented abi3 compatibility promise. It may be lower than 3.13. Test every declared minor version and build with the matching lowest PyO3 abi3 feature. 3. **Runtime typing:** require strict static typing for the Python wrapper. Require beartype only for substantial