Skip to content

Commit e4aa301

Browse files
isurufjaimergppre-commit-ci[bot]
authored
python 3.13 blog (#2314)
* python 3.13 blog * Fix spaces * Fix typo * Apply suggestions from code review Co-authored-by: jaimergp <[email protected]> * Update blog/2024-09-24-python313.md Co-authored-by: jaimergp <[email protected]> * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * move * acknowledge * Update blog/2024-09-24-python-313.md * update date --------- Co-authored-by: jaimergp <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
1 parent b232719 commit e4aa301

File tree

1 file changed

+65
-0
lines changed

1 file changed

+65
-0
lines changed

blog/2024-09-26-python-313.md

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
---
2+
authors:
3+
- isuruf
4+
tags: [infrastructure]
5+
---
6+
7+
# Python 3.13 Release candidate builds on conda-forge
8+
9+
conda-forge now supports Python 3.13 release candidates on conda.
10+
You can create a new environment with Python 3.13 by running the
11+
command:
12+
13+
conda create -n py313 python=3.13 -c conda-forge/label/python_rc -c conda-forge
14+
15+
<!-- truncate -->
16+
17+
This will create a new environment with Python 3.13 with the global
18+
interpreter lock (GIL) enabled. A migration is underway that builds
19+
Python extensions like those included in `numpy` and `scipy` as conda packages. The migration
20+
is [55% complete](/status/migration/?name=python313) at the time of writing. Once the first final release of
21+
`python` 3.13 is available the `python_rc` label will not be needed
22+
anymore.
23+
24+
New in this Python release is the `python-freethreading` build which
25+
removes the GIL and enables free threading. To install a `freethreading`
26+
build, you can do:
27+
28+
conda create -n py313 python=3.13 python-freethreading -c conda-forge/label/python_rc -c conda-forge
29+
30+
Analogous to this package we also have a metapackage to explicitly
31+
install the GIL variant:
32+
33+
conda create -n py313 python=3.13 cpython-gil -c conda-forge/label/python_rc -c conda-forge
34+
35+
Note that there are no conda packages for freethreading Python extensions yet and
36+
we hope to start a migration for freethreading extensions in the
37+
coming weeks. Till then, you should use `pip` to install a package
38+
unless the package and all its Python dependencies are `noarch` in which
39+
case conda installing the package will work.
40+
41+
Another new feature of this release is the experimental just-in-time
42+
(JIT) compiler included in the Python interpreter. This interpreter is
43+
experimental, but can be used by setting the environment variable
44+
45+
export PYTHON_JIT=1
46+
47+
You can also use the convenience conda package to set this environment
48+
variable for you:
49+
50+
conda install python-jit
51+
52+
Note that the JIT is available only for `x86_64` builds of python in
53+
conda.
54+
55+
You can also use debug builds of Python on conda-forge for non-Windows
56+
systems by using the `conda-forge/label/python_debug` label.
57+
58+
Any issues with python conda package itself can be reported at [`python-feedstock`](https://github.com/conda-forge/python-feedstock).
59+
60+
### Acknowledgements
61+
62+
Thanks to Uwe Korn ([@xhochy](https://github.com/xhochy)) for getting us started
63+
and for Jonathan Helmus ([@jjhelmus](https://github.com/jjhelmus)) for guidance.
64+
Also thanks to conda-forge/core and all the maintainers of feedstocks in conda-forge
65+
for the hard work in getting the Python 3.13 migration underway.

0 commit comments

Comments
 (0)