Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

python 3.13 blog #2314

Merged
merged 10 commits into from
Sep 26, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 65 additions & 0 deletions blog/2024-09-26-python-313.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
---
authors:
- isuruf
tags: [infrastructure]
---

# Python 3.13 Release candidate builds on conda-forge

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

<!-- truncate -->

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](/status/migration/?name=python313) 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`](https://github.com/conda-forge/python-feedstock).

### Acknowledgements

Thanks to Uwe Korn ([@xhochy](https://github.com/xhochy)) for getting us started
and for Jonathan Helmus ([@jjhelmus](https://github.com/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.