home.social

#pypy — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #pypy, aggregated by home.social.

  1. The next PyPy will be 8.0.0 and should add support for Python 3.12 and be the last to support 3.11, and require glibc 2.28 (AlmaLinux8, Amazon Linux 2023, Debian 10, Ubuntu 20.04).

    pypy.org/posts/2026/07/moving-

    #Python #PyPy

  2. The next PyPy will be 8.0.0 and should add support for Python 3.12 and be the last to support 3.11, and require glibc 2.28 (AlmaLinux8, Amazon Linux 2023, Debian 10, Ubuntu 20.04).

    pypy.org/posts/2026/07/moving-

    #Python #PyPy

  3. If you've been wondering whether anyone's written a song from the POV of a single sock missing its pair, you're in luck, because our #SongoftheDay is "Lonely Striped Sock" by PyPy. A fun post-punk with bursts of noise.

    🎧 Listen at thepropagandasite.com

    #music #nowplaying #SOTD #tPsSotD #PyPy

  4. @schenklklopfer Huh, interesting.

    cPython 3.12.3:
    9475.86 MB/s

    PyPy (nightly, default settings):
    4378.93 MB/s

    PyPy (nightly, --jit off):
    3676.98 MB/s

    My guess: Most of the time is spent in bytes.find(), which is a highly optimized C function in #cPython already. The actual python overhead is so small that my parser even beats #rust (emmett-core) in this benchmark. #PyPy does not have much room for its #JIT to do anything, and seems to have a less optimized stdlib?

  5. @schenklklopfer Huh, interesting.

    cPython 3.12.3:
    9475.86 MB/s

    PyPy (nightly, default settings):
    4378.93 MB/s

    PyPy (nightly, --jit off):
    3676.98 MB/s

    My guess: Most of the time is spent in bytes.find(), which is a highly optimized C function in #cPython already. The actual python overhead is so small that my parser even beats #rust (emmett-core) in this benchmark. #PyPy does not have much room for its #JIT to do anything, and seems to have a less optimized stdlib?

  6. @schenklklopfer Huh, interesting.

    cPython 3.12.3:
    9475.86 MB/s

    PyPy (nightly, default settings):
    4378.93 MB/s

    PyPy (nightly, --jit off):
    3676.98 MB/s

    My guess: Most of the time is spent in bytes.find(), which is a highly optimized C function in #cPython already. The actual python overhead is so small that my parser even beats #rust (emmett-core) in this benchmark. #PyPy does not have much room for its #JIT to do anything, and seems to have a less optimized stdlib?

  7. @schenklklopfer Huh, interesting.

    cPython 3.12.3:
    9475.86 MB/s

    PyPy (nightly, default settings):
    4378.93 MB/s

    PyPy (nightly, --jit off):
    3676.98 MB/s

    My guess: Most of the time is spent in bytes.find(), which is a highly optimized C function in #cPython already. The actual python overhead is so small that my parser even beats #rust (emmett-core) in this benchmark. #PyPy does not have much room for its #JIT to do anything, and seems to have a less optimized stdlib?

  8. @schenklklopfer Huh, interesting.

    cPython 3.12.3:
    9475.86 MB/s

    PyPy (nightly, default settings):
    4378.93 MB/s

    PyPy (nightly, --jit off):
    3676.98 MB/s

    My guess: Most of the time is spent in bytes.find(), which is a highly optimized C function in #cPython already. The actual python overhead is so small that my parser even beats #rust (emmett-core) in this benchmark. #PyPy does not have much room for its #JIT to do anything, and seems to have a less optimized stdlib?

  9. I've been sad about the upcoming removal of #PyPy from #Gentoo, but given how many regressions I've been seeing recently in a variety of #Python packages, I'm eagerly waiting for the day when I'll remove the support and be able to stop having to deal with the test failures somehow. Not that at this point any other way of dealing besides skipping them makes any sense.

  10. I've been sad about the upcoming removal of #PyPy from #Gentoo, but given how many regressions I've been seeing recently in a variety of #Python packages, I'm eagerly waiting for the day when I'll remove the support and be able to stop having to deal with the test failures somehow. Not that at this point any other way of dealing besides skipping them makes any sense.

  11. There's been a noticeable increase in PyPy development activity in the last couple of months. Makes me very happy.

    A lot of that comes from new energy from @stanfromireland, the newest PyPY core developer. But it also seems @mattip and @cfbolz are more active too, and users seem to be filing more issues and even proposing more PRs.

    I can't explain this uptick in activity, any theories?

    #Python #PyPy

  12. There's been a noticeable increase in PyPy development activity in the last couple of months. Makes me very happy.

    A lot of that comes from new energy from @stanfromireland, the newest PyPY core developer. But it also seems @mattip and @cfbolz are more active too, and users seem to be filing more issues and even proposing more PRs.

    I can't explain this uptick in activity, any theories?

    #Python #PyPy

  13. #gentoo plans to switch from Python 3.13 to πthon 3.14 on 2026-06-01. gentoo.org/support/news-items/

    "Other πthon implementations
    ============================
    At the same time, we are also going to remove the target support for πthon 3.11 (πthon3_11) and ππ 3.11 (ππ3_11). Since there are
    no plans to release a πthon 3.12-compatible ππ version yet, Gentoo will be removing ππ support for the time being."
    :-(

    #PyPy

  14. PSA: The annual #Gentoo #Python switch planned for 2026-06-01. CPython 3.14 becomes the default, 3.11 and #PyPy 3.11 go out. The latter fills me with sadness but keeping it is unrealistic now that projects are aggressively pushing for 3.12+.

    Of course, we'll continue shipping the interpreters, so you can use venvs if you like. However, that's going to become harder to use since many projects either don't ship PyPy wheels or don't work on PyPy at all without patching.

    We will revisit PyPy support if a version compatible with Python 3.12 appears in reasonable time.

    public-inbox.gentoo.org/gentoo
    public-inbox.gentoo.org/gentoo

  15. PSA: The annual #Gentoo #Python switch planned for 2026-06-01. CPython 3.14 becomes the default, 3.11 and #PyPy 3.11 go out. The latter fills me with sadness but keeping it is unrealistic now that projects are aggressively pushing for 3.12+.

    Of course, we'll continue shipping the interpreters, so you can use venvs if you like. However, that's going to become harder to use since many projects either don't ship PyPy wheels or don't work on PyPy at all without patching.

    We will revisit PyPy support if a version compatible with Python 3.12 appears in reasonable time.

    public-inbox.gentoo.org/gentoo
    public-inbox.gentoo.org/gentoo

  16. I was already having misgivings about #CPython when I saw a required #Rust dependency coming up (although I know many here have no issues with this), but now that there have been #LLM commits to the project, I'd like to look at alternatives. It seems great that #Pypy exists, although I worry that it will end up replicating undesirable behavior from CPython in the future.

    I had been learning C++ with the goal of writing extensions using CPython. As it happens, I already have a physical copy of a book on #Lua and many applications are written in C++ with Lua scripting on top, so I'm going to swap out Python for Lua in an upcoming project. I'm excited to be able to experiment with #LuaLaTeX or writing scripts for #GeanyIDE. The language shows up in way more places than I realized.

    #Python #cpp #CPlusPlus #programming #Scripting #ScriptingLanguage #TexLatex

  17. I was already having misgivings about #CPython when I saw a required #Rust dependency coming up (although I know many here have no issues with this), but now that there have been #LLM commits to the project, I'd like to look at alternatives. It seems great that #Pypy exists, although I worry that it will end up replicating undesirable behavior from CPython in the future.

    I had been learning C++ with the goal of writing extensions using CPython. As it happens, I already have a physical copy of a book on #Lua and many applications are written in C++ with Lua scripting on top, so I'm going to swap out Python for Lua in an upcoming project. I'm excited to be able to experiment with #LuaLaTeX or writing scripts for #GeanyIDE. The language shows up in way more places than I realized.

    #Python #cpp #CPlusPlus #programming #Scripting #ScriptingLanguage #TexLatex

  18. I was already having misgivings about #CPython when I saw a required #Rust dependency coming up (although I know many here have no issues with this), but now that there have been #LLM commits to the project, I'd like to look at alternatives. It seems great that #Pypy exists, although I worry that it will end up replicating undesirable behavior from CPython in the future.

    I had been learning C++ with the goal of writing extensions using CPython. As it happens, I already have a physical copy of a book on #Lua and many applications are written in C++ with Lua scripting on top, so I'm going to swap out Python for Lua in an upcoming project. I'm excited to be able to experiment with #LuaLaTeX or writing scripts for #GeanyIDE. The language shows up in way more places than I realized.

    #Python #cpp #CPlusPlus #programming #Scripting #ScriptingLanguage #TexLatex

  19. I was already having misgivings about #CPython when I saw a required #Rust dependency coming up (although I know many here have no issues with this), but now that there have been #LLM commits to the project, I'd like to look at alternatives. It seems great that #Pypy exists, although I worry that it will end up replicating undesirable behavior from CPython in the future.

    I had been learning C++ with the goal of writing extensions using CPython. As it happens, I already have a physical copy of a book on #Lua and many applications are written in C++ with Lua scripting on top, so I'm going to swap out Python for Lua in an upcoming project. I'm excited to be able to experiment with #LuaLaTeX or writing scripts for #GeanyIDE. The language shows up in way more places than I realized.

    #Python #cpp #CPlusPlus #programming #Scripting #ScriptingLanguage #TexLatex

  20. I was already having misgivings about #CPython when I saw a required #Rust dependency coming up (although I know many here have no issues with this), but now that there have been #LLM commits to the project, I'd like to look at alternatives. It seems great that #Pypy exists, although I worry that it will end up replicating undesirable behavior from CPython in the future.

    I had been learning C++ with the goal of writing extensions using CPython. As it happens, I already have a physical copy of a book on #Lua and many applications are written in C++ with Lua scripting on top, so I'm going to swap out Python for Lua in an upcoming project. I'm excited to be able to experiment with #LuaLaTeX or writing scripts for #GeanyIDE. The language shows up in way more places than I realized.

    #Python #cpp #CPlusPlus #programming #Scripting #ScriptingLanguage #TexLatex

  21. With CPython now actively merging "AI" slop in the form of co-authored commits from Anthropic Claude… I'm leery about starting new projects atop the reference #Python implementation.

    My projects remain slop-free at this point in time, and it is my intention that they stay that way. I can't afford the legal risk that comes with them: a machine cannot represent itself in court, therefore a machine cannot be held accountable for infractions of copyright law. This means the buck stops with the humans.

    Cursory glance at Pypy, it is compatible with Python 3.11 and, on the surface, does not show any co-authored commits. I've used it in the past and found it to be mostly compatible.

    Is it good enough for a fork? Did I miss something?

    github.com/pypy/pypy

    #Pypy #Pypy3 #NoAI

  22. With CPython now actively merging "AI" slop in the form of co-authored commits from Anthropic Claude… I'm leery about starting new projects atop the reference #Python implementation.

    My projects remain slop-free at this point in time, and it is my intention that they stay that way. I can't afford the legal risk that comes with them: a machine cannot represent itself in court, therefore a machine cannot be held accountable for infractions of copyright law. This means the buck stops with the humans.

    Cursory glance at Pypy, it is compatible with Python 3.11 and, on the surface, does not show any co-authored commits. I've used it in the past and found it to be mostly compatible.

    Is it good enough for a fork? Did I miss something?

    github.com/pypy/pypy

    #Pypy #Pypy3 #NoAI

  23. Python Standard Library для спортивного программирования

    Стандартная библиотека Python содержит множество инструментов, которые значительно упрощают решение задач спортивного программирования, но многие из них остаются незамеченными начинающими участниками. В статье собран краткий конспект по наиболее полезным модулям и функциям стандартной библиотеки с небольшими примерами.

    habr.com/ru/articles/1010290/

    #спортивное_программирование #питон #python #pypy #standard_library #стандартная_библиотека #стандартная_библиотека_python #icpc #codeforces #topcoder

  24. Python Standard Library для спортивного программирования

    Стандартная библиотека Python содержит множество инструментов, которые значительно упрощают решение задач спортивного программирования, но многие из них остаются незамеченными начинающими участниками. В статье собран краткий конспект по наиболее полезным модулям и функциям стандартной библиотеки с небольшими примерами.

    habr.com/ru/articles/1010290/

    #спортивное_программирование #питон #python #pypy #standard_library #стандартная_библиотека #стандартная_библиотека_python #icpc #codeforces #topcoder

  25. Even a decade back, when #PyPy was showing promising performance benefits of 4x speedup or even more, it was of little benefit to an increasingly compiled scientific stack. PyPy was only useful in a Pure Python environment, so I am not surprised with its removal from #NumPy

    github.com/numpy/numpy/issues/

    However I am genuinely surprised to hear that PyPy as a project is "no longer under active development, and has not released a Python3.12 version." I think the emphasis is on the latter, that it takes time for PyPy to catch up to Python 3.12 and due to NEP29 they should only support Python 3.12+.

    numpy.org/neps/nep-0029-deprec

    I haven't seen an official announcement of PyPy being discontinued and would refuse to believe that until I see one.

  26. 🚨 Oh no, #PyPy might be unmaintained! Quick, someone alert the world before it collapses into chaos! 😂 Meanwhile, #GitHub wants you to think #AI will save us all, but just needs your firstborn in exchange for a few lines of "better" code. 🤖
    github.com/astral-sh/uv/pull/1 #Unmaintained #Chaos #TechNews #HackerNews #ngated

  27. 🚨 Oh no, #PyPy might be unmaintained! Quick, someone alert the world before it collapses into chaos! 😂 Meanwhile, #GitHub wants you to think #AI will save us all, but just needs your firstborn in exchange for a few lines of "better" code. 🤖
    github.com/astral-sh/uv/pull/1 #Unmaintained #Chaos #TechNews #HackerNews #ngated

  28. github.com/numpy/numpy/issues/

    This is the saddest news I’ve heard recently: #PyPy is no longer under active development.

    It is so bad to know that [they originally did not intend to go beyond 3.10](github.com/orgs/pypy/discussio).

    #Python

  29. github.com/numpy/numpy/issues/

    This is the saddest news I’ve heard recently: #PyPy is no longer under active development.

    It is so bad to know that [they originally did not intend to go beyond 3.10](github.com/orgs/pypy/discussio).

    #Python

  30. In the #Python programming language, the new #REPL from Python 3.13 (2024) has added colorization in the #interpreter in #interactive Python, similar to the interface seen in later versions of #PyPy. Python 3.14 (2025) and Python 3.15 (2026) continue along with the improved REPL with the colorization of the Python #syntax itself.

  31. In the #Python programming language, the new #REPL from Python 3.13 (2024) has added colorization in the #interpreter in #interactive Python, similar to the interface seen in later versions of #PyPy. Python 3.14 (2025) and Python 3.15 (2026) continue along with the improved REPL with the colorization of the Python #syntax itself.

  32. just used #PyPy to accelerate an Amaranth simulation from 35s to 17s (no code changes)

    it's pretty good

  33. just used #PyPy to accelerate an Amaranth simulation from 35s to 17s (no code changes)

    it's pretty good

  34. #Sphinx joined the list of packages dropping #Python 3.11 (and therefore #PyPy) support. Of course, we could just go through the effort of dropping it from respective packages in #Gentoo, given it's not technically that common… but honestly, at this point I have zero motivation to put the extra effort for this, just to learn that next month some core package starts requiring Python 3.12.

    So, would anyone really mind if I removed Python 3.11 and PyPy support completely from Gentoo packages?

  35. #Sphinx joined the list of packages dropping #Python 3.11 (and therefore #PyPy) support. Of course, we could just go through the effort of dropping it from respective packages in #Gentoo, given it's not technically that common… but honestly, at this point I have zero motivation to put the extra effort for this, just to learn that next month some core package starts requiring Python 3.12.

    So, would anyone really mind if I removed Python 3.11 and PyPy support completely from Gentoo packages?

  36. niklas-heer/speed-comparison: A repo which compares the speed of different programming languages.
    github.com/niklas-heer/speed-c

    This projects tries to compare the speed of different #programming languages. It uses an implementation of the Leibniz formula for π to do the comparison.

    Notably:
    - #Julia is the only dynamically-typed languages amoung the top tier, only ~28ms slower from #Cpp (#Clang).
    - #Rust got a huge boost with nightly compiler
    - #Go tops in 3rd tier (very crowded 0.8s~1s)
    - #PyPy and #Haskell (#GHC) are very closed (~1s), preceding #Racket, beating #Python (#NumPy) by a lot (~1.2s)
    - The slowest is #CPython (~86s)

    #Math #ScientificComputing

  37. niklas-heer/speed-comparison: A repo which compares the speed of different programming languages.
    github.com/niklas-heer/speed-c

    This projects tries to compare the speed of different #programming languages. It uses an implementation of the Leibniz formula for π to do the comparison.

    Notably:
    - #Julia is the only dynamically-typed languages amoung the top tier, only ~28ms slower from #Cpp (#Clang).
    - #Rust got a huge boost with nightly compiler (it is said that hand-written SIMD is used?)
    - #Go tops in 3rd tier (very crowded 0.8s~1s)
    - #PyPy and #Haskell (#GHC) are very closed (~1s), preceding #Racket, beating #Python (#NumPy) by a lot (~1.2s)
    - The slowest is #CPython (~86s)

    #Math #ScientificComputing

  38. Jakiś czas temu, zainspirowany #Fedorą, wyodrębniłem paczki .whl z Pythonowego ensurepip w #Gentoo (właśnie sprawdziłem — "jakiś czas" to 3 lata). Umożliwiło to nam aktualizowanie ich razem z paczkami pip i setuptools, dzięki czemu nowe środowiska wirtualne otrzymują najnowszą dostępną wersję, a nie tę, którą włączono w dane wydanie CPythona.

    Myślałem wówczas, by budować je z naszych systemowych paczek, ale już wówczas usuwaliśmy zagnieżdżone zależności, więc otrzymalibyśmy niepełne paczki. Zamiast tego po prostu zgarnialiśmy gotowe paczki z PyPI. A dlaczego nie budować ich na nowo ze źródeł? Pomijając fakt, że wydawało się to zbędne (wszak paczki na PyPI nie zawierają żadnego skompilowanego kodu), nie mieliśmy do tego dobrej infrastruktury w eclass.

    Za inspiracją @hroncok, dziś przygotowałem nowe wersje paczek ensurepip, które budują wszystko ze źródeł. Co się zmieniło, i dlaczego warto dziś budować ze źródeł? Po pierwsze, nasz kod budowania PEP517 dorobił się możliwości wydobycia poprzednich paczek .whl. Po drugie, skoro usuwamy zagnieżdżone zależności z pipa i setuptools, to właściwie testujemy inny kod niż ten, który trafia do ensurepip — a myślę, że miałoby sens testowanie obydwu wariantów. Po trzecie, budowanie ze źródeł ułatwi nakładanie łatek, a w szczególności umożliwi użytkownikom łatwe dodawanie lokalnych łatek.

    A skoro już się za to wziąłem, to przy okazji zaktualizowałem stan testów we wszystkich trzech paczkach (pip, setuptools i wheel — tego ostatniego potrzebujemy ze względu na testy). No i oczywiście, że trafiłem na padające testy w wersjach z zagnieżdżonymi zależnościami, i przypadkiem odkryłem błąd w #PyPy.

    github.com/gentoo/gentoo/pull/ (tak, nadal tam jesteśmy)
    github.com/pypy/pypy/issues/53

    #Python

  39. A while ago, I've followed the example given by #Fedora and unbundled ensurepip wheels from #Python in #Gentoo (just checked — "a while ago" was 3 years ago). This had the important advantage that it enabled us to update these wheels along with the actual pip and setuptools packages, meaning new virtual environments would get fresh versions rather than whatever CPython happened to bundle at the time of release.

    I had considered using our system packages to prepare these wheels, but since we were already unbundling dependencies back then, that couldn't work. So I just went with fetching upstream wheels from PyPI. Why not build them from source instead? Well, besides feeling unnecessary (it's not like the PyPI wheels are actually binary packages), we probably didn't have the right kind of eclass support for that at the time.

    Inspired by @hroncok, today I've tried preparing new revisions of ensurepip packages that actually do build everything from source. So what changed, and why should building from source matter now? Firstly, as part of the wheel reuse patches, we do have a reasonably clean architecture to grab the wheels created as part of the PEP517 build. Secondly, since we're unbundling dependencies from pip and setuptools, we're effectively testing different packages than these installed as ensurepip wheels — and so it would be meaningful to test both variants. Thirdly, building from source is going to make patching easier, and at the very least enable user patching.

    While at it, I've refreshed the test suite runs in all three regular packages (pip, setuptools and wheel — we need an "ensurepip" wheel for the last because of test suites). And of course, I hit some test failures in testing the versions with bundled dependencies, and I've discovered a random bug in #PyPy.

    github.com/gentoo/gentoo/pull/ (yes, we haven't moved yet)
    github.com/pypy/pypy/issues/53

  40. A while ago, I've followed the example given by #Fedora and unbundled ensurepip wheels from #Python in #Gentoo (just checked — "a while ago" was 3 years ago). This had the important advantage that it enabled us to update these wheels along with the actual pip and setuptools packages, meaning new virtual environments would get fresh versions rather than whatever CPython happened to bundle at the time of release.

    I had considered using our system packages to prepare these wheels, but since we were already unbundling dependencies back then, that couldn't work. So I just went with fetching upstream wheels from PyPI. Why not build them from source instead? Well, besides feeling unnecessary (it's not like the PyPI wheels are actually binary packages), we probably didn't have the right kind of eclass support for that at the time.

    Inspired by @hroncok, today I've tried preparing new revisions of ensurepip packages that actually do build everything from source. So what changed, and why should building from source matter now? Firstly, as part of the wheel reuse patches, we do have a reasonably clean architecture to grab the wheels created as part of the PEP517 build. Secondly, since we're unbundling dependencies from pip and setuptools, we're effectively testing different packages than these installed as ensurepip wheels — and so it would be meaningful to test both variants. Thirdly, building from source is going to make patching easier, and at the very least enable user patching.

    While at it, I've refreshed the test suite runs in all three regular packages (pip, setuptools and wheel — we need an "ensurepip" wheel for the last because of test suites). And of course, I hit some test failures in testing the versions with bundled dependencies, and I've discovered a random bug in #PyPy.

    github.com/gentoo/gentoo/pull/ (yes, we haven't moved yet)
    github.com/pypy/pypy/issues/53