Skip to main content

Python 3.13 Release candidate builds on conda-forge

· 2 min read
Isuru Fernando
Member of conda-forge/core

conda-forge now supports Python 3.13 release candidates on conda. You can create a new environment with Python 3.13 by running the command:

conda create -n py313 python=3.13 -c conda-forge/label/python_rc -c conda-forge

This will create a new environment with Python 3.13 with the global interpreter lock (GIL) enabled. A migration is underway that builds Python extensions like those included in numpy and scipy as conda packages. The migration is 55% complete at the time of writing. Once the first final release of python 3.13 is available the python_rc label will not be needed anymore.

New in this Python release is the python-freethreading build which removes the GIL and enables free threading. To install a freethreading build, you can do:

conda create -n py313 python=3.13 python-freethreading -c conda-forge/label/python_rc -c conda-forge

Analogous to this package we also have a metapackage to explicitly install the GIL variant:

conda create -n py313 python=3.13 cpython-gil -c conda-forge/label/python_rc -c conda-forge

Note that there are no conda packages for freethreading Python extensions yet and we hope to start a migration for freethreading extensions in the coming weeks. Till then, you should use pip to install a package unless the package and all its Python dependencies are noarch in which case conda installing the package will work.

Another new feature of this release is the experimental just-in-time (JIT) compiler included in the Python interpreter. This interpreter is experimental, but can be used by setting the environment variable

export PYTHON_JIT=1

You can also use the convenience conda package to set this environment variable for you:

conda install python-jit

Note that the JIT is available only for x86_64 builds of python in conda.

You can also use debug builds of Python on conda-forge for non-Windows systems by using the conda-forge/label/python_debug label.

Any issues with python conda package itself can be reported at python-feedstock.

Acknowledgements

Thanks to Uwe Korn (@xhochy) for getting us started and for Jonathan Helmus (@jjhelmus) for guidance. Also thanks to conda-forge/core and all the maintainers of feedstocks in conda-forge for the hard work in getting the Python 3.13 migration underway.