social.dk-libre.fr is a Fediverse instance that uses the ActivityPub protocol. In other words, users at this host can communicate with people that use software like Mastodon, Pleroma, Friendica, etc. all around the world.
This server runs the snac software and there is no automatic sign-up process.
une documentation bas niveau par zpoint expliquant l'implémentation officielle de l'interpréteur cPython mis à disposition par @ThePSF : https://zpoint.github.io/CPython-Internals/
Le repository hébergeant la documentation : https://github.com/zpoint/CPython-Internals
I’m not at FOSDEM 2026 in person this year, but I’m still following it here on Mastodon 👀
If you want all the FOSDEM posts in one place, this FediDevs page is very handy 👇
https://fedidevs.com/fosdem26/
🤗 Heute, am 1. Februar ist der zweite #DigitalIndependenceDay 2026.
Die #Volkshochschule|n im Land bieten viele Kurse für deine digitale Unabhängigkeit an. Ob #Linux, #GIMP, #Blender, #Python oder #Godot 👉 im vhs Kursfinder unter https://www.volkshochschule.de/ kannst du nach Open Source Kursen suchen.
ℹ️ Alternativ und direkt für #Berlin☺️, ist die Suche über das Dachportal der Berliner Volkshochschulen möglich unter https://www.berlin.de/vhs/.
Wir freuen uns auf dich und mehr Digital Independence! ❤️
➡️ https://di.day/
#VHS #Bildung #OpenSource #DID #DUTgemacht #DIDay #DUD #DIDit #Weiterbildung @volkshochschule @digitalcourage @CCC @marcuwekling @kaschmir
🌍✨ #DigitalIndependenceDay – jeden ersten Sonntag im Monat
Macht euch frei von teuren Software-Abos, Datensaugern und Updates, die euch ständig neue Hardware kaufen lassen!
Digitale Souveränität beginnt mit Wissen – und mit freier Software.
Ob #Linux🐧, kreative Tools wie #GIMP und #Blender oder Programmieren mit #Python:
An vielen Volkshochschulen in Schleswig-Holstein gibt es Kurse zu Open-Source-Software – praxisnah, niedrigschwellig und für alle zugänglich.
💬 Lernen, ausprobieren, vernetzen – für mehr digitale Souveränität im Alltag und Beruf.
🚀 Schau auch mal an der Volkshochschule in deiner Nähe, mach mit und gestalte deine digitale Zukunft selbst!
(Danke an @vhs_berlin fürs Verbreiten der Idee 🤝!)
#DIDit #DIDay #digitalindependenceday #OpenSource #VHS #SH #DUTgemacht #Volkshochschule #Bildung
Un super article sur Weasyprint, une bibliothèque #Python et un outil en ligne de commande permettant de générer des #PDF à partir d'un document #HTML et #CSS
https://rodolphe.breard.tf/article/generer-des-pdf-en-utilisant-html-et-css/
L'article est bien détaillé et donne plein d'astuces pour styliser son document. 😄
Merci @rodolphe ; Ping @courtbouillon
Next talk in the #Python devroom at #Fosdem: Is it time for a Django Admin rewrite? If so, how? by Emma Delescolle
https://fosdem.org/2026/schedule/event/UBNWNL-django-admin-deux/
#Pomodouroboros is a pomodoro timer for people with #ADHD (or anyone else with executive functioning challenges), #OpenSource and written in #Python. There's a working version for macOS today and you can download it if you like, but it's more of a prototype than a finished product (although I do use it daily, and you can try it) and has been somewhat stuck in that space for a frustratingly long time. This week was a big step towards getting out of that local maximum. https://github.com/glyph/pomodouroboros
The official Python Developers Survey 2026 is in full swing! We want your perspective 🐍🔎 #python #pythondevsurvey https://surveys.jetbrains.com/s3/python-developers-survey-2026
https://surveys.jetbrains.com/s3/python-developers-survey-2026
Python Asia Organization Online Charity Talks H2 2025
started!
https://www.youtube.com/live/OXUJhvl2m7A?si=A_BSASQQBoTVChq3
My #introduction:
I studied #physics and am now working as Solutions Engineer for Posit PBC (f.k.a. RStudio), I like riding my #bicycles, I am interested in #politics, I am concerned about the #climatecrisis (born at 329 ppm), I try to use #linux and more generally #FOSS as much as possible, I sometimes dabble with #datascience using #rstats or #python, I like good #typography and use #LaTeX to produce it, I am still looking for a way to get back into analog B&W #photography.
In #Python, given some kind of bunch of things (a `dict`, a `list`, whatever), but you only want one thing out of it, there are lots of ways to do it:
* All the normal things: the first one, the last one, some specific index, using a key, whatever (appropriate for almost every case where the bunch of things is some kind of `Mapping`)
* When you need to search, e.g., it's not just the first one, it's the first one such that it satisfies some predicate `p`. I posted on this a bit ago (see https://hachyderm.io/@YesJustWolf/115862957105718629):
`next(e for e in bunch if p(e))`,
`next(e for e in bunch if p(e), None)`
But what if there's only one thing in the bunch. And for mappings, you don't happen to know the key of that one thing (nor do you need to know).
* `bunch[0]`: ugly and a bit magic to my eye because it contains a number (the key you explicitly don't care about)
* `bunch.pop()`: I personally find this slightly better (and it works on more things), but it modifies `bunch` and like the expression above, doesn't express your knowledge that `len(bunch)==1`
* Yes, the `next` method I mention above works here, but it's way more work and visual noise
Destructuring assignment does exactly what I want. Imagining `bunch` to be a dictionary where I want to get the value of the one and only item in it, but without modifying the `dict`:
`(v,) = bunch.values()`
That clearly explains that I know there's only one. Works even though I don't know the key of that one item (yes, it would have been easy enough to find, but I don't care here).
My day job is all about #Python (which I love). Here are some personal rules, specific to working with Python projects:
* Do **not** install or modify global tools, especially Python itself or any packages. This means a given system might not even **have** a global Python
* Always use virtual environments (`uv` agrees with me, and doesn't need this but). I always set the global environment variable `PIP_REQUIRE_VIRTUALENV`.
* The two rules above mean my virtual environment contains (not via a link, it's really there) Python itself (and of course, of the right version)
* Virtual environments always live **inside** a project directory. Never global.
* Activate virtual environments only **inside** the project directory (`direnv` #direnv makes this easy)
* Don't install (let alone use) #Anaconda, #Miniconda, or #Mamba, because those violate all the rules above (but see the next rule)
* Anaconda-based packages implies a `pixi` #Pixi project (it's the same people, but a better answer, and you still get what you want -- the correct packages)
* No Anaconda-based packages implies a `uv` #UV project
* Always use `pyproject.toml` #pyprojecttoml over any other config file (e.g., `requirements.txt` #requirementstxt), except where things just don't work, such as needing `pyrefly.toml`
* `uv`, `pixi`, and `direnv` must exist outside of any project, so install them at the user level, or else globally if and only if that is appropriate and compelling enough to override rule one
That was a wall of text, but in practice doing it this way is trivial. It's probably **less** work than you have been doing. This post is just about managing your Python versions, environments, and projects. Not about, e.g., using `pre-commit` #precommit, or doing type checking, etc. But if you follow these rules, your work will be easier, faster, more adaptable, and encounter fewer obstacles.
un article de @adamchainz sur l'utilisation de https://bloomberg.github.io/memray/ pour profiler la mémoire consommée par un projet @django : https://adamj.eu/tech/2026/01/29/django-profile-memray/
- commande de lancement
- export et analyse du flamegraph
- étude de l'impact du lazy-import de Python 3.15 sur la mémoire
Just stumbled upon someone using a Docstring """ to comment out a large section of Python code without using # for every line. Is that a thing?
#jerecrute enfin pas moi, mais dans une école où j'enseigne : https://discuss.afpy.org/t/developpeur-full-stack-oteria/2926
Leute, die Zeit vergeht!
Dieses Jahr im Sommer geht meine Umschulung zur Fachinformatikerin zu Ende.
Ich suche ab August/September 2026 eine Arbeitsstelle, als Junior Entwicklerin.
Gern was mit #OpenSource.
Tech: #Python, #Linux, #webdev, React #Docker, #Nextcloud, Datenbankmanagement
Ich lerne schnell Neues und kann mich in alles einlernen, solange es Dokumentation dazu gibt.
Gerne international, EU-weit, remote oder hybrid. Wäre auch reisebereit.
We are hiring for a senior developer role in Ireland. Systems programming in Golang and Python, Linux only, mostly open-source. The team is located in Europe and the East Coast.
We are looking for a smart person who's able to work in a team, challenge technical decisions, but also own their mistakes (and learn from them).
On Fedi I am not public about who I am or who I work for, which makes this a bit complicated. Hit me up if the pitch sounds interesting.
Disclaimer: At the job, using AI is encouraged when it makes sense, it wouldn't work if you are angry with all LLMs.
✍️ New post on using Memray to profile the memory usage of a Django project.
You can use this tool to find and eliminate memory-costly lines of code. The example in the post finds and removes a costly import, reducing startup time.
I’ve just filled in the Python Developers Survey 2026 ✅
If you use Python at work or in your projects, it’s worth a few minutes. Python is a community-driven project, and this is one of the ways our voices actually get heard. 📢
Please take part 👇
https://pyfound.blogspot.com/2026/01/your-python-your-voice-join-python.html?m=1
Thank you to @Dedomainia for renewing their Bronze sponsorship! 🐍🤝
We’re delighted to announce that Dedo has renewed their Bronze sponsorship of the Django Software Foundation.
Their continued support helps us strengthen the Django ecosystem and sustain the work of the community that builds, maintains, and evolves the framework every day.
A big thank you to the Dedo team for their trust and long-term commitment to open-source 💚
#Django #Python #OpenSource #Sponsorship #Dedomainia
Filled in the Python Developers Survey. I like that they had Sleeping as a hobby!
https://pyfound.blogspot.com/2026/01/your-python-your-voice-join-python.html?m=1 #python #pythondevsurvey
Help us map out an accurate landscape of the Python community: respond to the official Python Developers Survey for 2026 to add your voice 🤩 #python #pythondevsurvey
https://surveys.jetbrains.com/s3/python-developers-survey-2026
Le #CFP pour la 14e édition du @breizhcamp est ouvert : https://sessionize.com/breizhcamp-2026 ! 🎉
- le BreizhCamp aura lieu du mercredi 24 au vendredi 26 juin 2026 sur le campus de Beaulieu de l'université de #Rennes
- le thème de cette édition est "The Matrix"
- fin du CFP le 10 mars
Venez nous parler de #Python, par exemple 🙂
Votre employeur souhaite sponsoriser l'évènement ? Notre compagne de sponsoring est ouverte : https://www.breizhcamp.org/sponsors/.
Hello fediverse 👋
I’m trying to find Python meetups or Python folks in Iceland 🇮🇸
Is there a local Python community, a meetup, or just developers hacking on Python between glaciers and volcanoes? 🐍❄️🌋
If you know people, groups, or past events, I’d love a pointer. Thanks!
While in Prague during #europython2025, we asked @sheena about her favorite Python library. It’s always hard to pick just one, isn’t it?
Check out what made it to the list 🐍
un article de @hugovk illustrant l'utilisation du profileur statistique Tachyon de Python 15 pour optimiser la bibliothèque Pillow de manipulation d'images : https://hugovk.dev/blog/2026/faster-pillow/
Cela a permis de mettre en place un lazy-loading pour ne charger les plugins nécessaires.
La PR proposée accélère le temps de chargement d'une image de 2 à 14 fois plus vite, et intégrera la version 12.2.0 de Pillow.
RE: https://fosstodon.org/@europython/115972581613155323
📣 la prochaine conférence @europython aura lieu en Pologne à Cracovie, du 13 au 19 juillet 2026 : https://blog.europython.eu/january-newsletter-we-want-your-proposals-for-krakow/ 🎉 🇵🇱
- le site officiel de la conférence : https://ep2026.europython.eu/
- le CFP pour proposer vos interventions (jusqu'au 15 février 2026 à minuit) : https://programme.europython.eu/europython-2026/
#Python #écosystème #conférence
I don't want to start a flame war or anything, but I spent half of today #VibeCoding a solar system exploration #game and a #python program to create montages of the images in a folder. Also started on a modern #WindowMaker Dock App for #Fluxbox.
Imagine what I (barely amateur level programmer) will be able to (ask an LLM to) do in a couple of years? Will it destroy Open Source? Will it end proprietary software? How will the powers that be capture it and monetize it?
Using the new Tachyon profiler coming to Python 3.15 I profiled a one-liner to find a bottleneck, then sped up some 26-year-old code in @pillow!
https://hugovk.dev/blog/2026/faster-pillow/
#Python #python315 #Tachyon #Pillow #PythonPillow #performance
RE: https://hachyderm.io/@mahryekuh/115973184810548139
This is why, despite pep8, I even sneaked tab indentation into my personal Python projects!
Over the past year (and a half!), our inaugural PyPI Support Specialist, Maria Ashna, helped tackle backlogs, improve support processes, and keep #PyPI running smoothly for the #Python community.
Read the full reflection on what that work looked like 👇
https://blog.pypi.org/posts/2026-01-26-a-year-and-a-half-as-inaugural-pypi-support-specialist/?utm_source=chatgpt.com
We’re happy to share that Daniele Varrazzo, maintainer of psycopg, will be attending @fosdempgday this Friday and @fosdem on the weekend.
If you’re around, feel free to come say hi and ask him any questions you may have about Psycopg, PostgreSQL or Python database drivers. Drop us a message here if you wish.
See you soon! 👋
Photo from PyCon Italia 2022
#FOSDEM #PostgreSQL #Python #psycopg #OpenSource #fosdempgday
I'm a senior software developer who is proficient in #ruby #elixir #sql #java #linux #clang #javascript #python #postgresql #postgis #mqtt #rabbitmq
I search for a #job and I reside currently in #austria #vienna and I'm fluent in #german and #english
I love #foss #opensource and #rest #api
Let's #getfedihired #gethired #hiring
🎙️ Python Bytes 467: Toads in my AI
with @mkennedy and @brianokken
https://pythonbytes.fm/467
#Python #GreyNoise #tprof #TOAD #FastAPI #Digg
Offpunk is now "translatable". If you want to help translate #offpunk in your language before the 3.0, release, join us !
instructions :
https://offpunk.net/translation.html
Announcement:
https://lists.sr.ht/~lioploum/offpunk-users/%3C20260127191329.7981d3b160d0f121882dffc3@gmail.com%3E
#i18n #gemini_protocol #smolnet #cli #python #smallweb #gemini
🎟️ DjangoCon US 2026 Opportunity Grants are open!
If cost is a barrier to attending, we encourage you to apply. Our goal is a more inclusive, accessible conference for our community.
⏰ Applications close March 16
👉 https://forms.gle/xYSsdAGR5RbvtH9q7
#DjangoConUS #Django #OpportunityGrants #Python
I vibe coded the #SQLite TUI I've always wanted with #python and #textual. Fast, simple way to view and query SQLite databases in the Terminal. https://github.com/RhetTbull/sqv
Fleshed out Toad's README today.
The previous version didn't differentiate Toad much from other agent CLIs. Toad does a lot of things differently and I wanted to showcase that.
Les string templates de Python pourraient être bien, mais ont quelques limitations très pénibles https://coderivers.org/blog/python-string-templates/#51-filling-templates-with-data #python #string #template #article
RE: https://hachyderm.io/@itworldcup/115966258891557309
Wow, I can’t believe that #Python beat #Rust. 😳
#ITWorldCup 🎉 CONGRATULATIONS 🎉
to Python, the first programming language world champion 🏆This was a very close match:
915 votes for Python (50.08%) 🥇
912 votes for Rust (49.92%) 🥈
RE: https://hachyderm.io/@itworldcup/115960578331633434
#Python beats Rust by 50.0821% to 49.9179%.
With 1,827 votes, that's a lead of just 3 votes!
#VotePythonForITWorldCup #Rust #RustLang
#ITWorldCup Greetings, programs 💾
I've got the honor to present you the match you all have been waiting for: The final of the 2025* Programming Languages World Cup:
#python vs. #rustlang*yes, yes I know, but we started in 2025. Will start the next one earlier, so it doesn't get confusing again.
Python: 0 Rust: 0
RE: https://hachyderm.io/@itworldcup/115960578331633434
Less than half an hour left and Rust is leading by just 4 votes!!!
Vote #Python and boost!
#ITWorldCup Greetings, programs 💾
I've got the honor to present you the match you all have been waiting for: The final of the 2025* Programming Languages World Cup:
#python vs. #rustlang*yes, yes I know, but we started in 2025. Will start the next one earlier, so it doesn't get confusing again.
Python: 0 Rust: 0
I'm sorry, but you'll have to wait a little longer for the next inline snapshot version.
Inline snapshot causes test pollution within pydantic-ai. What's worse, the tool I use to detect the pollution doesn't find the problem.
I'll let you know as soon as I find the problem.
Hello scientists of the world, #Python needs you! ;-) Vote for your favorite programming language and the #ITWorldCup now. And spread the word. Every vote counts (and every minute, too). Thank you!
https://hachyderm.io/@itworldcup/115960578331633434
#DataViz #DataVisualisation #Panda #NumPy #mathematics #Mathematik #GeoPlotLib #MatPlotLib #SeaBorn #SciComm #DataVizualisation #Visualisierung #Science #scientists
🚀 The DjangoCon US 2026 CFP is OPEN!
We’re heading BACK to Chicago and looking for talks from all experience levels.
Got an idea about Django, Python, or the web? We want to hear it!
👉 Submit here: pretalx.com/djangocon-us...
Did you know you can get similar concurrency as asyncio/ASGI in Flask, by using gevent? It's been possible as long as Flask has existed! Turns out we never documented it, so how would anyone have known? Fixed that https://flask.palletsprojects.com/en/stable/gevent/ #Python #Flask #gevent
RE: https://hachyderm.io/@itworldcup/115960578331633434
Rust is currently leading 51% to 49% against #Python in the grand final, with just a 27 vote gap...
This is going to be another tough 11 hours, so vote now and boost!
#ITWorldCup Greetings, programs 💾
I've got the honor to present you the match you all have been waiting for: The final of the 2025* Programming Languages World Cup:
#python vs. #rustlang*yes, yes I know, but we started in 2025. Will start the next one earlier, so it doesn't get confusing again.
Python: 0 Rust: 0
Two nice things to add to your #Python testing toolkit.
https://nedbatchelder.com/blog/202601/testing_exceptions_and_caches
This Thurs (1/29) 2-5p Eastern we're piloting a hands-on workshop on analyzing messy energy data, aimed at grad students and other researchers who have touched #Python but want to learn more. If that's you, and you're up to give us feedback, register below!
Many thanks to @sloanfoundation for supporting our Open Energy Data for All workshops & seminars.
By popular demand (@miketheman), pypistats now has a `--sort` option so you can sort by other columns such as date, rather than the default downloads.
Just released: Python Docs Sphinx Theme 2025.9.2! 🚀
Add German, Korean and Indonesian translations
Fix html page translation
Fix Copy button copying line numbers
Fix search button cutting off long translations
https://github.com/python/python-docs-theme/releases/tag/2025.9.2
#Python #docs #Sphinx #PythonDocsTheme #PythonDocsSphinxTheme
Just released: Python 3.14.0 release candidate 3! 🚀🐍
🪄 Finally, the final release candidate
🪄 We fixed *another* bug that required the ".pyc magic number" to be increased
🪄 The ABI isn't changing, and wheels built for rc1 and rc2 should still work
👤 This was the first release @savannah shadowed!
🏆 Please test and report bugs!
https://discuss.python.org/t/python-3-14-0rc3-is-go/103815?u=hugovk
RE: https://fosstodon.org/@ThePSF/115961682183573060
L'enquête des développeurs #Python 2026, proposée par @ThePSF en partenariat avec JetBrains, est enfin ouverte ! Aidons-les à mieux comprendre la communauté Python et participons à l'enquête de 2026 🐍📝 : https://surveys.jetbrains.com/s3/python-developers-survey-2026
It's that time again: we're kicking off the latest Python Developers Survey in partnership with @jetbrains! Contribute to the understanding of the Python community and join in the 2026 survey 🐍📝 #python #pythondevsurvey
https://surveys.jetbrains.com/s3/python-developers-survey-2026
RE: https://fosstodon.org/@ThePSF/115961682183573060
L'enquête des développeurs Python 2026, proposée par @ThePSF en partenariat avec JetBrains, est enfin ouverte! Aidez-nous à mieux comprendre la communauté Python et participez à l'enquête de 2026 🐍📝 : https://surveys.jetbrains.com/s3/python-developers-survey-2026
It's that time again: we're kicking off the latest Python Developers Survey in partnership with @jetbrains! Contribute to the understanding of the Python community and join in the 2026 survey 🐍📝 #python #pythondevsurvey
https://surveys.jetbrains.com/s3/python-developers-survey-2026
RE: https://hachyderm.io/@itworldcup/115960578331633434
#Python people, make some noise! 🐍 (Rust is also cool, but first language, first love...) #ITWorldCup #coding
#ITWorldCup Greetings, programs 💾
I've got the honor to present you the match you all have been waiting for: The final of the 2025* Programming Languages World Cup:
#python vs. #rustlang*yes, yes I know, but we started in 2025. Will start the next one earlier, so it doesn't get confusing again.
Python: 0 Rust: 0
This is a clever #python trick to remind yourself to delete deprecated code:
assert VERSION < (25,0), "Remove deprecated code"
If you have feedback about the survey, how we can improve it, or other efforts that can be made to boost a diversity of responses, please add a comment to the corresponding Discuss thread 🗒️ #python #pythondevsurvey https://discuss.python.org/t/your-python-your-voice-join-the-python-developers-survey-2026/105883
We created a public Promotion Kit with images and social posts translated into multiple languages 🐍📣 we hope this kit empowers the community to contribute to capturing a diverse representation of how Python is used globally! #python #pythondevsurvey https://docs.google.com/document/d/1C3r-dFY5LmklzCnf72vfeehzRqCCDuXzK8xKuwBES1Y/edit?usp=sharing
For this year's survey, we aim to reach even more of our global community by highlighting our localization efforts 🌏 The survey is translated into Spanish, Portuguese, Chinese, Korean, Japanese, German, French, and Russian. #python #pythondevsurvey https://surveys.jetbrains.com/s3/python-developers-survey-2026
Hey #dev Fedi, I need help!
Recently, #Kate #LSP for #Python (using python-lsp and #jedi) stopped working for me.
Apparently Kate does not provide the expected document variable to jedi but just "None", which obviously breaks the whole package.
Anyone else also having this issue? Are there other tools I can test to replace jedi to detect docstrings and jump to definitions in Python files?
Thanks in advance for any tip.
Not so unpopular opinion: #python whitespace significance is not an issue ; no really it isn't.
une commande #uv partagée par Bob Belderbos de https://pybit.es/ pour déterminer le chemin de dépendances qui introduit une certaine dépendance donnée dans un projet #Python (six, dans les exemples suivants) :
Graphique ascendant des dépendances de six :
> uv tree --package six --invert
Idem, en affichant les contraintes de numéros de version :
> uv pip tree --package six --invert --show-version-specifiers
It's that time again: we're kicking off the latest Python Developers Survey in partnership with @jetbrains! Contribute to the understanding of the Python community and join in the 2026 survey 🐍📝 #python #pythondevsurvey
https://surveys.jetbrains.com/s3/python-developers-survey-2026
un épisode du podcast @talkpython qui fait le bilan 2025 de l'écosystème #Python et aborde les perspectives de 2026 : https://youtu.be/PfRCbeOrUd8
Pour aller au plus court, il y a l'article qui l'accompagne : https://thenewstack.io/python-whats-coming-in-2026/
En résumé, on y parle (entre autres) de uv, de ty et pyrefly, ou de lazy imports.
replyfast, a #Python module to send or receive messages on #Signal.
https://kushaldas.in/posts/replyfast-a-python-module-for-signal.html
#ITWorldCup Greetings, programs 💾
I've got the honor to present you the match you all have been waiting for: The final of the 2025* Programming Languages World Cup:
#python vs. #rustlang
*yes, yes I know, but we started in 2025. Will start the next one earlier, so it doesn't get confusing again.
| Python: | 0 |
| Rust: | 0 |
just finished an upgrade of a #timelapse #python #script : now possible to control a lighting setup in sync with the video grab. next step is to improve the time precision
#electronic #automation #lab #photography
@amoateng has put together an initial roadmap to get Unicorn to a stable 1.0 release. 🤩
We'd love your feedback! What would be most useful for Unicorn going forward? How can we set it up for improved support and adoption in the #Django ecosystem?
https://github.com/adamghill/django-unicorn/discussions/768#discussioncomment-15598088
#HTML #Reactive #WebDev #WebDevelopment #Web #AJAX #JavaScript #Python
Debugger is fun and stuff but sometimes it's just faster to dump Django ORM data to a JSON, skim through it, apply fixes and forget about the topic.
Here's how to do that programmatically, e.g. during TestCase execution.
#Django #Python #programming #DailyPythonista #TDD
https://borutzki.github.io/2026/01/25/how-to-dump-django-orm-data-to-json-while-debugging.html
boostedI'm making a pattern for a bouldering chalkbag in Inkscape, and I was laying out the pages so that they would tile for my printer by hand, and thought to myself "this is going to take *minutes*, I bet that in only a few dozen hours I can write a script to do this automatically". So I wrote my first Inkscape extension.
It overlaps pages with optional registration marks. The extension, and the chalkbag pattern are up on my codeberg.
https://codeberg.org/stib/stibs_inkscape_extensions
#IMadeAThing #Inkscape #Bouldering #Climbing #Sewing #Python
PegaProx steps in as a real manager with a feature set that you might already know from enterprise solutions which simplifies and standardizes the management of Proxmox based infrastructures.
Each capability focuses on reducing operational complexity while giving operators full control over clusters, nodes, storage, and virtual machines like:
This will become a game changer for Proxmox users - especially in enterprises which adds all the often requested but missing functions!
You can already find my first insights about it in my blog post: https://gyptazy.com/blog/pegaprox-real-datacenter-manager-proxmox-clusters/
#PVE #enterprise #virtualization #management #python #ProxmoxVE #opensource #ProxLB #ProxCLMC #ProxSnap
It took a while to figure out how to do it, but there's now a search feature on https://peps.python.org/
I was impressed with the implementation of the static index approach that https://pagefind.app/ provides, thanks @bglw and your contributors for the hard work!
#OpenSource #Python 🐍 ♥️ 🦀 #Rust #BetterTogether
New temp pinned post:
I am looking for a job!
Info on my professional website.
NB. The website is my contracting/freelance site, but in the Netherlands, I would have a regular employment job.
Fediverse pals, I'm currently #OpenToWork!
The backbone of my experience is big #Python and #Django B2B apps, but I'm open to other ways to apply those skills.
If you have leads, feel free to hit me wth a DM here, pass my info along, or email me — address is on my resume, which is on my portfolio site: https://paulbissex.com/
Thanks!
The biggest PEP:
❯ wc -w peps/pep-*.rst | sort --reverse | head -10
1854017 total
17128 peps/pep-0000.rst
14184 peps/pep-0817.rst
13436 peps/pep-3156.rst
13099 peps/pep-0773.rst
12978 peps/pep-0484.rst
12910 peps/pep-0622.rst
12606 peps/pep-0642.rst
12400 peps/pep-0810.rst
11994 peps/pep-0703.rst
(PEP 0 is the autogenerated index page)
un outil Python pour générer un poster du réseau de transport d'une ville : https://github.com/originalankur/maptoposter
Sous le capot, maptoposter utilise :
- argparse pour la CLI
- Nominatim pour le géocodage
- OSMnx pour récupérer les données géospatiales depuis #OpenStreetMap
- matplotlib pour le rendu graphique
Hello !
J'aimerai utiliser un formatage de configuration pour des scripts Python.
Aujourd'hui j'utilise des fichier .txt pour renseigner des scripts je parse ligne par ligne.
fichier.pdf
start 3
PSS 1 3 7-10
PSD 12-13 17-18 23-24
PSS 56
Prends fichier, extrait les pages individuelles (PSS), et monte en doubles pages les PSD.
Ça extrait des PNG d'un PDF en les ordonnant en sortie à partir de start : image_03.png, image_04.png ...
Json ou y'a mieux ? (le plus simple possible)
Why in #Python can you get the keys and values of a list using `enumerate(my_list)`, but to do the same with a dictionary you have to use `my_dictionary.items()`?
Since Monday, some database servers are dying from memory starvation. The memory leak kills the server in one day.
I have deployed a NRPE probe, in Python, to list objects of an OpenStack Swift container to compare the last update time to now. The python-swiftclient SwiftService.list function calls a thread pool under the hood that can cause a deadlock.
https://bugs.launchpad.net/python-swiftclient/+bug/2089570
Files are listed so the value is there, but the exit function hits the lock. I'm not sure if I can fix the deadlock. So we'll move the last servers from Swift to S3 instead.
🆕 blog! “Removing "/Subtype /Watermark" images from a PDF using Linux”
Problem: I've received a PDF which has a large "watermark" obscuring every page.
Investigating: Opening the PDF in LibreOffice Draw allowed me to see that the watermark was a separate image floating above the others.
Manual Solution: Hit page down, select image, delete, repeat 500 times. …
👀 Read more: https://shkspr.mobi/blog/2026/01/removing-subtype-watermark-images-from-a-pdf-using-linux/
⸻
#LLM #pdf #python
un article pour comprendre par l'exemple le fonctionnement de la gestion de la mémoire par l'interpréteur Python et de son garbage collector : https://machinelearningmastery.com/everything-you-need-to-know-about-how-python-manages-memory/
Le projet capsule permet d'isoler des tâches écrites en Python, sans pour autant passer par des solutions de type Docker : https://github.com/mavdol/capsule
L'auteur explique sa démarche dans cet article : https://gist.github.com/mavdol/2c68acb408686f1e038bf89e5705b28c ; celle-ci s'inscrit notamment dans la sécurisation d'exécution de code généré par des modèles IA MPC.
Hello data fans!
Some newish API things on the PEPs website.
release-cycle.json is summary of Python x.y releases from 1.6: support status, release PEP, release manager, important dates.
python-releases.json also has info for each x.y.z version: release date and whether actual/planned.
release-schedule.ics is an iCal, especially useful if you're a release manager and want to plan [your life around] releases.
More details: https://peps.python.org/api/
#Python #PEP #release #data #API
Packaging 26.0 is out! Hopefully in time for pip 26.0. :) https://github.com/pypa/packaging/releases/tag/26.0 #releases #python #packaging
TIL: In Django abstract base models, hardcoding related_name can cause reverse accessor collisions across subclasses. Use dynamic placeholders instead: %(app_label)s + %(class)s in related_name / related_query_name.
https://til.sanyamkhurana.com/#/topics/django/dynamic-related-name-in-abstract-models
Oh #FFS! Trying to install #Offpunk and the #Python #Cryptography library requires #Rust now. So I install Rust and nothing works... Turns out the whole of the Rust ecosystem is dependent upon one server which is currently down and as such I can't do anything Rust related until they fix it, which means Python is also stuffed in the meantime! #IHateRust
RE: https://hachyderm.io/@itworldcup/115926604229775228
PHP is currently winning 51% to 49% against #Python with only 6 votes needed to swing it!
But it'll be a tough 10 hours so vote and boost!
Please congratulate our newest PSF Fellow Members for Q4, 2025! Their continued contributions to the Python ecosystem are so very important to our community. #python
https://pyfound.blogspot.com/2026/01/announcing-python-software-foundation.html
Check out my vibe coded "git branch" TUI, built in #Python with #ClaudeCode and #Textual. Try it with: uv tool run --from gittwig twig https://github.com/RhetTbull/gittwig
You can send politicians' data from other countries in this format:
https://github.com/everton137/leavex.eu/blob/main/data/politicians/nl/mps.json
If you want to build a scraper in Python, please let's organise those scripts here:
https://github.com/everton137/leavex-tools
All the scripts for MEPs are available. We also organise the scripts to override politicians who left X there.
2/2
Python: Schneller als man denkt - Das Beispiel
Ich stelle das Beispiel vor, bei dem die Kernel Density Estimation als Referenz dient und im Artikel ausschließlich die triviale Implementierung betrachtet wird.
#Python #Mathematik #HPC #Linux
https://gnulinux.ch/python-schneller-als-man-denkt-das-beispiel
@ehmatthes Mypy, but will likely move to ty or pyrefly.
You can configure ty's output format to be more concise:
https://docs.astral.sh/ty/reference/cli/#ty-check--output-format
#Python
#Python people, which type checker are you you using?
I just tried ty, and was really surprised at how much more output it generates than mypy. There's so much output, I think I prefer what mypy generates.
Obviously, I can't type so there is a duplicate ("un comédien") so we can remove duplicates by converting to a set then convert back to a list.
And also compute the size of the left padding to display the list nicely.
Full script:
```
import random
words = [
"un magicien",
"combien",
"un mécanicien",
"un musicien",
"un comédien",
"un pharmacien",
"le mien",
"un chien",
"un Italien",
"un gardien",
]
words = list(set(words))
random.shuffle(words)
display_size = len(str(len(words)))
for i, word in enumerate(words):
print(f"{i+1:{display_size}}. {word}")
```
Result:
```
1. le mien
2. combien
3. un gardien
4. un magicien
5. un mécanicien
6. un Italien
7. un pharmacien
8. un musicien
9. un comédien
10. un chien
```
edit: applied @AntoineCezar suggestion
My daughter has to prepare a dictation every week. Instead of mentally randomize the list and keep track of what word I have already given, I wrote a simple Python script:
```
import random
words = [
"un magicien",
"un comédien",
"un mécanicien",
"un musicien",
"un comédien",
"un pharmacien",
"le mien",
"un chien",
"un Italien",
"un gardien",
]
random.shuffle(words)
for i, word in enumerate(words):
print(f"{i+1:2}. {word}")
```
Giving for example:
```
1. un mécanicien
2. un gardien
3. le mien
4. un comédien
5. un musicien
6. un comédien
7. un magicien
8. un pharmacien
9. un chien
10. un Italien
```
Black 26.1.0 is out.
For those who don't know, they use CalVer, and a new year means a new style with some formatting changes. So far they look good to me.
How does one spelunk #Python history? I see that breakpoint() was added all the way back in 3.7, but hasn't been improved on at all.
I can't be the first person who wanted to do "breakpoint(x,y)" to start the debugger and immediately print out the values of x and y, instead of making me type each in the debugger every time I got to this spot.
Where can I find the discussion of what breakpoint() should and should not be able to do?
What do cool people uses nowadays for basic deployment of simple static websites?
I previously used #python #fabric but I'm not sure it's a good idea to stay with.
I know #ansible but I like to keep my #configmanagement code for #servers and my websites deployment code separated, and stay basic for #website #deployment (which is a pretty simple task)
Do you have any recommandation?
There's #Python PyConDE/PyConIT community voting going on this weekend.
If you've visited one of those conferences in the last years, you can vote (even if you can't come this time). By voting you can influcence which talks will be available for you to watch online later in the year - and you get a good overview on what's hot this year.
I published another game https://beta.ektupy.org/remix/8a93895da0e161b24caa836cc651d524/ #ektupy #python #fun
Ever wondered how to parametrize exception testing in PyTest?
Try this:
https://borutzki.github.io/2026/01/15/how-to-parametrize-exception-testing-in-pytest.html
#DailyPythonista #python #programming #Pytest #TDD #unittest
I made a *first* version listing European politicians who still use or don't use X:
https://leavex.eu/politicians/
Almost 60% of the MEP are still on X. At the moment, I just scraped data at the EU level, but I will add data from other countries. I want to start with Germany, France, Spain, and Italy. If you would like to help add your country, please contact me here.
Scripts to scrape data:
https://github.com/everton137/leavex-tools
leavex.eu website:
https://github.com/everton137/leavex.eu
It's not to be a wall of shame, although it is, but a way to facilitate you contacting politicians about this topic.
Linus Torvalds, Vater von Linux-Kernel, taucht in die Welt des Vibe Coding ein! Mit Googles Antigravity AI erschafft er das Python-Tool AudioNoise – ein Audiovisualisierer für Gitarrenpedal-Effekte. Spaßprojekt erfolgreich, Kernel bleibt tabu. 🎸🐍💻 https://www.heise.de/news/Linus-Torvalds-wird-zum-Python-Vibe-Coder-11140648.html #Linux #Python #VibeCoding #KI #Newz
Si jamais il y a des experts en dev #macOS en #Python dans le coin (PyObjC), vous pouvez retrouver le code de ma tentative avortée d'utilisation de l'API ICC (Image Capture Core) sur GitHub:
https://github.com/wanadev/MacScan/
Si vous avez une idée de pourquoi ça merdouille je suis preneur 😅
D'ailleurs pour l’acquisition d'image depuis les scanners 2D sous #Windows, on passe par l'API WIA native de ce système... Et j'en avais fait un article à l'époque :
https://blog.flozz.fr/2024/04/17/python-scanner-un-document-sous-windows-avec-lapi-wia/
Pour #macOS par contre j'ai jamais réussi à utiliser l'API native (ICC pour Image Capture Core) depuis #Python... J'ai dû bricoler avec du #Swift et de l' #ObjectiveC... 😅
✍️ New post introducing tprof, a new targeting profiler for Python 3.12+ that measures only specified functions.
Use tprof to measure the impact of a few functions without adding overhead to the whole program.
I've had some thoughts bouncing around for conference sprints. We talked about it at @ConferenceChats a few weeks ago, so I wrote an initial FAQ on how to prepare for them.
It primarily focuses on gaining new contributors from a project leader prospective.
Let me know what you think!
https://www.better-simple.com/django/2026/01/14/preparing-for-conference-sprints/
I heard you like alphas?
Just released! Python 3.15.0a5, this time built against `main` from today instead of last month! 🚀
https://discuss.python.org/t/python-3-15-0-alpha-5-yes-another-alpha/105721
📢 🇬🇷 DjangoCon Europe 2026 is coming to Athens, Greece!
From April 15–19, 2026, our Django passions, curiosities and explorations will converge in the historic city of Athens for Europe's leading Django community event. Are you ready?
🔗 Explore what's in the works: https://2026.djangocon.eu/
Really good to see new releases from Astral, pyenv and GitHub Actions just hours after a new Python release. And for an alpha at that!
Starting Zed for the first time since they moved to basedpyright and even a simple file shows errors that don’t exist. Guess this is as good of a chance as any to take a look at ty that seems to gain traction. #python
Some people in the #Python community seem to have some people upset at the PSF taking money from Anthropic. This baffles me a great deal because one of the biggest issues facing the OSS community in general is that big companies make their money from the hard work of the volunteers who build the OSS. This is a company - yes, a somewhat distasteful one but, IMO, no worse than Amazon, Google, or Meta - giving back to the community. This is what we are asking for.
Attackers Abuse #Python, #Cloudflare to Deliver #AsyncRAT
The #phishing campaign shows how attackers continue to weaponize legitimate #cloud services and #opensource tools to evade detection and gain trust.
https://www.darkreading.com/endpoint-security/attackers-abuse-python-cloudflare-deliver-asyncrat
#security
Anthropic invests $1.5 million in the Python Software Foundation and open source security via @paulox https://lobste.rs/s/mb07nn #python
https://pyfound.blogspot.com/2025/12/anthropic-invests-in-python.html
And another release of #rtcirqus. I added logging when a device gets disconnected and rtcirqus doesn't bail out anymore when a device gets disconnected on a #RaspberryPi 5/500/500+.
https://codeberg.org/autostatic/rtcirqus/releases/tag/v0.2.4
Just released: Python 3.15.0a4 and look at those JIT numbers!
Just released: Python Docs Sphinx Theme 2025.9! 🚀
This enables translations of the theme and adds translations for:
Brazilian Portuguese
Greek
Japanese
Polish
Simplified Chinese
Spanish
Swedish
Traditional Chinese
Turkish
Thanks to all our translators!
https://github.com/python/python-docs-theme/releases/tag/2025.9
#Python #docs #Sphinx #PythonDocsTheme #PythonDocsSphinxTheme
RE: https://wandering.shop/@xgranade/115887926400613460
The PSF have enough reputation with me personally that I'm not concerned.
If you have the opportunity to steal a couple of million from the Barrons and in turn offer them basically nothing. then that is *good actually*
It would be useful to scrutinise the text of the agreement as that is where the legal traps are that would force the PSF to do silly things that harm the community.
i.e. Take their money and damn their eyes.
An update to the above that saddens me to my core:
Well, fuck. I guess the PSF is willing to compromise their principles for $1.5 million after all.
https://pyfound.blogspot.com/2025/12/anthropic-invests-in-python.html?m=1
The January edition of the PSF Board Office Hour is about to begin 🐍 🗒️ 2 PM UTC. Join us to share how we can help your community, express your perspectives, and provide feedback for the PSF! #python
https://pyfound.blogspot.com/2025/10/a-new-psf-board-another-year-of-psf.html
Anthropic is investing $1.5 million in the PSF, focused on security. These funds will make an enormous impact on the PSF and the security of millions of #Python and @pypi users. Please join us in thanking Anthropic for this landmark gift!
Read more on our blog:
https://pyfound.blogspot.com/2025/12/anthropic-invests-in-python.html
If you are looking to run a child process in the background while returning quickly without killing the child process in Python, os.fork() works very well. I'm using this strategy to list all the s3 objects of a bucket to return only the last one, which takes 8min30s. Of course we don't want a synchronous call here.
Connaissiez-vous l’interpréteur RustPython ? C'est une ré-écriture complète de CPython en Rust… ça promet d'être plus rapide et sujet à moins de bug de gestion mémoire (facilement commis en C).
***
Pour rappel Python est le langage de programmation le plus utilisé au monde. C'est aussi l'un des langages de script les plus lents.
un outil #DevOps de gestion d'#infrastructure numérique en #Python pour faire de l'#infraAsCode : https://pyinfra.com/
À la différence d'#Ansible qui est également codé en Python, #PyInfra ne s'appuie pas sur un DSL yaml, mais convertit les commandes Python en commandes shell sur le terminal de la machine hôte.
🎉 https://djangopackages.org has a new design after months of work.
🤝 Big shoutout to @saadmk11 for his efforts. Amazing job!
We moved the project over to TailwindCSS, which will make new features easier going forward.
If you see anything we missed, please open an issue: https://github.com/djangopackages/djangopackages/issues
ProxLB 1.1.11 was released, focusing on deeper integration and smarter balancing for Proxmox VE clusters. This version introduces a beta integration with Proxmox’s native HA and affinity/anti-affinity rules (please report any kind of bugs!), allowing ProxLB to work seamlessly with existing placement constraints instead of duplicating them.
The balancing behavior has also been improved: operators can now prefer smaller or larger VMs during placement, and node memory reservations are respected to reduce overcommitment.
Overall, 1.1.11 makes ProxLB more predictable, safer, and better suited for production use, while paving the way for future HA-aware scheduling improvements.
Blog post: https://gyptazy.com/blog/proxlb-proxmox-ha-affinity-rules-version-1-1-11/
Release/Changelog: https://github.com/gyptazy/ProxLB/releases/tag/v1.1.11
GitHub: https://github.com/gyptazy/ProxLB
#virtualization #VM #VPS #PVE #Prox #ProxmoxVE #KVM #VMware #Enterprise #Homelab #ResourceScheduler #affinity #antiaffinity #devops #tools #python #debian
A bit of polish to Toad's shell.
AI prompts and the shell can be interleaved. It's a remarkably natural workflow. You can even run the Python REPL from within Toad.
https://github.com/batrachianai/toad
Worth a ☆ ?
New rtcirqus release! Added some fixes so rtcirqus also runs correctly on a Raspberry Pi 5/500/500+ and probably older models too.
https://codeberg.org/autostatic/rtcirqus/releases/tag/v0.2.3
Gérer mon Wiki.js sans quitter le terminal ? C’est possible ! 🐧💻
Démo de mon outil CLI maison : rapide, efficace et 100% BlablaLinux.
🚀 Le Wiki : https://wiki.blablalinux.be
📦 Le Code :
GitHub : https://github.com/anyblabla/wikijs-cli
Gitea : https://gitea.blablalinux.be/blablalinux/wikijs-cli
C’est open-source, c’est efficace, et ça laisse plus de temps pour boire un café ☕️
#BlablaLinux #Python #WikiJS #Automation #Linux #GeekStuff #SysAdmin
This weekend I am pouring one out for the category I have come to call the *side project graveyard* lol
We all have that folder of half-finished apps, abandoned blogs and partial scripts. I say don't feel bad about them. Instead of calling them failures, I call them practice runs 😊
You learned something in every repo you abandoned. Maybe this weekend is the time to resurrect one? Or maybe just start a new one. Creativity is a muscle, keep flexing it. 💪🎨
#programming #weekend #creative #sideproject #infosec #python #indiedev #linux #sysadmin
Python π(3.14) was just released to Arch Linux.
Do not forget to rebuild all your python things from aur and other sources!
boostedOn behalf of the packaging maintainers, I’d like to announce packaging 26.0rc1 is out! Support for pylock, import name metadata, writing metadata files, and so much more! Please try it out, as it's a huge release. If you'd like to read about the performance work making this the fastest version of packaging ever, see my post:
https://iscinumpy.dev/post/packaging-faster #python #release #packaging
Introducing EktuPy via @paulox https://lobste.rs/s/mdggwb #education #games #python
https://kushaldas.in/posts/introducing-ektupy.html
Thanks @mathsppblog that's interesting 😊
So all you Python and Espresso lovers, see you in Bologna 🇮🇹
https://2026.pycon.it/en
#Python #Espresso #PyEspresso
RE: https://fosstodon.org/@henryiii/115866716612505517
Nice use of Pablo & co's new statistical profiler in Python 3.15!
https://docs.python.org/3.15/whatsnew/3.15.html#whatsnew315-sampling-profiler
Adam Johnson![]()
boosted
On behalf of the packaging maintainers, I’d like to announce packaging 26.0rc1 is out! Support for pylock, import name metadata, writing metadata files, and so much more! Please try it out, as it's a huge release. If you'd like to read about the performance work making this the fastest version of packaging ever, see my post:
https://iscinumpy.dev/post/packaging-faster #python #release #packaging
Introducing #ektupy https://kushaldas.in/posts/introducing-ektupy.html #python #learning #kids #scratch #browser #django #community #pyscript #teaching #programming
Please share it across and let me know what you made using this :)
In #Python `any` and `all` are global functions that work on any `Iterable` producing elements that can be converted to `bool`. If you wanted (semantically) `find` #Find or `first` #First, they are less obvious (though specific types can provide them, such as `str.find`). `first` implies the underlying `Iterable` promises some predictable order, and there might be duplicates, and you might care about the position of the found element in the larger sequence.
So let’s talk about the idea of `find`: you do it all the time and for ordinary `Iterable`s, there aren’t one-word answers. Let’s start with (the not always) "bad" answers (I don’t want you to do them, so I won’t show code).
You could use a `for` loop and `break` on a match (remember, maybe, that `for` does have an `else`). Worse performing, you could produce a filtered list (with a #Comprehension or with the actual `filter` function), then just grab the first element. You’d test of course, for an empty list. Unlike the `for`, here you look at the whole list.
Here’s another way. I consider it more Pythonic. Given an ordered sequence `s` and a predicate `p` (or you can imagine a simple expression instead) then
`elem for elem in s if p(elem)`
…is the machinery of a comprehension or #Generator depending on what you surround it with. Parens or using it as an argument, will make it a generator.
`next(elem for elem in s if p(elem))`
Gets an iterator from the generator; initializes it, and causes it to find and return the first element of `s` that meets the requirements. If there is no match, then it raises a `StopIteration` exception. `next` takes another argument: a default. If you call it like this, instead of an exception it returns `None`:
`next(elem for elem in s if p(elem), None)`
It’s as efficient as the `for` (actually, a little better because `for` loops are slightly slower in general and also would have to save the found element for use afterwards. It reads better, to me anyway.
un outil #Python #opensource pour tester localement des pipelines d'intégration continue #gitlab, pratique pour valider des modifications avant de les commiter : https://radiandevcore.gitlab.io/tools/gcil/
Un outil de test local de pipelines gitlab. C'est bien pratique pour valider des modifications sans pourrir son historique https://radiandevcore.gitlab.io/tools/gcil/ #gitlab #test #intégration #automatisation #opensource #python
RE: https://mastodon.social/@stephanetrebel/115853359560671775
la dette technique vue au regard de décisions de management et de #pratiques d'artisanat #logiciel (pas que #Python) : https://dev.to/adamthedeveloper/technical-debt-is-a-myth-created-by-bad-managers-2l3k
- terme utilisé par les devs pour parler aux managers (préoccupations financières) qui n'ont pas fait le chemin inverse
- elle est souvent imposée à l'équipe de dev sans le temps pour la rembourser
- le métier de dev est un métier de compromis
- legacy != dette technique : la tech évolue et questionne les choix faits avec les possibilités de l'époque
un article qui évoque les #tests #Python sous le prisme de la performance de la logique métier testée. C'est-à-dire : "un algorithme peut-il passer à l'échelle ?"
https://pythonspeed.com/articles/big-o-tests/
L'occasion de se familiariser avec la notation big-O pour caractériser les performances d'un algorithme et d'outiller cela avec la #bibliothèque https://github.com/plasma-umass/bigO, qui permet de déterminer la complexité d'une fonction par mesures successives.
Show HN: Seapie – a Python debugger where breakpoints drop into a REPL
sysop
boostedmanpageblog is written in Python and available for many systems, including #FreeBSD, #OpenBSD, #NetBSD or #Solaris based ones like #Illumos but also on #Linux like #Debian or #Ubuntu.
Changelog v1.6:
The project source is available on GitHub at:
https://github.com/gyptazy/manpageblog
You can find a real-life demo on my website at https://gyptazy.com
#opensource #devops #minimalism #purism #web #blog #blogengine #blogging #coding #python #website #manpageblog
Some new preliminary numbers from Ken Jin for the JIT in Python 3.15:
"On AArch64 macOS, the JIT has a 7-8% speedup over the tail calling interpreter with all optimizations enabled."
https://docs.python.org/3.15/whatsnew/3.15.html#whatsnew315-jit
https://github.com/python/cpython/commit/d9c1235db44100b16355a347ca9e304df48411a7
This is in addition to 3-4% over the standard CPython interpreter on x86-64 Linux.
See also https://doesjitgobrrr.com
🚀 The DjangoCon US 2026 CFP is OPEN!
We’re heading BACK to Chicago and looking for talks from all experience levels.
Got an idea about Django, Python, or the web? We want to hear it!
👉 Submit here: https://pretalx.com/djangocon-us-2026/cfp
🚀 The DjangoCon US 2026 CFP is OPEN!
We’re heading BACK to Chicago and looking for talks from all experience levels.
Got an idea about Django, Python, or the web? We want to hear it!
👉 Submit here: https://pretalx.com/djangocon-us-2026/cfp
Thanks a lot for creating & maintaining this. It's a real handy utility for tracking down version release dates & EOL dates.
It's become part of my standard pipx install on my desktops.
Much appreciated!
RE: https://fosstodon.org/@talkpython/115843758399281516
un épisode de @talkpython avec les personnes ayant créé les #frameworks #web #Python FastAPI, Flask, Django, Quart et Litestar.
- les briques des frameworks : wsgi / asgi
- async / await
- concurrence par threads et process
- ORM
- critères de choix d'un framework
- tâches de fond
- #HTMX
- hébergement cloud ou non
Pfft. Obfuscated Python. Back in my day, we just used Perl. Obfuscation built in.
https://thehackernews.com/2026/01/new-vvs-stealer-malware-targets-discord.html
@hynek Very nice! Be careful not to do {39-314}:
> Be conscious of the number of significant digits in your range endpoints. A range like py{39-314} will not do what you may expect. (It expands to 275 environment names, py39, py40, py41 … py314.) Instead, use py3{9-14}.
https://tox.wiki/en/4.33.0/config.html#generative-environment-list
(Or just drop 3.9)
la rediffusion du #PythonRennes du 10 décembre est en ligne : https://www.youtube.com/watch?v=Dzjjwhx2Amk 🎉
Merci IDnow pour l'accueil, Alex pour la captation et la mise en ligne, Michel Martin et Frédéric pour vos interventions.
- #Python loin de ton ordinateur
- Le composant #gitlab python une ci/cd sur étagère
- #IA on edge, une romance qui s’affirme
Retrouvez les diaporamas des actualités et des interventions sur https://github.com/lucsorel/conferences/tree/main/python-rennes-2025.12.10-python-pere-noel
un article de @andrewnez expliquant pourquoi uv est plus rapide que #pip pour installer des dépendances #Python : https://nesbitt.io/2025/12/26/how-uv-got-so-fast.html
Notamment :
- uv s'en tient à un formalisme issue de différentes PEP
- ce que uv ne fait pas (.egg, pip.conf, pyc compilation)
- ce que #rust permet d'accélérer (langage exécuté, parallélisation en threads plutôt que par process)
- les optimisations "métier" faites par uv que pip pourrait intégrer
Bonne année 2026 à vous 🎉
Et pour fêter ça, voici la rétrospective 2025 par @pypi : des actions menées surtout sur la cyber-sécurité de l'écosystème #Python.
https://blog.pypi.org/posts/2025-12-31-pypi-2025-in-review/
Un article de @mkennedy qui donne des ordres de grandeur de temps #CPU et de #RAM consommée par différentes opérations #Python : de la recherche de valeur dans un dictionnaire au lancement d'un process, en passant par les opérations arithmétiques, la manipulation de listes, la dé·sérialisation JSON et recherche en base.
https://mkennedy.codes/posts/python-numbers-every-programmer-should-know/
I gave a lightning talk at a bunch of conferences in 2025 about some of the exciting new things coming in Python 3.14, including template strings.
One thing we can use t-strings for is to prevent SQL injection. I illustrated this with xkcd 327 aka “Little Bobby Tables”.
I localised most of the slides for the PyCon I was at, including this comic. Here they are!
https://hugovk.dev/blog/2026/localising-xkcd/
#Python #python314 #xkcd #PyCon #PyConItalia #PyConGreece #PyConEstonia #PyConFinland #PyConFI #PyConSweden
Y'a des gens ici qui s'y connaissent un peu avec Homebrew dans le cadre d'une formule Python ?
J'ai des erreurs super bizarres avec ma formule, je comprends rien au souci :/
Le changement : https://github.com/Kosmorro/homebrew-tap/pull/19/changes
Le résultat : https://github.com/Kosmorro/homebrew-tap/actions/runs/20691199714/job/59399555062?pr=19
Avant ces changements, la formule se construisait correctement :(
I'm pretty sure lots of #Python coders already know this, but if you're annoyed with dict literals needing so many quotes, consider using dict() with keyword arguments.
{"foo": 123, "bar": 456, "baz": 789}
becomes
dict(foo=123, bar=456, baz=789)
This only works with string keys, of course, and only of every key is a valid keyword argument. For example, if one of your keys is "class", or "Bud Spencer", or even "", you can't use this method.
🎯#DigitalIndependenceDay – ab 4. Januar 2026 jeden ersten Sonntag auf die gute Seite wechseln.
➡️#Linux statt Zwangs-Updates.
➡️#Thunderbird statt Datensauger.
➡️#GIMP und #Blender statt teurer Abo-Software.
➡️#Python und Netzwerkwissen statt Blackbox.
🤗Mit den Kursen für OpenSource-Software der Berliner Volkshochschulen lernst Du, wie der Umstieg klappt – praxisnah und verständlich. Heute ein Tool wechseln, nächsten Monat das nächste – Schritt für Schritt. Digitale Unabhängigkeit ist machbar.
ℹ️ Alle Kursvorschläge gibts in unserem Linktree: https://wonderl.ink/@vhs.berlin
#DIDay #OpenSource #VHS #Berlin #DID #DUD #DIDit #Volkshochschule #Bildung
I've just published my new blog post:
"KDE onboarding is good now."
It will be awesome next.
I talk about my history with Linux and KDE and what I've done over the years, going through my work as a documentation contractor for KDE until I reach the current state of KDE onboarding docs.
https://rabbitictranslator.com/kde-onboarding/
#KDE #Linux #Documentation #TechnicalWriting #Cpp #CPlusPlus #Qt #QML #Python #Rust
Hey #Python community, I'm struggling with #PyCharm a bit. I'm in a situation of contributing to a project that dynamically detects and adds Python modules from non-standard location (probably by tampering `sys.path`). Namely woob. During development, those packages are located in a directory (not a module, there's no `__init__.py`) named `modules`. But they are imported as `woob_modules` in code.
The solution I found so far is to symlink `modules` to `woob_modules`. This mostly works, Pycharm shows no import error but then, when I want to navigate to source with Ctrl+B PyCharm navigates to a directory under the symlink instead of the actual file. PyCharm seems to consider `modules` and `woob_modules` are two different directory which causes problems with breakpoints and code desync between the 2 versions of the file. I need to constantly refresh from filesystem.
I think I remember a mecanism that allowed to install a module in `site-package` with pip without a pyproject.toml or setup.cfg by symlinking it. I found something with `.pth` but I couldn't get something to work. Of course just renaming `modules` to `woob_modules` and mark it as code it out of question. Any idea?
I spent about 2 full working days doing #AI coding (not #vibecoding, but with more control and careful guidance). the end result is a daemon I just deployed to send me alerts on #XMPP and #IRC.
What's legally interesting, is that 3+ KLOC result of #Python code has no copyright protection at all – copyright protects specific expressions of creativity, and there's not a signle line I had written myself: from start to end it was "AI".
So when companies try to monetize everything...
I have an electric car and a charger at home, also a distributor to prevent over current. Due to high prices during daytime I have the possibility in the distributor to set a schedule when my charge box should be available.
So far so good, but ...
I can only set different time schedules and not days, so weekends I'm stuck with my week schedule, even though the price is lower and I could charge my car 24h.
I sen't a mail to the support and asked for that config option, and yes you guessed it right.
-Sure, that is possible with our PRO subscription.
Thank you and f**k off.
I'm no developer but with Burp Suite, Python and some cups of coffee I now have written an API parser in python that will accept command line args.
myprog.py --disable / enable
now I can schedule with crontab my own without your PRO subscription.
HA!
I recently rediscovered the venerable but powerful "pudb" #Python #debugger. I think I was introduced to it at Routable.com a few years ago.
It has a design quality I associate with good tools, which is that it's immediately useful with very little RTFM, but also has significant feature depth if you want to go there.
E.g. when I use pdb/ipdb, I often do a lot of manual inspection of variables. The pudb "Variables" panel handles almost all those use cases, fast.
@nedbat Hooray!
Let's do https://docs.python.org next and turn https://docs.python.org/3/whatsnew/3.14.html into https://docs.python.org/3/whatsnew/3.14 ?
#Python
Wenn die Computermaus erlischt
Logitech G203 Lightsync Beleuchtung wird durch ein Python Skript verändert. Skript und Nutzung wird vorgestellt.
Conferences included in the starter pack 👇
@pycon
@europython
@pyconau
@pycon@social.python.it
@AFPy
@PyConUK
@pycascades
@kiwipycon
@pyconde
@pyconcz
@pyconafrica
@pyconsweden
@pybay
@PyConNA
@pyconil
@pyconfi
@pycon_austria
@pycon_nl
@NorthBayPython
@pybeach
@pyohio
@pytexas
I’ve just created a Python Conferences starter pack on FediDevs 👋
I added the official Mastodon accounts of Python conferences that are discoverable on the Fediverse
Only Python conferences, no personal accounts 👇
https://fedidevs.com/s/Nzk5/?v=7
If you know other general Python conferences on Mastodon please reply and suggest them 😊
Please boost ♻️
CC @fedidevs
Updated my web tool which I use to teach #DNS https://howcomputer.works/learndns/
Let me know what do you think. I know the UI still needs a lot of work, but it is better than before :)
I’m a #Bash expert. Not at the level of the "You Suck At Programming" guy (Dave, see https://ysap.sh; his YouTube videos rock), but if I need it to happen in Bash, I can probably make it happen.
But … if it goes just a little too far, if it needs an associative array, it doesn’t take too much to shift the balance from Bash being the right tool to #Python being the right tool (for me, anyway).
For stand-alone Python scripts, #UV has really made Python a much easier choice.
Congratulations to @cheukting_ho, @EvilDMP and @davidhewitt for being recognised on the OpenUK New Year Honours List!
https://openuk.uk/honours/
#Python #Rust
I suggest you support Standard Ebooks 📚
“Standard Ebooks is a volunteer-driven project that produces new editions of public domain ebooks that are lovingly formatted, open source, free of … copyright restrictions, and free of cost.” ⚖️
See what’s free to read on January 1 👇
https://standardebooks.org/blog/public-domain-day-2026
Please boost 🙏
#StandardEbooks #PublicDomain #PublicDomainDay #Copyright #Ebooks #OpenSource #FreeSoftware #Python
🎉 We are less than $2k away from hitting our 2026 #Django fundraising goal.
This supports three Django Fellows, our DSF Assistant, dozens of community events like Django Girls, DjangoCons, Django Days, and Django Meds, and the day-to-day work that keeps everything running at the Django Software Foundation.
If you have been waiting to donate, today is a great time.
Employer donation matching also works, including through Benevity.
Looking Back at Python Pescara 2025 by @paulox https://lobste.rs/s/efyicm #culture #python
https://www.paulox.net/2025/12/31/looking-back-at-python-pescara-2025/
https://northtube.ca/w/28sUV6uosRvAA3kJaNXiyT
I uploaded my old #Django class to #Peertube - for those who have dabbled in #programming and wants to learn the fundamentals of #webdev
The original slideshow has been lost to google drive (R.I.P), but I have https://mathewstorm.ca/tech/tutorials-Django/01-creating-a-project-base/ as a text guide, for those of you who learn better through words!
Working on getting the second part uploaded :D hopefully this can help some people.
I’ve just published a personal retrospective on Python Pescara and our 2025.
It’s a look back at meetups, Django Girls, conferences, and how a local community grew and connected to the wider Python ecosystem.
Full article 👇
https://www.paulox.net/2025/12/31/looking-back-at-python-pescara-2025/
#Python #Community #OpenSource #Django #PythonPescara
CC @pescara
J'exploite encore rarement UV pour les projets en Python.
Il faudra que refasse le tour des successeurs à NPM pour les projets en JavaScript. 🤔
The success of our fundraising campaign this year has knocked our socks off- sending huge THANKS to each one of you wonderful humans in the #Python community. We are so incredibly grateful for your support and to be in community with each of you 🥰🥰
#Linux #Python
39C3 Plötzlich posten viele so kastrierte Knowlege-Grafiken mit Ihren Fediversbeziehungen zu ihren Followern
Chat-GPT hat mir da was richtiges gevibecodet. 2 Ebenen, maximal 80 Follower über 500 Knoten. Mit Avatar und Nickname. Kann man kopieren und benutzen:
https://gist.github.com/dewomser/680bc601b7138a9cc269c2c1b814cc4d
Working with #AI (I prefer #ClaudeCode) has significantly upped my #Testing game; but when it comes to actually writing real #Python, I constantly have to hold #Claude’s hand to get what I consider decent code. If you’re not already a pretty good #Programmer, you’re not going to end up with anything comprehensible, correct, or reliable.
$corporate recently moved us from #Linux to #Windows (#WSL). While I'm disappointed, I quickly set up #komorebi with a WSL-first approach, which actually works really well. However, I soon realized there was no keystore available.
`pass` is my go-to, but not everyone wants to deal with GPG setup, so I looked into alternatives for my team. Most people recommend gnome-keyring, but I’m not a fan of bloated solutions. The thing is, I already have a keystore just outside WSL: the Windows Credential Manager.
So here we are, let's welcome `keyring_wincred` and `winaskpass`! Both store secrets in wincred using a C# script via powershell from WSL 😱
https://github.com/ilpianista/winaskpass
https://github.com/ilpianista/keyring_wincred
Django is at 97% of their funding goal for 2025, it's the backbone of many tools you're currently using so consider supporting the Django Foundation! https://www.djangoproject.com/fundraising/
Wow,The Ansible connection plugin "jailexec.py", that I created this year, which can be used to automate FreeBSD jails without SSH (via jexec) got used in an example git-repository from the @FreeBSDFoundation 😯
https://github.com/FreeBSDFoundation/blog/tree/main/easy-jail-setup/plugins/connection
I feel humbled.
jailexec.py: https://github.com/chofstede/ansible_jailexec/
🐍🗓️6️⃣ The dateutil library is a popular and powerful Python library for dealing with dates and times.
However, it still supports Python 2.7 by depending on the six compatibility shim, and I’d prefer not to install it for Python 3.10+.
Here’s how I replaced three uses of its relativedelta in a couple of CLIs that didn’t really need to use it.
https://hugovk.dev/blog/2025/minus-six/
#Python #dateutil #six
TIL: Instead of the standard pattern of
if k not in mydict:
mydict[k] = []
mydict[k].append(foo)
Python comes with a subclass of dict that will automatically create missing elements from a factory function as soon as you try to access them:
from collections import defaultdict
mydict = defaultdict(list)
mydict[k].append(foo)
Just released! 🚀
norwegianblue 0.24.0
CLI to show end-of-life dates
show spinner when querying
support 3.15
replace dateutil+six dependencies with stdlib
replace httpx with urllib3
replace pre-commit with prek
Just released! 🚀
pypistats 1.12.0
CLI for PyPI download stats
support 3.15
drop 3.9
improve verbose output
declare type hints
replace dateutil+six dependencies with stdlib
replace httpx with urllib
replace pre-commit with prek
Je cherchais comment exécuter du code Python dans mon code Java sans que le code Python ne le sache. Avec cette solution (qui fait évidement du dangereux JNI), je dois pouvoir faire des trucs intéressants ... https://github.com/ninia/jep #java #python #interaction #library #opensource
Just released! 🚀
stravavis 0.6.0: create visualisations of Strava activities
* add option to select visualisations/allow --bbox as file/support 3.13-3.14/drop 3.9
https://github.com/marcusvolz/strava_py/releases/tag/v0.6.0
termcolor 3.3.0: ANSI formatting for the terminal
* add italic/fix error handling
https://github.com/termcolor/termcolor/releases/tag/3.3.0
pylast 7.0.1: A Python interface to Last.fm
* fix type hints
Just released: humanize 4.13.0! 🚀
🤖 Optimise `naturalsize` algorithm by using `math.log`
🤖 Fix `precisedelta` rounding
https://github.com/python-humanize/humanize/releases/tag/4.13.0
#Python #humanize #release
pyupgrade & @adamchainz' django-upgrade have a sister now.
Works for JS, TS, you name it and updates your code according to Baseline feature availablity in browsers.
https://github.com/codingjoe/esupgrade
#Javascript #typeScript #python #django
Doing some vibe coding with Toad and Claude here.
Check out the end result:
uvx ny2026
And the repository:
🎮 This is pretty cool. For being "slow", Python and Django can now run doom at 60 FPS using Django LiveView.
This feels like a fun benchmark to start comparing various Django libraries with.
https://mastodon.social/@andros@activity.andros.dev/115793698138095995
Based on the latest tests I've published [1], Django LiveView [2] appears to be the fastest dynamic frontend (I'm sure more variables can be measured). OK...
How can I test its limits? By drawing a Snake? A Pac-Man?... No... let's crank up the difficulty to Nightmare! Let's run DOOM inside Django 😈
Django starts ViZDoom and sends one <div> per pixel with its color. The game runs at 100x100 pixels at 60 FPS = 600.000 divs/second! 😵💫
Furthermore, since the data is sent via broadcast, all players can see the same thing in real time.
Crazy
[1] https://github.com/tanrax/django-interactive-frameworks-benchmark
[2] https://django-liveview.andros.dev/
Django Interactive Frameworks Benchmark: Django LiveView (WebSocket), traditional SSR, HTMX (AJAX), and Django Unicorn (reactive components)
https://github.com/tanrax/django-interactive-frameworks-benchmark
Our end-of-year fundraiser supports the programs that make #Python more inclusive and welcoming—like grants that empower communities worldwide. The program may be paused, but your support brings us one step closer to reopening. Chip in today and help us support #PythonForEveryone: https://donate.python.org/
🕵️♂️ "Cacher n'est pas effacer !"
Vous pensez qu'un simple rectangle noir protège vos secrets dans un PDF ? ❌ Grosse erreur !
Je vous montre comment un petit script Python de quelques lignes peut lire à travers vos masquages OnlyOffice ou LibreOffice comme s'ils n'existaient pas. La sécurité, ce n'est pas du coloriage ! 🎨💻
Apprenez à vraiment protéger vos données sensibles sur le Wiki : 👉 https://wiki.blablalinux.be/fr/securite-pdf-reveler-texte-masque-python
#BlablaLinux #Sécurité #PDF #Python #Debian #OpenSource #SysAdmin
Looking back at EuroPython 2025 in Prague, a few months later, what really stays with me are the moments in between ✨
Speaking on stage mattered, but so did asking questions, time at the DSF booth, hallway conversations, and celebrating 20 years of Django together 🥳
Conferences like this remind me why community work is about being present, listening, and sharing space 💬
Timeline of my experience 👇
https://www.paulox.net/2025/08/08/my-europython-2025/
#EuroPython #Python #Django #Community #YearInReview
CC @europython
Would you like to read a year (and a bit) of the "And now for something completely different" bits from the Python 3.14 release notes collected into a single page? Great, here you go!
https://hugovk.dev/blog/2025/and-now/
#Python #Python314 #pi #pie #π #AndNowForSomethingCompletelyDifferent
Just shipped django-phone-verify v3.3.0 🎉
✅ Django 6.0 support (needs Python 3.12+)
🧑💻 Admin got nicer: is_valid + is_expired so you can spot expired codes instantly
🧹 New cleanup command: cleanup_phone_verifications with --days + --dry-run + RECORD_RETENTION_DAYS (default 30)
⚠️ SECURITY_CODE_EXPIRATION_TIME is deprecated → switch to SECURITY_CODE_EXPIRATION_SECONDS (old still works for now)
X-ray: a Python library for finding bad redactions in PDF documents
Link: https://github.com/freelawproject/x-ray
Discussion: https://news.ycombinator.com/item?id=46369923
This took way more time than planned to get working: ESP32 Dev Kit microcontroller programmed from the command-line, using esptool and platformio running in a Python venv.
Inspired by https://github.com/rgl/platformio-esp32-arduino-hello-world
I’m happy to announce that the Steering Council has approved my proposal to hold the next Language Summit at @europython 2026 and then alternate with @pycon US!
The EuroPython Society plan to announce the location and date in the new year, stay tuned.
https://discuss.python.org/t/language-summit-at-europython-2026/105355
PEP 770 was accepted in April of this year, what has happened since then?
* Published a white paper on PEP 770 and phantom dependencies
* Auditwheel, manylinux, and cibuildwheel adoption
* Over 300 projects already ship with PEP 770 SBOM data
* Fedora and Red Hat adopted PEP 770 for Python packages
Read more: https://sethmlarson.dev/pep-770-sbom-data-from-pypi-fedora-and-redhat
Or maybe you're a PSF Contributing Member? Thank you- we are so incredibly grateful for all you do and to be in community with you! Repost to share the #Python and PSF love 🫶
Already a PSF Supporting Member? Thank you- we are so incredibly grateful for your support and to be in community with you! Repost to share the #Python and PSF love 🫶
A challenge for #Python fans.
uvx textual-demo
Solve the 5x5 puzzle. If you do it in under 1 minute, you will be a god amongst mere mortals.
@brianokken Yes to the warnings.deprecated decorator.
But it's only 3.13+ so many libraries will have to wait until ~October 2028 until they can use it (or only Q4 2026 for those following SPEC 0).
https://docs.python.org/3/library/warnings.html#warnings.deprecated
Re: https://www.youtube.com/live/FdgE0GDC7xU
#Python #deprecations
2 actus de #méthodologie au-delà du cadre de #Python sur les #tests automatisés
Un article d'Emily Bache formalisant ses attentes sur les tests (https://coding-is-like-cooking.info/2025/12/test-desiderata-2-0/) :
- robustesse de la prod
- rétroaction rapide sur l'évolution du code
- faciliter l'appropriation du code
- accompagne l'évolution de la conception du code
Une analyse de 1,7 million cas de test qui montre la qualité supérieure de tests écrits manuellement sur ceux générés par des outils, #IA compris : https://arxiv.org/abs/2509.26204
Grants help remove barriers, grow communities, and make #Python more accessible worldwide 🐍🌍
The program is currently paused, but every donation brings us closer to reopening! Donate today and help support #PythonForEveryone
Censor, a new document redaction tool, is there!
It allows to draw black rectangles on PDF documents and to permanently remove the text and images below. Find it on @Codeberg: https://codeberg.org/censor/Censor, get it from @flathub: https://flathub.org/apps/page.codeberg.censor.Censor, or translate it on Codeberg Translate: https://translate.codeberg.org/engage/censor!
It is a free and open-source graphical user interface (GUI) for #Linux and the #GNOME desktop, and uses the #MuPDF library with its #python bindings from the #PyMuPDF module.
NEW BLOG POST!
You may be tired of hearing about AI (I know I am). I however spent some time these last few weeks running and testing small and local LLMs, and in this article, I want to share how I now use them, and how you can too, no matter how beefy your computer is.
You'll hear about Ollama, a Python CLI called "llm", and the "sllm.nvim" Neovim plugin.
There's two parts to the article: a first one, technical, and a second one, focusing more on the AI bubble, the environmental costs, and the true benefits (if any) of online AI tools.
Check it out and if you have any comment, please let me know :)
https://zoug.fr/local-llms-potato-computers/
#neovim #ollama #llm #llms #ai #artificialintelligence #python #local
fonctionnalités prévues dans #Python 3.15 https://docs.python.org/3.15/whatsnew/3.15.html 📣
- module profiling dédié au #profilage d'exécution de code
- profiling.tracing : profileur systématique cProfile
- profiling.sampling : #Tachyon, le nouveau profileur statistique
- open('file.txt') utiliseras l'encodage utf8 quel que soit l'OS
- compilateur just-in-time amélioré
- messages améliorés des erreurs liées à des attributs inexistants
- modules améliorés : integer, argparse, calendar, abc, futures, dataclasses, etc.
la prochaine conférence européenne #Django aura lieu à Athènes en Grèce, du mercredi 15 au dimanche 19 avril 2026. L'appel à interventions est ouvert jusqu'au 8 février 2026 : https://2026.djangocon.eu/cfp/ 📣
#écosystème #Python
Si vous souhaitez suivre davantage d'actus concernant Django sur #Mastodon :
- la page https://fedidevs.com/django/ propose des profils de personnes travaillant ou communiquant activement sur ce framework
- le compte @djangonews publie une newsletter hebdomadaire d'actualités
PyBeach, a PSF Fiscal Sponsoree, is a one-day, community-driven event in Los Angeles that brings together #Python professionals, enthusiasts, and students for talks, sprints, and networking. Your donation helps support #PythonForEveryone by aiding future events!
https://psfmember.org/civicrm/contribute/transact?reset=1&id=28
Just released! 🚀
🤖 Humanize 4.15.0
This does stuff like turning a number into a fuzzy human-readable duration ("3 minutes ago")
https://github.com/python-humanize/humanize/releases/tag/4.15.0
* Add locale support for decimal separator in `intword`
* Add support for Python 3.15
* `naturaldelta`: round the value to nearest unit that makes sense
* Fix plural form for `intword` and improve performance
* Replace `Exception` with more specific `FileNotFoundError`
* Replace pre-commit with prek
Just released: UltraJSON 5.11.0! 🚀
⌨️ Inline type stubs
🐍 Support for Python 3.14 & PyPy3.11
🛞 Windows ARM64 wheels (thanks @tonybaloney!)
💧Drop EOL Python 3.8 & PyPy3.8-PyPy3.10
➕ And more!
https://github.com/ultrajson/ultrajson/releases/tag/5.11.0
#Python #release #ujson #UltraJSON
Just released: Cherry Picker 2.6.0! 🚀
🌸 Fix bug when local branch does not exist (thanks, @webknjaz!)
🌸 Use PEP 639 licence expression and remove deprecated Trove classifier
https://github.com/python/cherry-picker/releases/tag/cherry-picker-v2.6.0
Just released: OSMViz 4.5.0! 🚀
An OpenStreetMap visualization toolkit for Python
🥧 Support for Python 3.14
🪪 Replace deprecated classifier with licence expression (PEP 639)
🔍 Remove GitHub attestation, PyPI attestation is enough
Let's say you want to do good type-checking for the #Python project you're working on. You pick a tool, maybe you use it as an #LSP also (so your editor can show you errors, too). As an example, I'm using #Ty at the moment. There's three places this might be installed: globally (e.g., `brew install ty`), as a dev-only dependency inside your project (e.g., `uv add --dev ty`), or -- and this one might surprise you -- it might only be used and installed by `pre-commit`, which builds a separate environment for each needed tool (which is great for instance where I use `codespell` as a `pre-commit` check, which seems to need some higher version of Python than my actual project).
Where should you install it?
If you're the only one on your team running it, globally is fine. If more than just you, then absolutely as a dev-only dependency inside your project ... and **maybe** globally as well.
The only real problem is updates. If you use a reasonable global install scheme, updates will be easy. They're less easy inside your project or in `pre-commit`. And you might care one way or the other! I **don't** want updates! I **do** want updates!
As for Python type-checking, `ty` seems good so far, but not enough experience with it yet. `basedpyright`, `pyrefly`, and `ruff` all good. These four are my favorites.
#BasedPyright #Pyrefly #Ruff #PreCommit #CodeSpell #Homebrew
I just wrote a very very tiny function to internationalise display texts in a program. Incuding a variable number of parameters.
#!/usr/bin/python3
def disp(*args):
# 1e is the replacer text.
disptext = args[0]
for a in range (1, len(args)):
disptext = disptext.replace("^", str(args[a]),1)
return disptext
print (disp ("Hi ^ there, all ^","you", 5))
print (disp ("Hola a ^, los ^ alli","vosotros", 5))
Also, in #Python, I was doing the exact thing by hand that `itertools.pairwise` does for you. (Learned about `pairwise` here)
Learned about #Python `__bases__`! It’s the opposite of `__subclasses__` (which I know and use) and a thing I should have been using in a couple of the places where I said `__mro__`.
I've added a few settings to Toad 🐸 to customize the UI.
You can tweak these settings to create an ultra minimal interface, if that is your thing!
I'm going to squeeze this release in before I take an end of year break. 🎄
"TL;DM (too long; didn't monitor) is a fast, extensible progress bar for Python, forked from tqdm. This fork was created to provide continued maintenance and development as the original tqdm project has become unmaintained."
📅 **Jeff’s Friday Office Hours** are back this week.
🗓 **Friday, December 19, 2025**
⏰ **2:30 PM Central (US & Canada)**
🔗 Time zone friendly link: [https://time.is/0230PM_19_December_2025_in_CT?Jeff%27s_Office_Hours](https://time.is/0230PM_19_December_2025_in_CT?Jeff%27s_Office_Hours)
Open Zoom office hours to hang out, work on projects, chat open source, or just enjoy some company to wrap up the week. Holiday vibes encouraged 🎄☕
Everyone welcome. No pitches, no bots, just humans.
un échange sur les #outils de documentation de projet #Python : #mkdocs et le plugin #mkdocstring semblent n'être plus maintenus, #sphinx et son écosystème sont toujours là : https://mastodon.social/@hynek/115741361280546913
Utilisez-vous un framework pour documenter votre projet ? Si oui, lequel ?
L'occasion de (re)voir la présentation "Documentation : trouver son style " de Florian, qui aborde surtout la démarche documentaire plutôt que les solutions techniques : https://www.youtube.com/watch?v=0CB4iVcHcsU
🚨 Job alert!🚨 L’association PETZI cherche une personne qui aime faire du développement web (back) pour bosser sur la billetterie. On est une (toute) petite équipe, on bosse toustes à temps partiel, on fait du Python et du Django, un peu de Nix, et on a plein plein d’idées pour avoir la meilleure billetterie pour nos membres et pour les gens qui achètent des billets ou qui utilisent notre agenda d’événements. ❤️
Partages bienvenus!
Toutes les infos: https://www.petzi.ch/media/Job/default/Backend_Web_Developer_Job_Offer.pdf
I ported JustHTML from Python to JavaScript with Codex CLI and GPT-5.2 in hours
Alrighty. The Toad is out of the bag. 👜🐸
Install toad to work with a variety of #AI coding agents with one beautiful terminal interface.
Check out the blog post for more information...
https://willmcgugan.github.io/toad-released/
I've been told I'm very authentic on camera. You just can't fake that kind of awkwardness.
I submitted my PyCon US 2026 talk proposal this morning. Not quite as early as I had hoped, but one day ahead of the deadline is better than the last day. :)
If you're considering a proposal, please make the time today or tomorrow to submit it! Talking at PyCon is always a great experience; you really can't find a more supportive and welcoming audience.
Ever wanted to play #Python Community Bingo? Now’s your chance!
Thanks to Rodrigo Silva Ferreira for creating this game supporting the PSF and #PythonForEveryone 🙏
Play along, celebrate the community—and if you can, donate to the PSF to help keep Python accessible to all 💙
https://python-bingo.netlify.app/
Exciting news: The PSF's Diversity & Inclusion Workgroup is ready to accept new members! If you're passionate about making an impact and shaping a more inclusive #Python community, fill out this short form -> https://forms.gle/Fr7zmwLuZTGf43ha7 Applications close 31 Dec 2025, 23:00 GMT.
ty, l'#outil édité par Astral, qui vérifie la cohérence des annotations de typage dans une base de code #Python passe en version beta : https://astral.sh/blog/ty
Et pour les personnes qui utilisent #codium ou #vsCode, il existe une extension : https://marketplace.visualstudio.com/items?itemName=astral-sh.ty
📐 I just used @tonybaloney 's sweet-as richbench project for the first time, to validate a small optimization. Will definitely be using it again in the future!
🕰️ time-machine 3.2.0 is out!
This is my package for mocking the current time in Python tests.
The new "naive mode" controls how time-machine interprets naive datetimes. Change it to increase compatibility with freezegun when migrating test suites, or to ban naive datetimes entirely so that your tests run consistently in different timezones.
https://time-machine.readthedocs.io/en/latest/changelog.html
Thanks for the link @benjaoming ,I didn’t know that Python.org page and it’s very useful. Django has a similar section for AI-assisted security reports:
https://docs.djangoproject.com/en/dev/internals/security/#ai-assisted-reports
What I find interesting is how GNOME, Python, and Django converge on the same idea: AI can be a tool, but responsibility, disclosure, and reviewability stay with the contributor, otherwise the cost shifts to maintainers.
Maybe the next step is finding a shared place to collect and compare these approaches.
S'il y a des gens sur #Lyon qui ont envie de parler un peu de #Python (et autre), demain soir il y a un Meetup AFPy avec des Lightning Talk 🐍
https://www.meetup.com/fr-FR/python-afpy-lyon/events/312350756/
ty, https://astral.sh/blog/ty.
> ty is an extremely fast Python type checker and language server, written in Rust, and designed as an alternative to tools like mypy, Pyright, and Pylance.
Produced by the great people at Astral, worth taking a look!
I've spent the day writing a blog post and tweaking Toad. 🐸
It is not vaporware! I have pics and it did happen.
I'm planning on making the repo public on Thursday. Little nervous TBH. I've been working on this for 6 months. But I have had good feedback, and I've collaborated with some big names in AI to bring you this software.
Mark the date. Thursday 18th December, 2025.
Just released! 🚀
🐍 Python 3.15 alpha 3!
https://discuss.python.org/t/python-3-15-0-alpha-3/105325?u=hugovk
🔬 PEP 799: A new high-frequency statistical sampling profiler and dedicated profiling package
💬 PEP 686: Python now uses UTF-8 as the default encoding
🌊 PEP 782: A new PyBytesWriter C API to create a Python bytes object
🎨 Colour code snippets in argparse help: https://bsky.app/profile/savannah.dev/post/3m7svdqdeqs2x
⚠️ Better error messages
#Python #Python315 #CPython #release #PEP799 #PEP686 #PEP782 #argparse
un #service web de présentation et de navigation dans les 10 000 paquets #Python de @pypi les plus ⭐⭐⭐, regroupés par domaine fonctionnel, lui-même déduit automatiquement à partir du texte du README du projet passé à la moulinette de word-embeddings : https://pyatlas.io/
At PuPPy, Python is for everyone 🐍 This PSF Fiscal Sponsoree brings together the Puget Sound #Python community across all experience levels, fostering diversity and shared learning. Support PuPPy and help us keep Python accessible to all with #PythonForEveryone!
https://psfmember.org/civicrm/contribute/transact?reset=1&id=15
I did quite well in the Python community bingo!
https://python-bingo.netlify.app
It runs on PyScript :)
https://github.com/rodrigosf672/python-community-bingo-2025
And remember to donate to @ThePSF: https://donate.python.org
DjangoCon Europe 2025 in Dublin 🇮🇪
Looking back at DjangoCon Europe 2025, a few months later, this was a really good way to start the in-person conference season ✨
I was there as a speaker and a DSF board member: a talk on mentoring in Djangonaut Space, a short PyCon Italia mention during the lightning talks, and many good hallway conversations 🎉
Full recap here 👇
https://www.paulox.net/2025/05/13/my-djangocon-europe-2025/
It's the last week to submit a #Python #security talk to #PyConUS, submit by Friday December 19th!
https://pycon.blogspot.com/2025/11/trailblazing-python-security-pycon-us-2026.html
@bmispelon That's so last year. This year's DSF board election ended on 26th November, hoping for the results soon!!!
https://digitalsignagefederation.org/page/elections
#DSF #Django #Python
Congratulations to the new DSF board members! https://digitalsignagefederation.org/news/698094/Digital-Signage-Federation-Announces-Newly-Elected-Board-Members-for-2025.htm 🫠
@joelle Something like:
uv pip install --resolution=lowest -e .
Or --resolution=lowest-direct to only use the lowest for your direct deps, letting transitive deps float.
https://docs.astral.sh/uv/concepts/resolution/
I don't think you can tell it to use the lowest Python mentioned in the toml, but you can hardcode it:
uv pip install --python 3.10 --resolution=lowest -e .
I also wrote a second post that puts together my whole DjangoCon US 2025 experience.
It is a timeline of the live posts I shared here during the conference, with photos and short notes from talks, hallway conversations, and community moments.
DjangoCon US is also, and maybe mostly, about people.
Meeting in person folks you usually talk to online, having long conversations between talks, sharing meals, and spending time together without any agenda.
This human side is what keeps Open Source healthy and sustainable over time. It is one of the reasons why these moments matter so much to me.
Photos by Bart Pawlik.
DjangoCon US 2025 · Chicago
Looking back at DjangoCon US, these photos bring back many great moments.
I was there as a speaker and as a member of the Django Software Foundation board. I gave my talk and spent some time on stage sharing updates about the work of the DSF, from governance to long-term sustainability.
In the end, conferences like this are about people, trust, and things built together over time.
Photos by Bart Pawlik
Show your support for PhillyPUG, a PSF Fiscal Sponsoree! 🐍 With 3,200 members and growing, PhillyPUG hosts events for all levels of #Python enthusiasts, from project nights to workshops. Your donations help grow and sustain this community! https://psfmember.org/civicrm/contribute/transact?reset=1&id=11
Johnnycanencrypt 0.17.0 released https://kushaldas.in/posts/johnnycanencrypt-0-17-0-released.html #openpgp #Python #encryption #privacy #security #rust
Just released: blurb 1.3.0 🚀
blurb is the CLI we use for managing CPython's news/changelog entries.
🗞️ Add support for Python 3.13
🗞️ Drop support for Python 3.8
🗞️ Generate digital attestations for PyPI (PEP 740)
🗞️ Allow running blurb test from blurb-* directories by
🗞️ Add version subcommand
🗞️ Generate __version__ at build to avoid slow importlib.metadata
https://pypi.org/project/blurb/1.3.0/
#Python #CPython #blurb #release #CLI #changelog #news #PEP740 #Python313 #Python38
Just released: flake8-implicit-str-concat 🚀
🎱 Add support for #Python 3.12-3.13, drop 3.7-3.8
🎱 Switch from Flit to Hatchling + hatch-vcs for dynamic versioning
🎱 Release to PyPI with Trusted Publishing
https://pypi.org/project/flake8-implicit-str-concat/0.5.0/
This #Flake8 plugin helps tidy up after Black:
$ cat 1.py
s = ('111'
'222')
$ black 1.py
reformatted 1.py
All done! ✨ 🍰 ✨
1 file reformatted.
$ cat 1.py
s = "111" "222"
$ flake8 1.py
1.py:1:10: ISC001 implicitly concatenated string literals on one line
Just released! stravavis 0.5.0 🚀
Create artistic visualisations with your exercise data.
https://pypi.org/project/stravavis/0.5.0/
🚴 Drop support for EOL Python 3.8
🏃 Skip segments in GPX tracks with empty trkseg
🛶 Fix pandas warnings
Just released! Python Docs Sphinx Theme 2024.10 🚀
https://pypi.org/project/python-docs-theme/2024.10/
📚 Add support for Python 3.13
📚 Drop support for Python 3.8
📚 Add script for handling translations
📚 Generate digital attestations for PyPI (PEP 740)
This is the theme used by docs sites such https://docs.python.org and https://typing.readthedocs.io
#Python #docs #Sphinx #PythonDocsTheme #PythonDocsSphinxTheme #PEP740
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!
Just released: Python 3.14.0a3 🚀
https://discuss.python.org/t/python-3-14-0-alpha-3/74542
https://docs.python.org/3.14/whatsnew/
This release brought to you by tea and homemade mince pies.
Oh, and taking inspiration from #pytest, I added colour to #unittest output in this one 🎨
Just released: Python 3.14.0a4 🚀
https://discuss.python.org/t/python-3-14-0-alpha-4/77112
https://docs.python.org/3.14/whatsnew/3.14.html
Here's one amazing reason to try it out! 🗓️🎨
Just released: Python 3.14.0a5 🚀
https://discuss.python.org/t/python-3-14-0-alpha-5/80364
https://docs.python.org/3.14/whatsnew/3.14.html
Also recently released!
blurb 2.0.0
cherry-picker 3.5.0
pypistats 1.8.0
PrettyTable 3.13.0 & 3.14.0
tox-dev/action-pre-commit-uv 1.0.2
em-keyboard 5.0.0
Especially for π day and #FediDonutFriday!
Just released: Python 3.14.0a6 🚀
https://discuss.python.org/t/python-3-14-0-alpha-6/84513
https://docs.python.org/3.14/whatsnew/3.14.html
This release brought to you by a Karelian pie (Karjalanpiirakka), a strawberry and gooseberry pie (mansikka-karviais piirakka) and a slice of blueberry pie (mustikkapiirakka).
#Python #CPython #Python314 #release #food #PiDay #PiiPäivä #pie #FediDonutFriday
Just released: pypistats 1.9.0 🚀
pypistats is CLI to show download stats from PyPI
https://pypi.org/project/pypistats/1.9.0/
* Replace deprecated classifier with licence expression (PEP 639)
* Remove GitHub attestation, uses PyPI attestations instead (PEP 740)
* Add input validation for total and fix --monthly with no mirror
* Update docs for recent command
Just released: humanize 4.12.2 🚀
Bugfix release, mainly fixing the spelling of licence/license so the file is properly included in the package.
Reminder how to do PEP 639 metadata: https://hugovk.dev/blog/2025/improving-licence-metadata/
Just released: PrettyTable 3.16 🚀
Just released: norwegianblue 0.21.0 🚀
Add support for OSC 8 hyperlinks in the terminal.
https://github.com/prettytable/prettytable/releases/tag/3.16.0
norwegianblue now uses this to create hyperlinks in the terminal instead of printing a wide column of links. Use command+click with iTerm.
Also create hyperlinks for Markdown, reStructuredText and HTML output.
https://github.com/hugovk/norwegianblue/releases/tag/0.21.0
Attached are before and after images.
Just released: termcolor 3.0.0 🚀
ANSI colour formatting for the terminal.
🎨 Add support for Python 3.14
🎨 Only apply FORCE_COLOR, NO_COLOR & ANSI_COLORS_DISABLED env vars when present & not an empty string
🎨 Replace literal types with strings
🎨 Replace deprecated classifier with licence expression (PEP 639)
🎨 Speedup: move typing imports into type-checking block
🎨 Remove deprecated __ALL__, use __all__ instead
Just released: Python 3.14.0a7 🚀
Just released: Python 3.13.3 🚀🚀
Just released: Python 3.12.10 🚀🚀🚀
Just released: Python 3.11.12 🚀🚀🚀🚀
Just released: Python 3.10.17 🚀🚀🚀🚀🚀
Just released: Python 3.9.22 🚀🚀🚀🚀🚀🚀
Last 3.14 alpha! Less than a month to get new features in before beta!
Last 3.12 bugfix release! Now in security fix only!
And security releases of 3.9-3.11.
Please upgrade 3.9-3.13!
Please test 3.14!
Just released: Pillow 11.2.1 🚀
There was meant to be a 11.2.0 on 1st April, but we put too much good stuff in the wheels and hit the @pypi.org project limit before it could all be uploaded. That was yanked and now deleted and 11.2.1 is back to normal size.
We'll try and put the good stuff back for 11.3.0 on 1st July but take up less space.
Just released: Python Docs Theme 2025.4 🚀
📚 Require Sphinx 7.3
📚 Add support for Python 3.14
📚 Drop support for Python 3.10-3.11
📚 Copy button for code samples
📚 PEP 639 licence metadata
📚 and more!
https://github.com/python/python-docs-theme/releases
Thanks to Tomas Roun for the copy button! Demo:
🙈 https://www.youtube.com/watch?v=2cxSP90gj8c [Vappu is May Day]
Just released! 🚀🚀🚀🚀
termcolor 3.1.0
Add true colour, cache system lookups
https://github.com/termcolor/termcolor/releases/tag/3.1.0
em-keyboard 5.1.0
Add Emoji 16.0: 🇨🇶
https://github.com/hugovk/em-keyboard/releases/tag/v5.1.0
Humanize 4.12.3
Fix regression in naturalsize, improve French translation
https://github.com/python-humanize/humanize/releases/tag/4.12.3
Python Docs Theme 2025.4.1
Fix copy button with multiple tracebacks
https://github.com/python/python-docs-theme/releases/tag/2025.4.1
#Python #release #termcolor #humanize #Sphinx #theme #EmKeyboard #PythonDocsTheme
Just released: Python 3.14.0 beta 1! 🚀🐍
🥧 Deferred type annotation evaluation!
🥧 T-strings!
🥧 Zstandard!
🥧 Syntax highlighting in the REPL!
🥧 Colour in unittest, argparse, json and calendar CLIs!
🥧 UUID v6-8!
🥧 And much more!
https://discuss.python.org/t/python-3-14-0-beta-1-is-here/91117?u=hugovk
Just released: Python 3.14.0 beta 2! 🚀🐍
🥧 Deferred type annotation evaluation!
🥧 T-strings!
🥧 Zstandard!
🥧 Syntax highlighting in the REPL!
🥧 Colour in unittest, argparse, json and calendar CLIs!
🥧 UUID v6-8!
🥧 And much more!
Do you maintain a Python package? Please test 3.14. If you find a bug now, we can fix it before October, which helps everyone. And you might find some places in your code to update as well, which helps you.
https://discuss.python.org/t/python-3-14-0-beta-2-is-here/93396?u=hugovk
Just released: Python 3.14.0 beta 3! 🚀🐍
🥧 All the good stuff of b2 but also:
🥧 Free-threaded Python is officially supported! (PEP 779)
🥧 Subinterpreters in the stdlib! (PEP 734)
Do you maintain a Python package? Please test 3.14.
If you find a bug now, we can fix it before October, which helps everyone. And you might find some places in your code to update as well, which helps you.
https://discuss.python.org/t/python-3-14-0-beta-3-is-here/95843?u=hugovk
#Python #CPython #Python314 #release #PEP779 #PEP734 #FreeThreaded #subinterpreters
Just released: linkotron 0.6.0!
🔗 Adds OSC 8 formatting so you can do make those clickable links in terminal emulators.
https://pypi.org/project/linkotron/
#Python #release #linkotron
Just released: Python 3.14.0 beta 4! 🚀🐍
🥧 Last beta!
🥧 Do you maintain a Python package? Please test and report bugs!
🥧 This includes creating pre-release wheels for 3.14, as it helps other projects to do their own testing.
https://discuss.python.org/t/python-3-14-0-beta-4-is-here/98092/1?u=hugovk
#Python #CPython #Python314 #release
Just released: Python 3.14.0 release candidate 1! 🚀🐍
🫖 T-strings!
🧵 Free-threading is officially supported!
🚇 Subinterpreters in the stdlib!
🗜️ Zstandard compression!
🎨 REPL syntax highlighting and tab autocomplete!
⚠️ Better error messages!
📦 Are you a package maintainer? Prepare for 3.14 and report bugs!
🛞 No ABI changes: upload 3.14 wheels to PyPI
🥧 And much, much more!
https://discuss.python.org/t/python-3-14-release-candidate-1-is-go/99754?u=hugovk
#Python #CPython #Python314 #release
Just released: Python 3.14.0 release candidate 2! 🚀🐍
🪄 This was planned for 2025-08-26, but we fixed a bug that required bumping the magic number stored in bytecode (.pyc) files
🪄 This means .pyc files created for rc1 will be recompiled for rc2
🪄 The ABI isn’t changing
🪄 Wheels built for rc1 should be fine for rc2, rc3 and 3.14.x
🤖 Did I mention Android binaries?
🏆 Bonus: We also released an early Python 3.13.7!
https://discuss.python.org/t/python-3-14-0rc2-and-3-13-7-are-go/102403
#Python #CPython #Python314 #Python313 #release
#Python friends, you got any favorite libraries to help introspect large import trees? (use cases: providing feedback during the early import-the-world phase of loading a monorepo; determining how to extract internal dependencies or resolve cycles; etc)
My fallback is to just whip something up with sys.meta_path finders, but smells like the kinda use case where there might be a nice handy lib already on PyPI.
Congratulations to the new Python Steering Council!
🗳️ Barry Warsaw @pumpichank (6th term)
🗳️ Donghee Na @dongheena (2nd)
🗳️ Pablo Galindo Salgado (6th)
🗳️ Savannah Ostrowski @savannah (1st)
🗳️ Thomas Wouters @Yhg1s (6th)
https://discuss.python.org/t/steering-council-election-results-2026-term/105296
Welcome @savannah for the first time and thank you to @gpshead and Emily Morehouse for your 4 and 3 years' service each!
Fun fact: four members have been or are release managers 🚀
Between 1988 and 1995 Jack Crenshaw posted on Usenet "Let's Build a Compiler", a tutorial series on writing a Pascal compiler that generates 68K Assembly. 35 years later Eli Bendersky revisited the series and rewrote the compiler in Python to generate WebAssembly.
https://eli.thegreenplace.net/2025/revisiting-lets-build-a-compiler
Django: what’s new in 6.0 https://lobste.rs/s/s9uxqa #python
https://adamj.eu/tech/2025/12/03/django-whats-new-6.0/
Finally finished up my comparison: two #Python implementations of #AdventOfCode Day 1 (both parts). One done the right way. The other done the right way. https://github.com/wolf/advent-of-code-2025
Days since running into the Python 3.1 problem: 0
> The version '3.1' with architecture 'x64' was not found for Ubuntu 22.04.
The list of all available versions can be found here: https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json
https://hugovk.dev/blog/2021/the-python-3-1-problem/
#Python #YAML #GitHubActions
I’m using Immich to manage large photo collections from community events (face detection, duplicate removal, smart search) and it’s great 📸
What I’m missing is automatic photo culling / best-shot selection: choosing the best photo among similar ones (group shots, event sessions, same subject). 🧞♂️
Any experience with open-source, Python-based solutions for this? or projects to recommend? 🐍
#PhotoCulling #BestShot #OpenSource #Python #Immich #Photography #AI #ML
Looks like I have a solution in #python for the second part of day 10.
The code is very much NOT-pythonesque, as I have tried to prepare it for the translation to #TurboPascal. This solution also shouldn't need much memory space at all.
It remains to be seen how long the 8088 will need to solve the few systems with a very large amount of combinations of free variables. But that will be for the weekend.
Cloudflare propose un #service de workers #Python mis à jour avec de nouvelles fonctionnalités et améliorations : https://blog.cloudflare.com/python-workers-advancements/
- temps de démarrage rapide
- installation de paquets supportés par PyOdide (notamment tous les paquets pure-python)
- gestionnaire de paquets https://github.com/cloudflare/workers-py#pywrangler basé sur uv
Alternatives : AWS Lambda, Google cloud run
Just released! 🚀
Python Docs Sphinx Theme
This is the theme for the Python documentation (and others)
* Add support for green, red and yellow side borders for code examples
* Add Portuguese translation
* Add support for Python 3.15
https://github.com/python/python-docs-theme/releases/tag/2025.12
Voted in the Python Steering Council election! 🐍🗳✅
https://mastodon.social/@hugovk/115688213247426019
#PythonSteeringCouncil #Python #SteeringCouncil #vote #election
Vous saviez, vous, qu'on peut mettre les dépendances d'un script Python directement dans le script avec une syntaxe un poil particulière mais pas si ignoble ? Moi non plus. Heureusement, Julia Evans est là ! https://packaging.python.org/en/latest/specifications/inline-script-metadata/#inline-script-metadata #python #dépendances #déclaration #astuce
The December edition of the PSF Board Office Hour is about to begin 🐍 🗒️ 9 PM UTC. Join us to share how we can help your community, express your perspectives, and provide feedback for the PSF! #python
https://pyfound.blogspot.com/2025/10/a-new-psf-board-another-year-of-psf.html
Got legacy Python hanging around? Trying to make the case to do an upgrade? Max Briggs is on the blog with the cost of sticking with those older versions. Updating can get you:
- Faster runtimes
- Lower memory use
- Reduced annual cloud spend
The article also has a how-to for manual and automated upgrades of your Python version.
📣 la prochaine session de #Python #Rennes c'est demain soir (mercredi 10 décembre) chez #IDnow (🙏 pour l'accueil) et ça va être super chouette de Noël !
Inscription gratuite sur https://www.meetup.com/python-rennes/events/311997869/
Si vous ne pouvez pas vous joindre à nous, les rediffusions sont disponibles sur la chaîne #YouTube du @breizhcamp : https://www.youtube.com/playlist?list=PLv7xGPH0RMUT1GSCGHJmqnswpk-nyz5aq
la bibliothèque #diskcache est intéressante pour plusieurs raisons (https://github.com/grantjenks/python-diskcache) :
- écrite en pur #Python
- persistance du cache sur disque avec #SQLite
- fonctionnalités avancées, comme locking (cf. https://grantjenks.com/docs/diskcache/api.html#diskcache.Lock)
Et bien d'autres choses.
🥁🐼 la version 3.0 de #pandas arrive bientôt
Découvrez les nouvelles fonctionnalités et les améliorations qui arrivent dans cette nouvelle édition de la bibliothèque de #dataframe #python : https://pandas.pydata.org/docs/dev/whatsnew/v3.0.0.html
- type string dédié (ça n'est plus un "object")
- copy-on-write : l'échantillonnage d'un dataframe crée désormais une copie et préserve l'original
- utilisation plus généralisée de la syntaxe pd.col pour faire de l'algèbre de colonnes
My latest blog post: momtag
Introducing momtag, or Mike's Opinionated Music Tagger. Keep a small collection of music reasonably and consistently organised.
To wrap up: again, thank YOU. Our heartfelt gratitude to everyone supporting this campaign- even your re-posts help! It means so much to all of us at the PSF. We're incredibly grateful to be in community with you and to stand together behind this message: Python is for everyone.
Share your #Python story! If Python has impacted your life, join our year-end fundraiser by sharing your story & linking to our donation page: https://donate.python.org/
Every story matters—whether it simply brightens someone’s day or inspires a donation. Your story strengthens our community 💖
Become a PSF Supporting Member! Your membership helps keep #Python strong, open, and for everyone- and gives you a voice in the future of Python and the PSF.
Become a member today 🪪👉 https://donate.python.org/
Make a donation! Your gifts help to:
- Keep #Python thriving
- Support CPython and PyPI progress
- Increase security across the Python ecosystem
- Bring the global Python community together
- Make our community more diverse and robust every
Donate today 💝 https://donate.python.org/
Donate to one of our incredible Fiscal Sponsorees! Your support helps keep these groups and #Python open and thriving for everyone.
Donate today 👉 https://linktr.ee/thepsf
Grab @pycharm Pro from @jetbrains at 30% off before Dec 12 🐍💸 ALL proceeds go to the PSF!
Already have PyCharm? Use discount code PYCHARM4PYTHON to renew your subscription at 30% off- ALL proceeds go to the PSF!
From @Reuven:
"30 things I’ve learned from 30 years as a Python freelancer"
https://lerner.co.il/2025/12/08/30-things-ive-learned-from-30-years-in-business/
#Python
I've uploaded a demo of the new version of Django LiveView:
https://django-liveview-demo.andros.dev/
I've also updated the Quick Start:
https://django-liveview.andros.dev/quick-start/
It's now super easy!
I even use it on my own personal website for any dynamic elements.
I hope it helps you with your future projects!
Are there any software projects that people would be willing to pay a small weekly or monthly contribution to support me while I develop it? I need a way to feed my family, and I don't like asking for handouts.
Please respond with ideas of things you'd like to see exist, that you'd maybe be willing to contribute an ongoing nonzero amount towards, and boost for reach. If you don't have idea of your own, that's fine. Boosting will still help!
#FediHired
#OpenSource
#Python
#MachineLearning
#Data
#Reporting
#BackendDeveloper
The Python Steering Council election is on!
https://hugovk.dev/blog/2025/steering-council-election/
This year we have six candidates for five seats.
This chart shows when the nominations arrived: six is fewer than previous years but they didn't all wait until the last three days.
This year we're also using a new "Multi-winner Bloc STAR" voting system: you give between 0-5 stars per candidate.
If you're in the core team, remember to vote by Friday!
urllib3 used "DeprecationWarning" for 3 years to deprecate API features and it didn't work, so what do we do instead?
#python #deprecation #deprecate #api
https://sethmlarson.dev/deprecations-via-warnings-dont-work-for-python-libraries
Django's fresh new task framework has a crontab scheduler now! 🎷 🐍 https://github.com/codingjoe/django-crontask
#django #python
My #Python code for Day 7, after a _tiny_ bit of cleanup since last night:
Part 1:
https://codeberg.org/jochie/adventofcode/src/branch/main/2025/07/program.py#L55
https://codeberg.org/jochie/adventofcode/src/branch/main/2025/07/program.py#L78
Adding the non-recursive implementation in there as well (thanks to @mina and @tshirtman for the nudges, even if perhaps they weren't intended as such):
https://codeberg.org/jochie/adventofcode/src/branch/main/2025/07/program.py#L117
It runs in about half the time and doesn't require the caching structure of course. Performance stats over 10k runs:
[Duration min: 760.29µs -30.29µs/+126.71µs] Part 2, filename 'input'
vs
[Duration min: 1.93ms -106.95µs/+849.05µs] Part 2, filename 'input'
Some highlights from #PyLadiesCon!
Keynote - Imogen Wright - How Complex Systems Taught Me To Fail
https://www.youtube.com/live/MObVZKZr5vY
Sofia Toro - How to teach your language to Python (with CPython!)
https://www.youtube.com/watch?v=JhFKjiEWHWA
Meagen Voss - Building more accessible Python-powered websites
https://www.youtube.com/watch?v=KrtUTEZzD6U
Panel - From Contributor to Founder: Turning Python Projects into Products
Carol Willing, Inessa Pawson, Deborah Hanus, Leah Wasser
https://www.youtube.com/live/NB2Q9dbLwVc
"Why I forked instead of taking the easy way out"
5 years abandoned, 1 afternoon to revive it
https://en.andros.dev/blog/7134f59f/why-i-forked-instead-of-taking-the-easy-way-out/
I’ve finally retired the old cron + sh setup for the weather bots. It served us well, but it had a major flaw: if I rebooted the server while it was posting, the job just died halfway. If the server was down during a scheduled slot, the forecast was lost forever.
So, I wrote a custom Python daemon to run inside the FreeBSD Jails.
this is so cool! I ported to #webxdc TIC-80 #fantasy #computer for making, playing and sharing tiny #games
you can import/export files with add/get commands!
with this you can create #retro games in #lua, #fennel, #python, #ruby, #javascript etc and play/share them with friends as in-chat apps in #DeltaChat / #ArcaneChat
I would like to expose the webxdc API to TIC-80 games so they can do networking/multiplayer and send in-chat messages
OMG! Hold your horses! There has been a mistake
The version of #python after 3.14.1 should obviously been 3.14.1-5
What scandalous errors devs make these days! Go stand in a corner… yes you!
https://www.linuxcompatible.org/story/python-3142-and-31311-released/
From PyCons to local meetups, #Python events bring people together to learn and connect- a true reflection that Python is for everyone 🌍🐍
The PSF Grants Program is paused currently, but your support moves us one step closer to reopening.
💝 Donate today: https://donate.python.org/
whats up, have you ever thought that programming languages are too anglocentric and wanted to write code top to bottom, right to left?
introducing vertical-python: https://pypi.org/project/vertical-python/
complete with a custom codec so your vertical python files are importable just like any other python file!
so long crummy old hello_world(), say hello to
hello_world()
Just released! 🚀🐍
Python 3.14.2 (and 3.13.11)
Waiting for the .2 to upgrade? This one's especially for you!
So soon? We found some regressions, so here’s an expedited pair of releases. They also come with bonus security fixes.
https://discuss.python.org/t/python-3-14-2-and-3-13-11-are-now-available/105214?u=hugovk
@CGM I see good in this: new and useful powers for #Python.
I see bad in this: a thing we knew about for a long time, present elsewhere, why so long coming?
I see neutral in this: things that can be provided by libraries instead of directly in the language should absolutely start in a library. If they earn a spot in the language itself, great.
I see sad in this: these words make it sound like #TCL is ahead and Python is behind overall. That doesn’t match my opinion or personal experience. Absolutely agree on this particular feature. And also I have stated many times "there is no best language", just choices more or less cost-effective for the problem at hand.
For the problems I’ve faced, with the tools I’ve had available, Python has been a more cost-effective choice than TCL the majority of the time. From your words, I took that you prefer TCL. Nothing wrong with that!
Tacopy – Tail Call Optimization for Python
https://github.com/raaidrt/tacopy
#HackerNews #Tacopy #Tail #Call #Optimization #Python #Optimization #Programming #GitHub
You've got one week left to grab PyCharm Pro from JetBrains at 30% off- but why wait?? Jump on this deal today, ALL proceeds go to the PSF 🐍 https://lp.jetbrains.com/support-python/ #PythonForEveryone #Python
#PyLadiesCon starts later today, it's a ~30-hour online conference open to everyone, and last year's was excellent.
Tickets are free, but you can also pay a custom amount, and/or make a donation. It's a great way to support the community (maybe you have some training budget to use up before end of year?)
Schedule: https://2025.conference.pyladies.com/en/schedule/
Tickets: https://pretix.eu/pyladiescon/2025/
Mastodon: @pyladiescon