November 2024 Releases
The November 2024 releases included updates to conda, conda-build, and conda-libmamba-solver! π All of these have been released to both main
and conda-forge
channels.
The November 2024 releases included updates to conda, conda-build, and conda-libmamba-solver! π All of these have been released to both main
and conda-forge
channels.
The recent approval of a new recipe format (v1) by the Conda Steering Council via CEP-13 and CEP-14 marks an important milestone in the evolution of package management in the conda ecosystem. While the community embraces the potential improvements that come with the new format, we acknowledge that the v1 recipe format is still undergoing development in rattler-build. Consequently, the v0 recipe format remains widely in use, emphasizing the need to balance innovation with support for legacy systems.
The October 2024 releases included updates to conda-package-handling and conda-package-streaming! π All of these have been released to both main
and conda-forge
channels.
The September 2024 releases included updates to conda, conda-build, and conda-libmamba-solver! π All of these have been released to both main
and conda-forge
channels.
To update conda, run:
conda install -n base conda=24.9.1
This is an announcement about an important and positive future change in conda's functionality:
Following feedback from conda users about the pre-configuration of the conda code base to favor channels from Anaconda Inc, we've started the process to deprecate hardcoding Anaconda's channels as the default set of channels in the conda source code, which is a remnant of conda's incubation at the company.
In the future, we will rely on providers of conda distributions, such as miniforge or Anaconda (including miniconda), to pre-configure their preferred channels, e.g. by running the necessary conda config --set channels
command.
We're also going to continue to work on improving channel management in the foreseeable future and would love to get your feedback.
We're happy to announce that rattler, a suite of Rust crates with Python bindings for conda package management, has officially joined the conda community organization. This move marks a significant milestone in the evolution of the conda ecosystem. The conda community is a multi-stakeholder organization for the conda ecosystem, and the defining body that sets forth new standards.
rattler
?βThe rattler crates were originally created by Bas Zalmstra and further developed at prefix.dev.
Its key features include:
Rattler's functionality spans from reading index metadata and searching packages to resolving, downloading, installing, and even writing packages. At prefix.dev all next-generation tools for the conda ecosystem are built upon rattler, such as:
Rattler is already widely used to build custom tooling (as is done by large organizations such as Palantir, QuantCo and the Chicago Trading Company among others).
The Python bindings to rattler, originally developed by Tarun Pratap Singh are one of the easiest ways to programmatically deal with conda packages. They can be installed from conda-forge
or PyPI
!
import asyncio
import tempfile
from rattler import solve, install, VirtualPackage
async def main() -> None:
# Let's solve the environment
print("started solving the environment")
solved_records = await solve(
# Channels to use for solving
channels=["conda-forge"],
# The specs to solve for
specs=["python 3.12.*", "pip", "requests 2.31.*"],
# Virtual packages define the specifications of the environment
virtual_packages=VirtualPackage.detect(),
)
print("solved required dependencies")
# Install the packages into a new environment (or updates it if it already existed).
env_path = tempfile.mkdtemp()
await install(
records=solved_records,
target_prefix=env_path,
)
print(f"created environment: {env_path}")
if __name__ == "__main__":
asyncio.run(main())
By joining the conda community as a new community project, the rattler
project now falls under community governance. This transition opens up new opportunities for the wider conda ecosystem to leverage and contribute to this powerful toolset. The development continues to be led by the team at prefix.dev who will continue with high velocity on lots of innovations for the conda ecosystem.
The conda community is an open source software community that is engaged in the development of the tooling around conda packages. Members of the conda community are employees of prefix.dev, Anaconda, Quansight, NVIDIA, Voltron Data and other companies that have a vested interest in the conda ecosystem.
If you are a tool developer and interested in the capabilities of rattler
or py-rattler
, you can find the documentation here:
rattler
(Note: each create has its own documentation)You can find the authors of rattler on the prefix.dev Discord - feel free to connect and ask questions! We are β of course β also active on the conda community channels (such as Element).
The first "Chatting with the Conda Community" is out! In this episode, Wolf Vollprecht and Filipe Fernandes talk about the origins of conda-forge. Watch the video here.
Did you ever wonder how & when conda-forge was created? In this first edition of "Chatting with the Conda Community" we are uncovering the origin story of conda-forge.
Other topics:
pixi
and what Filipe thinks about itFilipe Fernandes (also know as ocefpaf) is a physical oceanographer turned research software engineer, and software packaging hobbyist. He is very passionate about open source software and tries to make Met/Ocean science better with code. Filipe is a conda steering council member and a conda-forge core member.
Your host is Wolf Vollprecht, CEO of prefix.dev, a conda steering council member and conda-forge core member.
Get to know the conda ecosystemβa vibrant community supporting an open-source, language-agnostic, and multi-platform package management system. Discover conda CLI tools for managing packages and environments, and explore key repositories like conda-forge, bioconda and defaults. You will learn how to get started with conda tools, the important things to keep in mind, and how multistakeholder governance ensures the ecosystem remains reliable and accessible to all.
The June 2024 releases included updates to conda-index, conda-package-streaming and conda-package-handling! π All of these new releases have been released to both main
and conda-forge
.
To update conda-index to the latest version, run:
conda install -n base conda-index=0.5.0
In the realm of package management and environment configuration, conda
has
emerged as a versatile tool empowering developers with environment management. A
pivotal aspect of conda
's architecture lies in its prefix system, which
underwent a significant evolution over its previous versions, transforming conda
from a
simple package manager into a sprawling environment manager. In this technical
discourse, we delve into the intricacies of conda
's prefix system, shedding
light on its evolution and the five distinct prefixes delineated within the
conda
source code.