Skip to main content

July 2023 Releases for conda and conda-build

· 5 min read
Bianca Henderson
Conda maintainer 🐍📦

The July 2023 releases are here! 🎊 Conda 23.7.0, 23.7.1, 23.7.2, and conda-build 3.26.0 are now available on both main and conda-forge channels.

Changes in Conda 23.7.0/23.7.1/23.7.2

To update conda, run:

conda install -n base conda=23.7.2

✨ What's New? ✨

In the latest release of conda, new pre- and post-command plugin hooks that allow you to run your code before or after a conda subcommand are now available, along with a much improved subcommand plugin hook and plugin infrastructure. There is also a new health check for conda doctor that detects altered packages in an environment by comparing expected and computed sha256 checksums, as well as a much-expanded API and command docs (conda env!).

PackagingCon Call for Participation

· 2 min read
Dave Clements
Open Source Community Manager

Image credit: EUREF Campus Berlin


PackagingCon 2023

  • 26-28th October
  • Berlin and online
  • Submission deadline: 31st July
  • Early registration ends: 8th September

PackagingCon 2023 will bring together different software packaging ecosystems to share best practices and discuss common challenges in software packaging. From Python’s pip to Rust’s cargo to Julia’s Pkg, from Debian apt over Nix, to Homebrew, conda and mamba, and from vcpkg to Spack. The 2021 conference drew 350+ participants and featured over 60 presentations.

Conda and the libmamba solver: Roll-out plan 2023

· 4 min read
Jannis Leidel
Steering council member
Jaime Rodríguez-Guerra
Steering council member

Over a year ago, the conda team at Anaconda, together with conda developers at Quansight and QuantStack, announced the release of a new solver for conda based on the libraries that the mamba project had developed on top of the venerable libsolv project.

Update

The default solver change for conda will be occurring in a special 23.10.0 release (not in 23.9.0). See the special announcement here.

TL;DR

  • From July 2023 on, conda-libmamba-solver will be part of the various installers. The default conda solver is still classic. Look out for the release of miniconda, Anaconda Distribution and miniforge soon.
  • From September 2023 on, the default conda solver will be libmamba. classic will be available via --solver=classic, if needed.
  • At some point in the future, we'll discuss whether the classic solver is kept around, maintained as a separate plugin, and/or deprecated for good. Feedback welcome!

Conda News, Issue #1!

· 7 min read
Dave Clements
Open Source Community Manager
Pinak Datta
Intern, Google Season of Docs

Welcome to the first ever conda community newsletter! The newsletter will highlight recent and upcoming activity that is relevant to the conda community. This first issue highlights community gathering spaces, upcoming events, the new rattler library, channel updates from conda-forge and Bioconda, a summary or recent conda-related web content, and finally releases and announcements.

We are hoping these will become a semi-regular feature in the conda landscape going forward. If you have an item to include in a future newsletter, please let us know by posting it to the Conda Communications Matrix Channel or by creating an issue in the Conda Communications GitHub Repo.

Exploring conda Community Spaces: Connect and Collaborate with Us!

· 3 min read
Pinak Datta
Intern, Google Season of Docs
Dave Clements
Open Source Community Manager

Welcome to conda Community Spaces!, Your gateway to a vibrant community where connections are forged, knowledge is shared, and inspiration flourishes. At conda, we are passionate about fostering open collaboration, embracing diverse perspectives, and creating a supportive environment for everyone. Join us on this exciting journey as we delve into the multitude of conda spaces designed to bring our community closer, empower your learning, and ignite your creativity.

Conda doctor: Detecting conda environment inconsistencies easily

· 3 min read
Mahe Iram Khan
Conda Maintainer

The newest conda doctor command will be available with conda version 23.5.0, enabling users to quickly detect corrupted packages (packages with files missing) in their conda environment.

One way packages in an environment may become corrupt is when one or more files in that package are accidentally deleted. Even a single missing file leads to a corrupted package. Until now there was no way to learn of these missing files except manually checking for their existence. With conda doctor, users can learn about all such packages in their conda environment with a single short command.

May Releases for Conda, Conda-Build, and Conda-Libmamba-Solver

· 5 min read
Bianca Henderson
Conda maintainer 🐍📦

May releases are here! 🎊 Conda 23.5.0, conda-build 3.25.0, and conda-libmamba-solver 23.5.0 are now available on both main and conda-forge:

Changes in Conda

To update conda, run:

conda install -n base conda=23.5.0

✨ What's New? ✨

The long-awaited conda doctor subcommand plugin has been implemented! The related conda issue is over nine years old and has been a regularly requested feature. The conda doctor command enables conda users to detect any packages with files missing (i.e., corrupt packages) in their conda environment.

How to use conda-build to build a Python package with C/C++ dependencies

· 5 min read
Vasvi Sood
Open Source Contributor

Image credit: Mahe Iram Khan


conda-build is an application that automates the process of building and distributing Python packages. It is a powerful tool that has the added advantage of handling dependencies that require C/C++ or other languages. This is particularly useful for scientific computing, where many Python packages have complex dependencies and require specialized libraries and tools.

A recipe outlines the steps needed to build a package from source code. We can create this "recipe" using grayskull. A recipe includes all the necessary information, from downloading and installing dependencies to compiling the source code and creating the final package. Conda-build then renders the recipe to build the package. A recipe typically includes:

  • A script that contains metadata.
  • The script that installs the files for the package on macOS and Linux.
  • The build script that installs the files for the package on Windows.
  • Any additional setup files, depending on the complexity of the package.

In this article, we will guide you through the process of building your Python package with conda-build! conda-build can help us handle even the most complex dependencies for our package, making the process smoother and more efficient. Let's get ready to build an amazing Python package!

How we reduced conda's index fetch bandwidth by 99%

· 7 min read
Daniel Holth
Conda maintainer

The new conda 23.3.1 release from March, 2023 includes an --experimental=jlap flag or experimental: ["jlap"] .condarc setting that can reduce repdata.json fetch bandwidth by orders of magnitude. This is how we developed conda's new incremental repodata feature.

Conda is a cross-platform, language-agnostic binary package manager that includes a constraint solver to choose compatible sets of packages. Before conda can install a package, it downloads information about all available packages. This allows the solver to make global decisions about which packages to install. The time and bandwidth spent downloading this metadata can be significant, but we have improved this in conda 23.3.1. By enabling the experimental: ["jlap"] feature in .condarc, conda users can see more than a 99% reduction in index fetch bandwidth.

Welcome to conda.org!

· 2 min read
Travis Hathaway
Conda maintainer 👷🔧

Image credit: Nico Smit on Unsplash


Welcome to conda.org! This website was created by and for the conda community and aims to support the greater conda ecosystem. As a site visitor, these are just some of the things you can expect to find here going forward:

  • News and updates for many projects within the conda ecosystem; from organizations such as conda, mamba, and conda-forge
  • Information on how to get involved with our projects (check out the Community page)
  • Emerging trends and technologies within the ecosystem; this site will be a platform to promote cutting edge work going on in the community
  • Plus more!