From b8a083fde2e5250566f383bcb533b65b90a37240 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Tue, 24 Sep 2024 11:58:35 -0500 Subject: [PATCH 01/10] python 3.13 blog --- blog/2024-09-24-python313.md | 56 ++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 blog/2024-09-24-python313.md diff --git a/blog/2024-09-24-python313.md b/blog/2024-09-24-python313.md new file mode 100644 index 0000000000..7f58b68ee8 --- /dev/null +++ b/blog/2024-09-24-python313.md @@ -0,0 +1,56 @@ +--- +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 + +This will create a new environment with python 3.13 with global +interpreter lock (GIL) enabled. A migration is underway that builds +python extensions like numpy and scipy conda packages. The migration +is 50% complete at the time of writing. Once the first release of +python 3.13.0 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 meta-package 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 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_GIL=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 itself can be opened at [python-feedstock](https://github.com/conda-forge/python-feedstock) From 3f3833882f5b58bfd61de99eb6502bae2942fa15 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Tue, 24 Sep 2024 12:00:06 -0500 Subject: [PATCH 02/10] Fix spaces --- blog/2024-09-24-python313.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/blog/2024-09-24-python313.md b/blog/2024-09-24-python313.md index 7f58b68ee8..10822a5f9c 100644 --- a/blog/2024-09-24-python313.md +++ b/blog/2024-09-24-python313.md @@ -40,12 +40,12 @@ 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_GIL=1 + export PYTHON_GIL=1 You can also use the convenience conda package to set this environment variable for you: - conda install python-jit + conda install python-jit Note that the JIT is available only for x86_64 builds of python in conda. From a5817a27b5324e7f2bf12a342d3db47a2997193a Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Tue, 24 Sep 2024 12:18:33 -0500 Subject: [PATCH 03/10] Fix typo --- blog/2024-09-24-python313.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/blog/2024-09-24-python313.md b/blog/2024-09-24-python313.md index 10822a5f9c..74122110ad 100644 --- a/blog/2024-09-24-python313.md +++ b/blog/2024-09-24-python313.md @@ -22,7 +22,7 @@ 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 meta-package to explicitly @@ -40,7 +40,7 @@ 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_GIL=1 + export PYTHON_JIT=1 You can also use the convenience conda package to set this environment variable for you: From fbd1d7d4398591468920bfae286f47406d2a15c7 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Tue, 24 Sep 2024 15:15:07 -0500 Subject: [PATCH 04/10] Apply suggestions from code review Co-authored-by: jaimergp --- blog/2024-09-24-python313.md | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/blog/2024-09-24-python313.md b/blog/2024-09-24-python313.md index 74122110ad..64df990005 100644 --- a/blog/2024-09-24-python313.md +++ b/blog/2024-09-24-python313.md @@ -6,38 +6,40 @@ 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 +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 global + + +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 numpy and scipy conda packages. The migration -is 50% complete at the time of writing. Once the first release of -python 3.13.0 is available the `python_rc` label will not be needed +Python extensions like those included in `numpy` and `scipy` as conda packages. The migration +is 50% 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 +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 meta-package to explicitly +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 python extensions yet and +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 +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 +(JIT) compiler included in the Python interpreter. This interpreter is experimental, but can be used by setting the environment variable export PYTHON_JIT=1 @@ -47,10 +49,11 @@ variable for you: conda install python-jit -Note that the JIT is available only for x86_64 builds of python in +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 +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 itself can be opened at [python-feedstock](https://github.com/conda-forge/python-feedstock) +Any issues with python itself can be opened at [`python-feedstock`](https://github.com/conda-forge/python-feedstock). + From 73026b35bec7cffdfabf7192539ad0ee1a9f911c Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Tue, 24 Sep 2024 15:15:23 -0500 Subject: [PATCH 05/10] Update blog/2024-09-24-python313.md Co-authored-by: jaimergp --- blog/2024-09-24-python313.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blog/2024-09-24-python313.md b/blog/2024-09-24-python313.md index 64df990005..d732366921 100644 --- a/blog/2024-09-24-python313.md +++ b/blog/2024-09-24-python313.md @@ -34,7 +34,7 @@ install the GIL variant: 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 +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. From bea47996fa169033bc8b115651134160df93419b Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 24 Sep 2024 20:42:30 +0000 Subject: [PATCH 06/10] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- blog/2024-09-24-python313.md | 1 - 1 file changed, 1 deletion(-) diff --git a/blog/2024-09-24-python313.md b/blog/2024-09-24-python313.md index d732366921..9be2e568c6 100644 --- a/blog/2024-09-24-python313.md +++ b/blog/2024-09-24-python313.md @@ -56,4 +56,3 @@ 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 itself can be opened at [`python-feedstock`](https://github.com/conda-forge/python-feedstock). - From a266749357c9f3b6348b0bcce17524f5a6e8c589 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Tue, 24 Sep 2024 15:56:17 -0500 Subject: [PATCH 07/10] move --- blog/{2024-09-24-python313.md => 2024-09-24-python-313.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename blog/{2024-09-24-python313.md => 2024-09-24-python-313.md} (100%) diff --git a/blog/2024-09-24-python313.md b/blog/2024-09-24-python-313.md similarity index 100% rename from blog/2024-09-24-python313.md rename to blog/2024-09-24-python-313.md From c705693085bddf61305aa6c1f9c8b82f9186e513 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Tue, 24 Sep 2024 16:01:12 -0500 Subject: [PATCH 08/10] acknowledge --- blog/2024-09-24-python-313.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/blog/2024-09-24-python-313.md b/blog/2024-09-24-python-313.md index 9be2e568c6..902385356d 100644 --- a/blog/2024-09-24-python-313.md +++ b/blog/2024-09-24-python-313.md @@ -55,4 +55,11 @@ 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 itself can be opened at [`python-feedstock`](https://github.com/conda-forge/python-feedstock). +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. From 4000fb25c5c76d4832bcbb062c0e991364a9c95a Mon Sep 17 00:00:00 2001 From: jaimergp Date: Thu, 26 Sep 2024 11:29:33 +0200 Subject: [PATCH 09/10] Update blog/2024-09-24-python-313.md --- blog/2024-09-24-python-313.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blog/2024-09-24-python-313.md b/blog/2024-09-24-python-313.md index 902385356d..c7e198a485 100644 --- a/blog/2024-09-24-python-313.md +++ b/blog/2024-09-24-python-313.md @@ -17,7 +17,7 @@ command: 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 50% complete at the time of writing. Once the first final release of +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. From 6d3d5bb553da67cc3d81a303769336c56953662d Mon Sep 17 00:00:00 2001 From: jaimergp Date: Thu, 26 Sep 2024 11:35:32 +0200 Subject: [PATCH 10/10] update date --- blog/{2024-09-24-python-313.md => 2024-09-26-python-313.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename blog/{2024-09-24-python-313.md => 2024-09-26-python-313.md} (100%) diff --git a/blog/2024-09-24-python-313.md b/blog/2024-09-26-python-313.md similarity index 100% rename from blog/2024-09-24-python-313.md rename to blog/2024-09-26-python-313.md