Another #PyConUS video that I care about, the #Python Steering Council keynote. I wasn't on stage this year! because I'm no longer on the SC ๐Ÿ˜‚ but they did cover something I care about a lot: Free-threaded Python #PEP703

I've been pestering the SC a lot to say something about the state of it in 3.14, and boy, did they indulge me. Six and a half minutes of the 30 minute keynote is about the efforts to remove the GIL.

https://youtu.be/BrEjbbDdQsM?t=1320

Python Steering Council - Barry Warsaw, Donghee Na, Gregory P Smith & Pablo Galindo Salgado

YouTube

Oh look I made it to #PyConUS! Looking forward to talking _a lot_ about free-threaded Python (PEP 703) and not do any mandatory Steering Council or PSF Board things! ๐Ÿ˜…

Still more than happy to talk _about_ SC and PSF stuff though! But you will probably get a batch of look-how-cool-and-awesome about PEP 703 for free ๐Ÿ˜‚

#Python #PEP703

You know how sometimes a little hobby side-project can get a bit out of hand? An unexpected performance regression on speed.python.org that only showed up on GCC 5 (and 7) led me to set up more rigorous tracking of Python performance when using different compilers. I'm still backfilling data but I think it's pretty awesome to see how much, and how consistently, free-threaded Python performance has improved since 3.13:

https://github.com/Yhg1s/python-benchmarking-public

#Python #benchmarks #PEP703

GitHub - Yhg1s/python-benchmarking-public: Curated results from personal bench_runner benchmarks

Curated results from personal bench_runner benchmarks - Yhg1s/python-benchmarking-public

GitHub

Just released! PrettyTable 3.12 ๐Ÿš€

https://pypi.org/project/prettytable/3.12.0/

๐Ÿช‘ Add new themes to ColorTable
๐Ÿช‘ Drop support for Python 3.8
๐Ÿช‘ Deprecate hrule and tableStyle constants
๐Ÿช‘ Use SPDX license identifier
๐Ÿช‘ Add lots of type annotations
๐Ÿช‘ Generate __version__ at build to avoid slow importlib.metadata
๐Ÿช‘ Release to PyPI using Trusted Publishing and PEP 703 digital attestations
๐Ÿช‘ Fix drawing headerless coloured tables with title
๐Ÿช‘ And more!

#Python #PrettyTable #release #PEP703 #Python38

prettytable

A simple Python library for easily displaying tabular data in a visually appealing ASCII table format

PyPI

๐Ÿงต๐Ÿ›ž I made a thing!

https://hugovk.github.io/free-threaded-wheels/ tracks how many of the top 360 PyPI packages have free-threaded wheels.

๐ŸŸข Green packages (currently 3%) offer has free-threaded wheels

โšช Uncoloured packages (82%) offer pure-Python wheels

๐ŸŸ  Orange packages (16%) have no wheels ready for free-threading (yet!)

See also Quansight Labs' https://py-free-threading.github.io/tracking/ for a smaller yet fine-grained tracker that also includes build tools.

#Python #FreeThreaded #PEP703 #tracker #wheels

๐Ÿงต Free-Threaded Wheels

๐Ÿš€๐Ÿงต๐Ÿ Big thanks to @lysnikolaou of Quansight Labs for helping us get @pillow ready for free-threaded Python 3.13 (we did some work at the @europython sprints).

See https://labs.quansight.org/blog/free-threaded-python-rollout and https://py-free-threading.github.io to learn more.

We also upload nightly free-threaded (cp313t) wheels to help the community test:
https://anaconda.org/scientific-python-nightly-wheels/pillow/

And we'll upload them to PyPI as part of the Q3 release in October.

#Python #Python313 #PEP703 #FreeThreaded #EuroPython #EuroPython2024

Free-threaded CPython is ready to experiment with!

An overview of the ongoing efforts to improve and roll out support for free-threaded CPython throughout the Python open source ecosystem

Sadhana Srinivasan: The Gilectomy: Past, Present and Future @ PyCon Ireland 2023

https://youtu.be/bC5pdoOXXoc

In Python, multithreading has historically faced challenges due to the Global Interpreter Lock (GIL). However, after years of ongoing efforts, the community has achieved a breakthrough with the acceptance of PEP 703.
This talk will delve into the GIL, its origins, and the reasons for its removal.

#PyCon #PyConIe #PyConIe2023 #GIL #pep703 #multithreading

Sadhana Srinivasan: The Gilectomy: Past, Present and Future @ PyCon Ireland 2023

YouTube

๐Ÿ๐Ÿงช Python 3.13 beta 2 is out!

https://discuss.python.org/t/3-13-0b2-now-available/55056

The macOS installer joins the Windows installer in adding an option to install free-threaded binaries as python3.13t, making it even easier to try it out.

See https://github.com/python/cpython/issues/120098 for all the details, and https://dev.to/hugovk/help-us-test-free-threaded-python-without-the-gil-1hgf for an overview.

#python #CPython #python313 #PEP703 #FreeThreaded
#JustDontCallItNoGIL #macOS

3.13.0b2 now available

After a little bit of a delay (I blame the flat tire on my rental car), 3.13.0b2 is released: This is a beta preview of Python 3.13 Python 3.13 is still in development. This release, 3.13.0b2, is the second of four beta release previews of 3.13. Beta release previews are intended to give the wider community the opportunity to test new features and bug fixes and to prepare their projects to support the new feature release. We strongly encourage maintainers of third-party Python projects to t...

Discussions on Python.org

๐Ÿ๐Ÿงช Python 3.13.0 is due out in October 2024 and work is underway to implement *experimental support* for PEP 703 "Making the Global Interpreter Lock Optional in CPython".

As the Steering Council noted in their acceptance of the PEP, to succeed it's important to have community support.

I wrote a little guide on how you can help test out the beta in your project, and help us find bugs in CPython:

https://dev.to/hugovk/help-us-test-free-threaded-python-without-the-gil-1hgf
#python #CPython #python313 #PEP703 #FreeThreaded
#JustDontCallItNoGIL

Help us test free-threaded Python without the GIL

Python 3.13 is due out in October 2024 and work is underway to implement experimental support for PEP...

DEV Community

๐ŸŽ‰ Please welcome our two newest Python core developers! ๐ŸŽˆ๐Ÿ๐ŸŽˆ

Sam Gross is the author of PEP 703 and leading the work to remove the GIL

Nikita Sobolev is the fourth most active contributor (since 2020) and was recently made a @ThePSF Fellow.

https://discuss.python.org/t/vote-to-promote-sam-gross/44323

https://discuss.python.org/t/vote-to-promote-nikita-sobolevn/44376

And just for fun I made a chart of the number of new core developers per year!

#Python #CPython #CoreDeveloper #PEP703 #PSFFellow

Vote to promote Sam Gross

I am nominating Sam Gross (@colesbury, GitHub) as a core developer. Sam single-handedly created the nogil 3.9 proof of concept, kept it alive with a 3.12 rebase, worked with the core team and the Steering Council to create a workable plan for making the GIL optional in Python. Towards that end, Sam joined the core team as a triager in late 2021. Since then, over 50 pull requests in his name got merged into CPython. Another 5 are open at the time of this writing. Samโ€™s experience with the inter...

Discussions on Python.org