skillfed

py-rattler

A blazing fast library to work with the conda ecosystem

py-rattler v0.25.0 776.8K downloads/30d#5,090 on PyPI450
Permissive license BSD-3-Clause Active released

What it is and what it does

py-rattler is a Python wrapper around Rattler, a Rust library that reimplements core conda ecosystem functionality for speed and language independence. It lets you solve package dependencies, install conda packages into environments, and run commands within those environments—all from Python code without relying on conda itself. The library is designed around async/await patterns and exposes the full power of the underlying Rust implementation.

The package targets developers who need to embed conda workflows into their own tools or applications. It has no runtime dependencies and ships as pre-compiled wheels for most platforms (x86_64, ARM, PowerPC, i686, Windows, macOS, Linux). Active maintenance and use in production systems like pixi and prefix.dev indicate maturity despite the Alpha classifier.

Use it for:

  • Build tools that need to create isolated conda environments programmatically without invoking conda directly.
  • Package managers or deployment systems that solve and install conda packages as part of their workflow.
  • Cross-platform applications that require conda ecosystem support without Python conda as a dependency.
  • Backend services (like prefix.dev) that need fast, non-blocking conda operations via async.
  • Version resolution and dependency analysis for conda packages in custom applications.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

py-rattler provides Python bindings to Rust-based conda ecosystem functionality, enabling environment solving, package installation, and conda operations without depending on Python's conda implementation.

Yes, if you need to embed conda workflows into Python applications. The permissive BSD license, active maintenance, zero runtime dependencies, and broad platform support make it low-risk. The Alpha status and mandatory async pattern are minor friction; verify that async fits your architecture and that the API stability meets your needs before committing to production use.

Install

py-rattler on PyPI

pip

pip install py-rattler

uv

uv add py-rattler

poetry

poetry add py-rattler

Installing py-rattler

Before you install

Medium install friction due to compiled wheels across many platforms (cp38-abi3 stable ABI). Active maintenance with recent releases; no runtime dependencies simplifies deployment.

License in practice

BSD-3-Clause permissive license allows commercial and proprietary use with minimal restrictions; attribution required.

Quickstart

pip install py-rattler

import asyncio
from rattler import solve, install, VirtualPackage

async def main():
    solved = await solve(
        channels=["conda-forge"],
        specs=["python ~=3.12.0"],
        virtual_packages=VirtualPackage.detect(),
    )
    await install(records=solved, target_prefix="./env")

asyncio.run(main())

Requires Python 3.8+; async/await pattern is mandatory for all operations.

Verify before relying

  • Whether the library's performance advantage over conda-python is quantified or measured in real-world scenarios.
  • Stability guarantees or API compatibility roadmap given the Alpha development status.

Package facts

License BSD-3-Clause (permissive)
Python support supports the current Python release (>=3.8)
Install friction medium — platform-specific wheel
Runtime dependencies none
Maintenance actively maintained — 66 days since the last release
Last repo commit
First released
Downloads 776,759/month — #5,090 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: py_rattler-0.25.0-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl; py_rattler-0.25.0-cp38-abi3-macosx_10_12_x86_64.whl; py_rattler-0.25.0-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl; py_rattler-0.25.0-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl; py_rattler-0.25.0-cp38-abi3-manylinux_2_17_ppc64.manylinux2014_ppc64.whl; py_rattler-0.25.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; py_rattler-0.25.0-cp38-abi3-manylinux_2_28_aarch64.whl; py_rattler-0.25.0-cp38-abi3-manylinux_2_28_armv7l.whl; py_rattler-0.25.0-cp38-abi3-musllinux_1_2_aarch64.whl; py_rattler-0.25.0-cp38-abi3-musllinux_1_2_armv7l.whl; py_rattler-0.25.0-cp38-abi3-musllinux_1_2_i686.whl; py_rattler-0.25.0-cp38-abi3-musllinux_1_2_x86_64.whl; py_rattler-0.25.0-cp38-abi3-win32.whl; py_rattler-0.25.0-cp38-abi3-win_amd64.whl

Development Status :: 3 - AlphaIntended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseProgramming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyProgramming Language :: RustTyping :: Typed

Tags

conda package management pythonenvironment solving and installationconda ecosystem bindingsfast conda operationsconda-forge integration
conda-ecosystemasync-firstrust-bindings

More Build Tools packages