--- id: puccinialin version: "0.1.14" license: MIT OR Apache-2.0 license_treatment: permissive maintenance: active --- # puccinialin — Install rust into a temporary directory for boostrapping a rust-based build backend License: permissive · Maintenance: active · Downloads: 3.7M/mo ## What it is and what it does Puccinialin is a bootstrapping tool that installs Rust and Cargo into a user cache directory rather than the system environment. It solves the problem of building Rust-based Python packages on machines where Rust is not already installed, without requiring system-level modifications or manual Rust setup. The package detects the target platform by mapping Python's platform information (primarily SOABI) to a Rust target triple, then uses rustup to download and install the appropriate Rust toolchain into an isolated directory. The package is designed to be used as a build-time dependency, either called directly from setup scripts, integrated with setuptools-rust, or used as a custom build backend that only activates when Cargo is not already present. It returns environment variables that point build tools to the cached Rust installation, allowing downstream build systems like maturin or setuptools-rust to use it transparently. Use it for: - Bootstrap Rust toolchain during CI/CD builds on runners without pre-installed Rust. - Enable setuptools-rust projects to build on platforms lacking system Rust without requiring manual installation steps. - Use as a dynamic build dependency in maturin-based projects to install Rust only when needed. - Support cross-platform Python package builds that include Rust extensions on heterogeneous build environments. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Installs Rust and Cargo into a temporary cache directory to support Rust-based Python builds without modifying the host environment. Yes, if you are building or packaging Python projects that depend on Rust code and need to support environments without a pre-installed Rust toolchain. The package is actively maintained, has no known vulnerabilities, and low install friction. It is most valuable in CI/CD and automated build scenarios where you cannot assume Rust is already present. ## Install pip install puccinialin uv add puccinialin poetry add puccinialin ## Installing puccinialin Before you install: Low friction install with four lightweight runtime dependencies. Active maintenance with recent releases; last commit 2026-07-28. License in practice: Dual-licensed under MIT OR Apache-2.0, both permissive licenses with minimal restrictions on use or redistribution. Quickstart: from puccinialin import setup_rust import os from subprocess import check_call extra_env = setup_rust() check_call(["cargo", "build"], env={**os.environ, **extra_env}) Requires Python 3.9 or later; Rust installation is downloaded on first use, so network access and sufficient disk space in the cache directory are needed. Verify before relying: - Whether the package successfully handles all platform variants listed in rustup's manual installation guide beyond the primary SOABI detection method. - Performance characteristics when used in repeated builds or CI/CD pipelines with cache reuse. ## Package facts - License: MIT OR Apache-2.0 (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 3.7M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags rust installer for python builds, bootstrap rust toolchain, temporary rust installation, cargo setup for build backends, rust platform detection, rust-integration, build-bootstrap [View on SkillFed](https://skillfed.io/packages/puccinialin) · [View on PyPI](https://pypi.org/project/puccinialin/)