Registry / devops / puccinialin

puccinialin

JSON →
library0.1.14pypypi✓ verified 26d ago

Puccinialin is a Python library designed to install Rust (cargo and rustc) into a temporary, cache-aware directory. This helps Python projects with Rust-based build backends bootstrap their Rust dependencies without modifying the host's environment. The current version is 0.1.9, and its release cadence appears irregular, with updates driven by need rather than a fixed schedule.

pip install puccinialin
INSTALL
IMPORT
SIG · PUCCINIALIN
P
puccinialin
devopspythonv0.1.14
Install
2.5s avg
Import
309ms
Disk
22MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v0.1.14 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.95 runs
installs and imports cleanly · install 0.0s · import 0.336s · 23.5MB
glibc
py 3.103.95 runs
installs and imports cleanly · install 2.5s · import 0.282s · 24MB
22MB installed
● package 22MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

setup_rust
from puccinialin import setup_rust
The primary function for installing Rust.

This quickstart demonstrates how to use `setup_rust` to install Rust and obtain the necessary environment variables. These variables can then be used to execute Rust commands, such as `cargo build`, within a Python script.

import os from subprocess import check_call from puccinialin import setup_rust # Install Rust into a user cache directory by default, or specify a path extra_env = setup_rust() # Use the returned environment variables to call Rust tools like cargo # For example, to run 'cargo build' with the installed Rust environment: try: print("Attempting to run 'cargo build' with installed Rust...") # Combine current environment with the extra_env provided by puccinialin check_call(["cargo", "build"], env={**os.environ, **extra_env}) print("Cargo build command executed successfully.") except Exception as e: print(f"Error executing cargo build: {e}") print("Note: 'cargo build' requires a Rust project in the current directory. This is an example of how to use the setup_rust output.")
Debug
Known issues
breakingPuccinialin requires Python version 3.9 or newer. Installation or use in environments with older Python versions (e.g., 3.8) will result in installation failures or 'No matching distribution found' errors.
fix
Ensure your Python environment is 3.9 or higher. Upgrade Python or activate a compatible virtual environment before installing puccinialin.
affects: <0.1.0 (implicitly, as 0.1.x requires >=3.9)
gotchaThe `setup_rust` function returns a dictionary of environment variables. It's crucial to merge these with `os.environ` when executing Rust commands via `subprocess` to ensure the newly installed Rust toolchain is properly used. Failing to do so will result in Rust commands not being found or using a different, potentially incompatible, Rust installation.
fix
When calling subprocess commands involving Rust, always merge the `extra_env` dictionary returned by `setup_rust` with the current environment: `env={**os.environ, **extra_env}`.
affects: All versions
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'puccinialin'
This error typically occurs when `puccinialin` is a build dependency for another package, but it has not been successfully installed or is not accessible in the Python environment where the build process is running.
fix
Ensure `puccinialin` is installed in the active environment by running `pip install puccinialin`. If it's a build dependency for another package, ensure your Python environment is correctly set up for build isolation or that `puccinialin` is listed as a `build-system` requirement in the `pyproject.toml` of the dependent project.
ERROR: Could not find a version that satisfies the requirement puccinialin (from versions: none) ERROR: No matching distribution found for puccinialin
This error means pip could not find a compatible version of `puccinialin` for your current Python version or operating system, often due to `puccinialin` requiring Python 3.9 or higher.
fix
Upgrade your Python interpreter to version 3.9 or newer (e.g., Python 3.9, 3.10, 3.11, or 3.12). You can check compatible versions on the `puccinialin` PyPI page.
LibMambaUnsatisfiableError: Encountered problems while solving: package puccinialin-0.1.5-pyhd8ed1ab_0 requires python >=3.9, but none of the providers can be installed.
This Conda-specific error indicates a dependency conflict where `puccinialin` explicitly requires Python 3.9 or a newer version, but your current Conda environment is using an older, incompatible Python version.
fix
Create a new Conda environment with a compatible Python version (3.9 or higher) using `conda create -n myenv python=3.9` (or `3.10`, `3.11`, `3.12`), activate it (`conda activate myenv`), and then try installing the problematic package that depends on `puccinialin`.
Target triple not supported by rustup: i386-unknown-linux-gnu
`puccinialin` relies on `rustup` to install Rust toolchains, and this error occurs when `rustup` cannot find a supported Rust target triple that matches the detected Python platform (e.g., an unsupported architecture or operating system combination).
fix
Ensure you are running on a platform supported by Rustup (e.g., x86_64, aarch64 architectures on common operating systems like Windows, Linux, macOS). If running on a less common or older platform, manual Rust installation or cross-compilation might be necessary outside of `puccinialin`'s scope.
Upgrade
Version history
0.1.14latest on PyPI · released Jul 21, 2026
Audit
Dependencies
httpxrequiredNetworking requests
tqdmrequiredProgress bar display
platformdirsrequiredPlatform-specific directory paths
filelockrequiredFile locking mechanisms
Agent activity
13 hits · last 30 days
node
8
Resources
puccinialin — pip install puccinialin · libregistry