So #Gentoo #Python eclasses are pretty modern, in the sense that they tend to follow the best practices and standards, and eventually deal with deprecations. Nevertheless, they have a long history and carry quite some historical burden, particularly regarding to naming.
The key point is that the eclasses were conceived as a replacement for the old eclasses: "distutils" and "python". Hence, much like we revision ebuilds, I've named the matching eclasses "distutils-r1" and "python-r1". For consistency, I've also used the "-r1" suffix for the remaining eclasses introduced at the time: "python-any-r1", "python-single-r1" and "python-utils-r1" — even though there were never "r0"s.
It didn't take long to realize my first mistake. I've made the multi-impl eclass effectively the "main" eclass, probably largely inspired by the previous Gentoo recommendations. However, in the end I've found out that for the most use cases (i.e. where "distutils-r1" is not involved), there is no real need for multi-impl, and it makes things much harder. So if I were naming them today, I would have named it "python-multi", to indicate the specific use case — and either avoid designating a default at all, or made "python-single" the default.
What aged even worse is the "distutils-r1" eclass. Admittedly, back when it was conceived, distutils was still largely a thing — and there were people (like me) who avoided unnecessary dependency on setuptools. Of course, nowadays it has been entirely devoured by setuptools, and with #PEP517 even "setuptools" wouldn't be a good name anymore. Nowadays, people are getting confused why they are supposed to use "distutils-r1" for, say, Hatchling.
Admittedly, this is something I could have done differently — PEP517 support was a major migration, and involved an explicit switch. Instead of adding DISTUTILS_USE_PEP517 (what a self-contradictory name) variable, I could have forked the eclass. Why didn't I do that? Because there used to be a lot of code shared between the two paths. Of course, over time they diverged more, and eventually I've dropped the legacy support — but the opportunity to rename was lost.
In fact, as a semi-related fact, I've recognized another design problem with the eclass earlier — I should have gone for two eclasses rather than one: a "python-phase" eclass with generic sub-phase support, and a "distutils" (or later "python-pep517") implementing default sub-phases for the common backends. And again, this is precisely how I could have solved the code reuse problem when I introduced PEP517 support.
But then, I didn't anticipate how the eclasses would end up looking like in the end — and I can't really predict what new challenges the Python ecosystem is going to bring us. And I think it's too late to rename or split stuff — too much busywork on everyone.
In his keynote, Raphael Troncy is asking whether we should keep building knowledge graphs....taking into account 20 years of experience in building knowledge graphs
https://2025.eswc-conferences.org/keynotes-announcement-raphael-troncy/
An entangled photon source for the telecom C-band based on a semiconductor-confined spin
Petros Laccotripes, Junyang Huang, Ginny Shooter, Andrea Barbiero, Matthew S. Winnel, David A. Ritchie, Andrew J. Shields, Tina Muller, R. Mark Stevenson
https://arxiv.org/abs/2507.01648
NbTiN Nanowire Resonators for Spin-Photon Coupling on Solid Neon
Y. Tian, I. Grytsenko, A. Jennings, J. Wang, H. Ikegami, X. Zhou, S. Tamate, H. Terai, H. Kutsuma, D. Jin, M. Benito, E. Kawakami
https://arxiv.org/abs/2505.24303
Search for a new 17 MeV resonance via $e^ e^-$ annihilation with the PADME Experiment
F. Bossi, R. De Sangro, C. Di Giulio, E. Di Meco, D. Domenici, G. Finocchiaro, L. G. Foggetta, M. Garattini, P. Gianotti, M. Mancini, I. Sarra, T. Spadaro, C. Taruggi, E. Vilucchi, K. Dimitrova, S. Ivanov, Sv. Ivanov, K. Kostova, V. Kozhuharov, R. Simeonov, F. Ferrarotto, E. Leonardi, P. Valente, E. Long, G. C. Organtini, M. Raggi, A. Frankenthal
Momentan halte ich das für ein Gerücht, aber sollte es sich als wahr herausstellen, chapeau!
https://kyivindependent.com/ukraine-war-latest-ukraine-attacks-elite-russian-unit-base-nearly-7-000k…
Asked 5 different local AIs (not internet based nor connecting to the internet):
What is the average airspeed of a fully laden swallow?
And they attributed it to 3 novels: Alan Sillitoe's "The Lonely Voice"(which does not exist), Douglas Adams's "A Hitchhiker's Guide to the Galaxy," George Orwell's "Animal Farm" and also the correct answer, the movie Monty Python and the Holy Grail.
So as long as we're good with AI being 75%…
I've just tagged build-and-inspect-python-package 2.13.0 of my popular GitHub Action.
It now offers the package name as an output and uses it in the job summary which should be useful to people building multiple packages at once.
https://github.com/hynek/build-and-ins
My experience is limited to ASP.NET, SQL, and some Python at a Fortune 500 company, so take this with a grain of salt. When he talks about agents, it sounds like automation to me. I’ve been writing jobs (or agents) for decades to run automated tasks on a schedule. If you want to add another point of failure into your job, knock yourself out. Also, I’m wary of encouraging neophytes to outsource work they don’t know how to do. That’s a recipe for disaster.