The prefix.dev blog
Where we talk about software package and environment management.
![Cover image for 50x faster solves with sharded repodata](/_next/image?url=https%3A%2F%2Fstorage.googleapis.com%2Fprefix-cms-images%2Fblog%2Fsharded-repodata.jpg&w=3840&q=75)
50x faster solves with sharded repodata
Conda repodata fetching can be painfully slow, we are proposing an alternative method that drastically speeds this up.
![Bas Zalmstra](https://storage.googleapis.com/prefix-cms-images/blog/authors/bas.jpg)
![Cover image for The joy of building conda packages with rattler-build](/_next/image?url=https%3A%2F%2Fstorage.googleapis.com%2Fprefix-cms-images%2Fblog%2Fthe_love_of_building_packages.png&w=3840&q=75)
The joy of building conda packages with rattler-build
Explore a journey of integrating rattler-build into the conda-forge ecosystem, from tackling the unfamiliar territory of conda-build and rattler-build to crafting modern conda packages.
![Nichita Morcotilo](https://storage.googleapis.com/prefix-cms-images/blog/authors/nichita.jpg)
![Cover image for Using Python Projects With Pixi](/_next/image?url=https%3A%2F%2Fstorage.googleapis.com%2Fprefix-cms-images%2Fblog%2Fsnake-hands-shaking.png&w=3840&q=75)
Using Python Projects With Pixi
Pixi 0.18.0 ships with git, path and editable PyPI dependencies, improved PyPI <-> Conda mapping and experimental pyproject.toml support.
![Tim de Jager](https://storage.googleapis.com/prefix-cms-images/blog/authors/tim.jpg)
![Cover image for Introducing Pixi's Multiple Environments](/_next/image?url=https%3A%2F%2Fstorage.googleapis.com%2Fprefix-cms-images%2Fblog%2Fmultiple_environments_blog_post.png&w=3840&q=75)
Introducing Pixi's Multiple Environments
Unleash the power of multiple environments for the real power users!
![Ruben Arts](https://storage.googleapis.com/prefix-cms-images/blog/authors/ruben.jpg)
![Cover image for 7 Reasons to Switch from Conda to Pixi](/_next/image?url=https%3A%2F%2Fstorage.googleapis.com%2Fprefix-cms-images%2Fblog%2Fpixi-vs-conda.jpg&w=3840&q=75)
7 Reasons to Switch from Conda to Pixi
Pixi is conda-compatible and comes with more speed, lockfiles and tasks. It is the next-gen package manager for Python and R and more.
![Wolf Vollprecht](https://storage.googleapis.com/prefix-cms-images/blog/authors/wolf.jpg)
![Cover image for Adopting uv in pixi](/_next/image?url=https%3A%2F%2Fstorage.googleapis.com%2Fprefix-cms-images%2Fblog%2Flightning.png&w=3840&q=75)
Adopting uv in pixi
tl;dr we're integrating uv into pixi
![Wolf Vollprecht](https://storage.googleapis.com/prefix-cms-images/blog/authors/wolf.jpg)
![Cover image for Building a C++ package with rattler-build](/_next/image?url=https%3A%2F%2Fstorage.googleapis.com%2Fprefix-cms-images%2Fblog%2Fcpp_rallye_car.png&w=3840&q=75)
Building a C++ package with rattler-build
Conda packages are not only for Python! Learn how to build a C++ package with conda-forge and rattler-build.
![Wolf Vollprecht](https://storage.googleapis.com/prefix-cms-images/blog/authors/wolf.jpg)
![Cover image for rattler-build: A new parser](/_next/image?url=https%3A%2F%2Fstorage.googleapis.com%2Fprefix-cms-images%2Fblog%2Frattler-build-a-new-parser.jpg&w=3840&q=75)
rattler-build: A new parser
We have rewritten the rattler-build recipe parser with great developer experience in mind.
![Wolf Vollprecht](https://storage.googleapis.com/prefix-cms-images/blog/authors/wolf.jpg)
![Cover image for Prefix.dev end of year blog](/_next/image?url=https%3A%2F%2Fstorage.googleapis.com%2Fprefix-cms-images%2Fblog%2Fcore-team-in-basel.jpg&w=3840&q=75)
Prefix.dev end of year blog
Follow what we have created this year, and plan next year.
![Ruben Arts](https://storage.googleapis.com/prefix-cms-images/blog/authors/ruben.jpg)
![Cover image for Unleashing PyPI support in pixi](/_next/image?url=https%3A%2F%2Fstorage.googleapis.com%2Fprefix-cms-images%2Fblog%2Fpixi-pypi.png&w=3840&q=75)
Unleashing PyPI support in pixi
We've deeply integrated PyPI packages into pixi.toml's - read more ...
![Wolf Vollprecht](https://storage.googleapis.com/prefix-cms-images/blog/authors/wolf.jpg)
![Cover image for Introducing Py-Rattler](/_next/image?url=https%3A%2F%2Fstorage.googleapis.com%2Fprefix-cms-images%2Fblog%2Fintroducing_py-rattler.png&w=3840&q=75)
Introducing Py-Rattler
Py-Rattler, the Python partner to the blazingly fast Rattler library.
![Tarun Pratap Singh](https://storage.googleapis.com/prefix-cms-images/blog/authors/tarun.jpg)
![Cover image for Introducing rip - the fast & barebones pip implementation](/_next/image?url=https%3A%2F%2Fstorage.googleapis.com%2Fprefix-cms-images%2Fblog%2Ffast_car_wheel.png&w=3840&q=75)
Introducing rip - the fast & barebones pip implementation
rip resolves and install packages from PyPI from pure Rust
![Wolf Vollprecht](https://storage.googleapis.com/prefix-cms-images/blog/authors/wolf.jpg)
![Cover image for Let roboticists stress about boxes not packages](/_next/image?url=https%3A%2F%2Fstorage.googleapis.com%2Fprefix-cms-images%2Fblog%2Fpixi_robotics_illustration.png&w=3840&q=75)
Let roboticists stress about boxes not packages
Learn why `pixi` and the conda ecosystem is perfect for robotics.
![Ruben Arts](https://storage.googleapis.com/prefix-cms-images/blog/authors/ruben.jpg)
![Cover image for Let's stop dependency hell](/_next/image?url=https%3A%2F%2Fstorage.googleapis.com%2Fprefix-cms-images%2Fblog%2Flaunching_pixi%2Fpixi.png&w=3840&q=75)
Let's stop dependency hell
Pixi is a new package manager for the conda ecosystem, written in Rust. It's fast, multi-platform, and language-agnostic.
![Tim de Jager & Wolf Vollprecht](https://storage.googleapis.com/prefix-cms-images/blog/authors/tim_and_wolf.jpg)
![Cover image for The New Rattler Resolver](/_next/image?url=https%3A%2F%2Fstorage.googleapis.com%2Fprefix-cms-images%2Fblog%2Fnew_rattler_resolver%2Fheader.png&w=3840&q=75)
The New Rattler Resolver
We wrote a new, fast SAT solver for conda packages in Rust – a port of the libsolv C library.
![Wolf Vollprecht](https://storage.googleapis.com/prefix-cms-images/blog/authors/wolf.jpg)
![Cover image for Why we support PackagingCon](/_next/image?url=https%3A%2F%2Fstorage.googleapis.com%2Fprefix-cms-images%2Fblog%2Fpackaging-con-cover.jpg&w=3840&q=75)
Why we support PackagingCon
prefix.dev is going to be at PackagingCon 2023, the software packaging conference
![Wolf Vollprecht](https://storage.googleapis.com/prefix-cms-images/blog/authors/wolf.jpg)
![Cover image for How we implemented API keys for prefix!](/_next/image?url=https%3A%2F%2Fstorage.googleapis.com%2Fprefix-cms-images%2Fblog%2Fapi-keys.png&w=3840&q=75)
How we implemented API keys for prefix!
It's easy to overlook how important security is when implementing API keys
![Wolf Vollprecht](https://storage.googleapis.com/prefix-cms-images/blog/authors/wolf.jpg)
![Cover image for Introducing channels: host your own packages](/_next/image?url=https%3A%2F%2Fstorage.googleapis.com%2Fprefix-cms-images%2Fblog%2Fintroducing_channels.png&w=3840&q=75)
Introducing channels: host your own packages
Opening up hosting your own conda packages in public and private channels
![Tim de Jager](https://storage.googleapis.com/prefix-cms-images/blog/authors/tim.jpg)
![Cover image for The new rattler-build](/_next/image?url=https%3A%2F%2Fstorage.googleapis.com%2Fprefix-cms-images%2Fblog%2Frattler-build.jpg&w=3840&q=75)
The new rattler-build
We are releasing a Rust based conda-build replacement that builds cross-platform binary packages much faster.
![Wolf Vollprecht](https://storage.googleapis.com/prefix-cms-images/blog/authors/wolf.jpg)
![Cover image for Repodata patching: how conda-forge keeps compatible](/_next/image?url=https%3A%2F%2Fstorage.googleapis.com%2Fprefix-cms-images%2Fblog%2Frepodata_patching_illustration.jpg&w=3840&q=75)
Repodata patching: how conda-forge keeps compatible
Keeping packages in a large repository compatible over time is tricky. conda-forge has a highly useful mechanism for that: repodata-patching.
![Wolf Vollprecht](https://storage.googleapis.com/prefix-cms-images/blog/authors/wolf.jpg)
![Cover image for Introducing Rattler: Conda from Rust](/_next/image?url=https%3A%2F%2Fstorage.googleapis.com%2Fprefix-cms-images%2Fblog%2Fintroducing_rattler.png&w=3840&q=75)
Introducing Rattler: Conda from Rust
At prefix.dev we love Rust, but using conda/mamba from Rust is hard, so we started building Rattler, a set of crates that offer clean, compartmentalized building blocks for package management.
![Bas Zalmstra](https://storage.googleapis.com/prefix-cms-images/blog/authors/bas.jpg)
![Cover image for Introducing Online Environment Solving](/_next/image?url=https%3A%2F%2Fstorage.googleapis.com%2Fprefix-cms-images%2Fblog%2Fenvironment-solving.png&w=3840&q=75)
Introducing Online Environment Solving
We've released our first version of online environment solving
![Tim de Jager](https://storage.googleapis.com/prefix-cms-images/blog/authors/tim.jpg)
To upper bound or not – the Python packaging debates
A hot debate is happening in the Python packaging world – should you use upper bounds to constrain your dependencies or not? We think there must be a better way.
![Wolf Vollprecht](https://storage.googleapis.com/prefix-cms-images/blog/authors/wolf.jpg)
![Cover image for Mamba 1.2 Release](/_next/image?url=https%3A%2F%2Fstorage.googleapis.com%2Fprefix-cms-images%2Fblog%2Fmamba-1.2-release.jpg&w=3840&q=75)
Mamba 1.2 Release
We've released mamba 1.2 and here are all the improvements ...
![Wolf Vollprecht](https://storage.googleapis.com/prefix-cms-images/blog/authors/wolf.jpg)
![Cover image for Launching prefix.dev!](/_next/image?url=https%3A%2F%2Fstorage.googleapis.com%2Fprefix-cms-images%2Fblog%2Flaunching-prefix-cover.png&w=3840&q=75)
Launching prefix.dev!
We are excited to tell you more about what we are up to!
![Wolf Vollprecht](https://storage.googleapis.com/prefix-cms-images/blog/authors/wolf.jpg)
![Cover image for We're hiring](/_next/image?url=https%3A%2F%2Fstorage.googleapis.com%2Fprefix-cms-images%2Fblog%2Fwere-hiring-cover.png&w=3840&q=75)
We're hiring
We are hiring engineers to work on developer tools (C++, Rust), our platform (Rust, TypeScript, React) and conda-forge (Python, CI pipelines)...
![Wolf Vollprecht](https://storage.googleapis.com/prefix-cms-images/blog/authors/wolf.jpg)