Skip to main content

Python 3.14 is already usable on conda-forge (not just available)

· 4 min read
Uwe L. Korn
Member of conda-forge/core

With yesterday's release of Python 3.14 (insert release link), we not only have Python 3.14 itself available on conda-forge, but also a wide selection of packages to make use of it. As the conda ecosystem is based on binary packages, this means that several packages are already built for Python 3.14.

You can create a new environment by using:

conda create -n py314 python=3.14 -c conda-forge

At the time of writing, the Python 3.14 migration is 77% progressed. This means that:

  • 1273 (41%) packages that needed a rebuild were built for Python 3.14
  • 1115 (36%) have an open PR to get rebuilt for Python 3.14
  • 704 (23%) packages are still waiting for a dependency to be rebuilt.

What is already usable?

While most binary packages needed to be rebuilt for Python 3.14, we did not need to rebuild packages that are abi3-compatible. Here, you can use the builds that were done with previous Python versions. Similarly, all pure Python packages (i.e. the ones we call noarch: python in the conda world) didn't need to be rebuilt and can be used directly.

Still, as the statistics above show, not all packages are available for Python 3.14 yet. The most prominent here include pytorch, numba, and cytoolz. For the latter two, we need to wait for them to provide new releases that make them compatible with 3.14. In the case of PyTorch, we either need to wait for the new 2.10.0 release or may be able to backport changes to the 2.9.0 release. You can track the progress on the upstream side in pytorch#156856 and on the conda-forge side in pytorch-cpu-feedstock#420. For numba, we expect the necessary changes to land in 0.63. As a there is already a beta available, we will wait here for the final release and won't backport any changes. For other packages, similar approaches will be taken. You can track the progress for each of them if you click on the respective link on the status page.

If you face any issue with the Python package itself, please report that on the python-feedstock. For problems with individual packages, please do so on the respective conda-forge/<package>-feedstock repository.

How was conda-forge able to provide release day availability?

Like we already did in the releases for Python 3.13 and Python 3.12, we have started building packages for Python 3.14 once the release candidate was available. As ABI-stability is guaranteed between release candidates, these packages are also usable with the final Python release. Thus, we were able to start building packages for this release already on August 20. Unfortunately, as part of this release process, the magic number stored in Python bytecode (.pyc) was bumped in RC2 and RC3. This means that the bytecode will be regenerated on the first run for packages built with a version earlier than RC3. As the impact of this has been minor, we did not rebuild the respective packages and expect that through package updates, this will quickly become unnoticeable.

Note that the current migration only includes the "default" flavour of Python. We have not yet started building packages for the freethreading version. Once work on making the migrator more selective has progressed, we will start to build packages.