2026-08-06 18:50:20
The BBQ for all the Python user groups in Berlin is in a week’s time. I’m already looking forward to meeting lots of Pythonistas: https://www.meetup.com/python-users-berlin-pub/events/314905083/
The BBQ for all the Python user groups in Berlin is in a week’s time. I’m already looking forward to meeting lots of Pythonistas: https://www.meetup.com/python-users-berlin-pub/events/314905083/
Now time for something that's not related to Gentoo at all.
After almost two years of work in the #WheelNext Initiative, not to mention all the prior effort, first part of the #Python Wheel Variants proposal has been provisionally accepted as #PEP825. Thanks to everyone involved for your support!
https://discuss.python.org/t/pep-825-wheel-variants-package-format-split-from-pep-817/106196/232
https://peps.python.org/pep-0825/
#Python 3.15 Is Bigger Than You Think: 7 New Features Worth Using in 2026
https://medium.com/@captain-solaris/python-3-15-is-…
yearning for the days of #python v2.7 when everything was stable. the days when i was focusing on my code, and not on updating stuff because the underlying language changed again, without much benefit to me.
#Steady #Klimacrew
#BahnMonitor-Projekt: 7. Zufall ist nicht gleich Zufall. 🤭
Nach der Verspätungsmeldung kommt ein Wissenshäppchen. Der
I don't often write #python but when I do I can apparently write python inefficient enough to start the fans spinning on my workstation for half an hour. It looks like Path's match involves a glob compile for every invocation and I have a lot of files (14k) to check against a lot of patterns (2314).
Me after laboriously backporting #Python 3.15 fixes to #Django 6.0.x in #Gentoo: "oh, nice, the patchset applies cleanly to 5.2.x as well."
And today, I have to laboriously backport another patch to 6.0.x, and it turns out the backport doesn't apply cleanly to 5.2.x, so I have to laboriously backport it there as well.
I honestly *hate* Django Python version support policy. Shifting all the burden downstream.
EVE Online startet die Migrierung von Python 2 auf 3. Das kommt mir etwas verfrüht vor, ist das schon stable?
#eveonline #python
speaking of slophub, here's environ-config 26.1.0 (my #Python take on loading config from env variables and secrets from safe places) a minor modernization update. thanks so much to every single name in the thanking section and to github who made it possible:
It's 2026 and :python: #Python's standard library *still* does not have a flatten function? 🤨
(Yes, more-itertools, that's not the point)
My bike riding has been poor this year, due to spinal stenosis and then spinal surgery in June... but hopefully the numbers will go up for the rest of the year.
(And who knows? Maybe I'll update some of the Python code that generates these.)
#bikeTooter #python
#Steady #Klimacrew
#BahnMonitor-Projekt: 5. Automatisierte Skripte brauchen Kontrolle – besonders bei API-Aufrufen.
Jetzt bekommt das
TIL " #Python, for example, is a popular programming language that is famously smooth at handling integers of any size. If you peek into Python's underlying source code (search “Karatsuba” here)"
What are we using to package up Python application & dependencies into a single distributable file now?
I'm thinking of bundlers like RollupJS.
PEX? Zipapp? Docker image? Trying really dang hard to only use stdlib and shipping a boring wheel?
#python #packaging #askfedi
Video tutorials for modern ideas and open source tools. #python
Also, zero days (well, minus a lot of days because I've been slacking) since a random #Python package got a new #NIH dependency on another Python package which is actually a "fastest" #RustLang package which cannot be built because the author thinks it a great idea to require a nightly Rust compiler.
…and of course it's full of "unsafe" calls. Because Rust is obviously such a great language for making secure code.
https://github.com/awolverp/cachebox/issues/62
I fully understand the saying "if it works, don't touch it"... but **this** is something else entirely
#Python #LegacySystem
I’m somewhat embarrassed to finally announce svcs 26.1.0 – my solution to #Python service location and dependency injection.
It’s been a minute, and the changelog is chuck-full, but the main features are autowiring, which looked like a simple add-on that grew to a four-digit monster diff, and of course, TypeForms that allow registering/getting abstract types!
📋 #ClaudeCode ships with a built-in cron scheduler. #Codex CLI does not. So I built one myself — one skill file plus one #Python helper, no daemon, no service, no queue
I finally got around to working on my bike mapping project enough to publish the results...
#bikeTooter #python
I wish #mypy would slow down with adding new features to mypyc, and instead focused on fixing the train wreck that mypyc is right now (since 2023 at least). Like, if your code crashes hard with assertions enabled, then it's broken, period. Ignoring proper testing and shoving the issue under the carpet doesn't make it right.
#Python
Zero days since I've discovered a random #CPython bug that triggers in very specific circumstances and I don't really have time to report it, nor can expect anyone to do it for me.
This time it's a test failure and refcounts being broken while running fastjsonschema's test suite on #Python 3.15 freethreading with pytest's --junit-xml option enabled 😱. And of course removing --junit-xml makes all tests pass.
EDIT: and of course I cannot reproduce outside Portage. Yet inside, it reliably crashes every single time.
🔧 The backend is #Python-based on top of #pipecat, the UI is #TypeScript. The architecture is modular so components can be swapped, and
The state of #Python ecosystem right now: almost everything is slop. Some projects are complete vibe-coded slop (autobahn, chardet, cryptography). Some projects are disguised slop ("Coding agents shouldn't co-author themselves.")
There is only a handful of human projects left (Flask being one bright example). And they're being killed. They're being killed by the neverending slew of slop pull requests. They're being killed by all their dependencies becoming slop. They're being killed because this whole ecosystem has became such a complete cesspit that you have zero motivation to do anything.
EDIT: and honestly, this is only going to get worse. When you kill the incentive to work on projects, you only get more slop. Maintainers give in, and more projects become slop. Or they give up, and projects get forked unto slop.
#NoAI #NoLLM
Zero days since I regret filing a bug since it meant that some random asshole used life-destroying, nazi-supporting #slop machine to (checks notes) perform a two-line change that was precisely suggested in the bug report and add a test case that was also literally given on the bug. Well, at least they added a wall-of-slop explanation to the changes, so they wouldn't have to copy the one sentence explanation given on the bug.
#NoAI #Python
#Python in a nutshell:
1. Let's use this new fancy #TOML thing for everything, it's so cool!
2. Everyone starts depending on third-party TOML libraries.
3. TOML library is finally added to the standard library, so people are moving to conditionally using it.
4. As old versions of Python become irrelevant, people are finally dropping fallbacks to the third-party library.
5. TOML 1.1 is introduced, and everyone has to start using a third-party library again… (at least until Python 3.15)
That's in case anyone is wondering why dev-python/tomli is suddenly getting installed on #Gentoo systems again.
🐍 #Nvidia releases #CUDAPython 1.0 — direct #CUDA access from #Python at the same level as C …
So now that #awscli 1.x is pretty much dead, I've finally gotten around to packaging 2.x properly for #Gentoo. You know, the one where other developers claimed it was impossible to build from source because (checks notes) upstream said so. So we instead must use their horrible 70M binary package that bundles its own Python interpreter along with all the random libraries and dependencies.
And guess what? Sure, they don't publish it to PyPI anymore, but it still is a regular #Python package branched out from 1.x. It has regular Python package dependencies, a regular Python build backend and when you build it with it, you get a regular Python wheel that can be installed and just works with the system Python and system dependencies.
Sure, it's crap, but it's no worse than the 1.x crap. It bundles a modified fork of the unreleased 2.x branch of botocore (now dead for 5 years, apparently) and a fork of s3transfer. It has some random meaningless dependency pins that we patch out. It has a horrible test suite that can eat tons of memory if run via xdist, but with some hackery, I've gotten it to work reasonably.
Honestly, I feel like Gentoo developers these days just don't care to even try.
Source distributions that are significantly different than the git repository shouldn't surprise anyone anymore either.
#Python #packaging
#Steady #Klimacrew
#Datenanalyse von #Stromspeichern: Wieso wirken manche #Diagramme blasser als andere? Wie korrigiere ich Missverständnisse in der #Fachspezifikation? Wer mit Vibe Coding arbeitet, kann genauso wie beim normalen #Prompting iterativ vorgehen. Schritt für Schritt stellt man Change Requests und verbessert den #Quellcode.
#Energiewende #Stromspeicher #Datenanalyse #Datenvisualisierung #PythonCoding #VibeCoding
Challenge: have a #Python package use the same environment variable to disable building extension and to make tests not expect extension.
Difficulty: impossible.
In the meantime, #GitPython, the package that used to be dead (because the author is busily working on their next great thing) is now slopping out 4 "security" releases a week, as their #slop machine is busily fixing unintended variable expansion in every single URL they call. Unfortunately, they probably don't have enough tokens to fix them all at once, so instead all downstreams have to deal with the churn of endless security releases. Or the brain to figure out that maybe they could just disable variable expansion by default and solve them all at once.
It's truly a great time to be a #Python packager.
#NoAI #NoLLM
Zero days since I've named my variable `os`, in #Python.
So I wanted to unbundle #uChardet from #cChardet #Python package.
It didn't build against system uchardet 0.0.8. So I've checked, and it turns out cchardet is using some old patched fork of uchardet. Ugh.
Fortunately, upstream added the "missing" function too, with a different API (that's not really a problem), but they didn't make a release in 4 years. Ugh.
I could at least replace the old patched uchardet with upstream uchardet, right? Except now I'm getting test failures over misdetected encodings. 0.0.8 works fine there. Though the particular test doesn't look very realistic (note all the repetitions):
#Gentoo
In case you're wondering, the #Python zeroconf project is now busy asking people to agree to let them relicense the project from the #LGPL chosen by the original author to make corporations happy, and happily #AI #copywashing the code written by people who don't agree. Of course they also happily ignore what "derived works" are, and only care about lines of code.
#copyleft
So if you're wondering how great #RustLang is, let's talk about #mypy. Mypy introduced its own Rust - #Python package, ast-serialize. This package had a deep crate dependency that was broken on PowerPC. The issue was fixed a month ago but everything is still blocked on a deep chain of dependencies being updated and released.
https://github.com/mypyc/ast_serialize/issues/68
EDIT: yes, I know, it's not Rust, it's Cargo. Because obviously Rust without Cargo makes so much sense for that one project using it.
I suppose there's something telling about the fact that a #Python library for file locks has… [checks notes]… 116 releases already.
Oh, right, in case I thought I'm going to have time to do useful things, I just realized I still need to deal with the humongous #Gentoo fallout from #Hypothesis #Python package requiring #RustLang now.
Isn't it great that #Quart removed support for #Python 3.12 while it's only needed for #dnspython and #urllib3 tests, and we definitely can't remove 3.12 in urllib3? Gotta love the maturity of the Python ecosystem.
#Gentoo
Zero days since someone added a custom #PEP517 backend on top of #setuptools, and screwed up.
#Python #packaging