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.
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
There's another researcher, Zhengyu Liu, who's been finding CPython crashes (mostly use-after-free) at breakneck speed (19 in 5 days!): https://github.com/python/cpython/issues?q=is%3Aissue%20author%3Ajackfromeast
Not sure about what technique they're using, but their site states they they favor "leveraging program analysis approaches to detect/exploit/patch vulnerabilities in real-world complex applications and systems".
Their reports are comprehensive, with great presentation and details.
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/
There's a researcher, Jiang Yuancheng, who's doing a great work finding CPython crashes and memory leaks: https://github.com/python/cpython/issues?q=is%3Aissue%20author%3AYuanchengJiang
They've come up with a very clever idea for a new way of fuzzing, made a fine tool out of it, and are reaping great results.
Fuzzing can be a diminishing returns endeavor: you only have so many bugs to find. Their approach has shown itself to cover different areas and kinds of issues well, as shown by their track record.
GoPLS integration breaking in ViM after upgrade to Fedora because of subtle differences in #Python 3.14 was definitely not on my bingo for today.
YouCompleteMe uses the following Python code:
urllib.parse.urljoin('file:', urllib.request.pathname2url('/path/to/project'))
This produces file:///path/to/project on Python 3.10 but file:/path/to/project on 3.14. Now I'm really curious why.
In fact, it's purely within urljoin. Despite having changes in 3.14, pathname2url does not seem to be involved. This has different outputs on #Python 3.10 and 3.14:
import urllib.parse; print(urllib.parse.urljoin('file:', '/some/path'))
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
RE: https://fosstodon.org/@mariatta/115708874941930892
If there is a Pythonista in your community that has made meaningful impact and contributions but don't identify as a PyLady? Great news, you can nominate them for other awards and recognitions in the Python community, such as PSF Community Service Award and PSF Fellow.
Read my blog on how to say thanks to #Python people for other ideas of recognition
https://mariatta.ca/posts/how-to-thank-python-people/
Is there a PyLady that has made meaningful impact in your community?
Nominate them for the Outstanding PyLady Award as your way to say thanks.People don't magically receive award and recognitions. Someone need to submit the nomination. Why not you?
I've just submitted several nominations to people I admire. Now it's your turn.
Ideas on who you can nominate:
Community leader, speaker, educator, open source contributor, mentor, blogger, volunteer, etc
After my talk at @gnome Asia Summit, I’ve published the source code of Jollpi, a Python-based text editor I’m rewriting with a modern stack.
Built with Python 3, @GTK 4 and GtkSourceView 5, using a modern async architecture and standard Python packaging (pyproject.toml, pip).
It installs cleanly and integrates like a regular Linux desktop app.
Feel free to try it and share feedback.
Source code: https://gitlab.com/zulfian1732/jollpi-text-editor
@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 🫠
📰 New blog article
Self-host your own multi-service #music server on #Android
How to replace your music streaming apps with a setup that supports multiple streaming services, multiple devices and multiple outputs from a single Webapp.
#mopidy #platypush #termux #ntfy #Tasker #python
https://blog.platypush.tech/article/Self-host-your-music-experience-on-mobile
Throughout this year's #AdventOfCode event, I've been working on a single-line #Python program that solves *every* 2025 puzzle. The result is a >2,600 character beast I call "The Brahminy".
https://github.com/WinslowJosiah/adventofcode/blob/main/solutions/2025/brahminy.py
@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 .
#Python folks, let's say I want to configure a CI build (perhaps a Github action) that uses the *MINIMUM* version of Python and dependencies specified in a pyproject.toml file for the test. I.E. to ensure that features not present in those versions aren't used in new code added to a library.
Is there already an easy way to do this?
Headed to Japan for the next month, and would love to catch up with anyone in the #python or #writethedocs community that is around!
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
👉 don’t chase every trend. You keep your home base in #Python, and you selectively raid the other villages for their best tools.
«A Pythonista’s Guide to the 2026 Code Rush»
https://efficientcoder.net/python/career%20advice/developer%20trends/programming-in-2026/
#advice #programming101
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
boosted#Python in #OpenBSD 7.8-current has been bumped to #Python313 from 3.12.
If you run any applications via #pipx then you might find they are failing to launch and cannot be upgraded either because of the version bump. You need to reinstall them all:
$ pipx reinstall-all
Solved my woes 
Johnnycanencrypt 0.17.0 released https://kushaldas.in/posts/johnnycanencrypt-0-17-0-released.html #openpgp #Python #encryption #privacy #security #rust
Last year, Tanvi Sharma showed how #Python dashboards and #OpenData can power transparency and civic engagement in Austin.
Now we’re looking for your ideas for #PyTexasConference2026 - especially from women. (Not even 6% of submissions are from women this year!)
#CFP closes Friday at 5 p.m. CST → https://www.pytexas.org/2026/
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
Pandas «What’s new in 3.0.0» #Python #Pandas #DataScience https://pandas.pydata.org/docs/dev/whatsnew/v3.0.0.html?featured_on=pythonbytes
Today I finally release #PKGMGR 1.0.0 🎉
A multi-distro workflow & package manager built on #Python + #Nix. It unifies repo management, builds & releases and now stabilizes and future-proofs @infinito development and deployment.
More: https://s.veen.world/pkgmgr
#Linux #DevTools #Nix #FOSS #Automation #MultiDistro #ArchLinux #Debian #Ubuntu #Fedora #CentOS #DevOps #CI #OpenSource #InfinitoNexus #NixOS #Arch #ArchLinux
🚀 dirval published on #PyPI!
My first official #Python package 🎉
#dirval can now be installed easily via:
pip install dirval
It is a core library of the #InfinitoNexus ecosystem and is used by backup, validation, and infrastructure tools to reliably detect directory structure changes.
Thanks to #pkgmgr, I can now release and publish packages much faster and more consistently.
Released under the #MIT License.
#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 🚀
🕹️ 24 jours de #Python / #Pyxel
Jour 12: https://24jdpp.forge.apps.education.fr/jour.html?j=12
Pour des activités en classe, pour ceux qui veulent découvrir Pyxel et/ou se préparer pour la Nuit du Code (https://www.nuitducode.net).
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
I got nerd-sniped by some friends...
I am feeling somewhat better now, but this is the outcome: https://github.com/BjarniRunar/Pipe - easy shell-like pipes of unix utilities, in #Python!
Example:
from pipe import *
sh.uname | sh.grep('Linux') | sh.Check
(Raises an exception if not on Linux... assuming it runs at all).
🌟 Nominate an Outstanding PyLady! 🌟
Know a woman or non-binary PyLady making an impact in the Python community? Nominate them (or yourself!) for the Outstanding PyLady Award! 💜🐍
📩 Nominate here:
https://docs.google.com/forms/d/e/1FAIpQLSccnm4kYFez8SPWJD7ZfaAojHZE0qoLF_MLarGzzzc3pcY-xA/viewform?pli=1
🗓️ Deadline for PyCon US recognition: Dec 31
More info👇
https://kit.pyladies.com/en/latest/global/award.html
#PyLadies #Python #WomenInTech #NonBinaryInTech #PyLadiesGlobal
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
💚 Thanks everyone for a lovely December Django London meetup!
Big thanks to Abigail Afi Gbadago for the @MongoDB Overview talk, and to MongoDB for hosting us. Between talks, pizza, and our traditional Django Quiz 🏆, it was a great way to close the year!
We’re now looking ahead to 2026 — if you’d like to give a talk (Django, Python, engineering, community), we’d love to hear from you 👇
https://ripe-shovel-1a2.notion.site/2a4e5750ee7a8079ae0dda7f2ae83e4a?pvs=105
TextAudio is now open source!
A privacy-first text-to-speech platform that converts documents into audiobooks without Big Tech surveillance. Features voice cloning, 23 languages, and production-ready microservices architecture.
Your documents, your data, your control. Built on sovereignty principles, released under MIT license.
Feel free to continue.
🔗 https://github.com/Pariatorn/textaudio
#OpenSource #Privacy #TTS #TextToSpeech #SelfHosted #Sovereignty #VoiceCloning #Python #FastAPI #SvelteKit #FOSS
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
I have a #firewall ruleset defined for all of my VMs, but it always bothered me that they didn’t share the same syntax, formatting, ordering, etc. I figured I could reduce the complexity and solve all of these inconsistencies by modularizing my firewall rules. Ideally, I wanted something like:
```
import enable_ssh_in
```
which would inject the corresponding rule fragment into the ruleset. Some modules would also need light post-processing such as filling in port numbers, selecting protocols, and similar adjustments.
Unfortunately, #IPF can’t handle rule imports, so the next best option is to pre-bake the full ruleset and hand the final result to IPF.
My first attempt was with m4, but the result was messy and triggered my #OCD. Then I tried doing it in #Python, and the outcome is much cleaner.
Now I can write a simple text file like: https://paste.omnios.org/?97e42d30483c83fb#DNE4ir94tFsVxiFmngBafVFQoYsHYVbJCGMx6JWBT1me
Feed it through my macro processor, and it generates this: https://paste.omnios.org/?5db469ba780c5f70#8jd9kiy4GDTcjTwQyQtWsLvWQ3YFEW7UYYuyZqfnDo8U
What do you think about this?
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.
Clean Code in Python (2 ed)
https://ebokify.com/clean-code-in-python-2-ed
📕 ebokify.com/python
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
Habr » 🤖 🌐
@habr@zhub.link
[Перевод] Django 6.0: эволюция фреймворка в деталях
Команда Python for Devs подготовила перевод обзора обновлений Django 6.0. В свежем релизе фреймворк усиливает совместимость между СУБД, упрощает работу с email, улучшает ORM, добавляет удобства в шаблонах и снижает риск «выгорания» первичных ключей.
Code at: https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_12_10
More sketch-a-day: https://abav.lugaralgum.com/sketch-a-day
If you like this, support my work:
https://www.paypal.com/donate/?hosted_button_id=5B4MZ78C9J724
https://liberapay.com/Villares
https://wise.com/pay/me/alexandrev562 #Processing #Python #py5 #CreativeCoding
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
🌕 Django 6.0 重大更新:範本局部元件與背景任務框架
➤ 深入解析 Django 6.0 的範本局部元件與任務框架技術細節
✤ https://adamj.eu/tech/2025/12/03/django-whats-new-6.0/
Django 6.0 重磅登場,為這款 20 歲的 Python 網頁框架帶來了諸多新功能。其中最引人注目的包括範本語言新增的「局部元件」(partials) 功能,讓開發者能更輕鬆地封裝和重複使用範本中的小片段,並大幅簡化了程式碼的維護。此外,Django 6.0 還引入了內建的「任務框架」(Tasks framework),讓開發者能夠將非 HTTP 請求週期的程式碼(如寄送郵件、處理資料)卸載到背景工作執行,解決了長期以來 Django 在背景任務處理方面的不足,可望藉由第三方套件提供更完善的解決方案。
+ 太棒了!局部元件聽起來能省下大量重複的範本程式碼,尤其在維護大型專案時肯定很有幫助。期待它的廣泛應用。
+ 終於有內建的任務框架了!之前都得仰賴 Celery 這些複雜
#Django #Python #Web 開發 #後端開發
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 présentation d'Ava Katushka, « What you need to know about computer memory as a programmer explained by Lilliputians », est très pédagogue, joyeuse et belle. Je la recommande
Ava Katushka's presentation is very educational, joyful and beautiful. I recommend it.
https://www.youtube.com/watch?v=IUPSnSCJbPw&list=PLOItnwPQ-eHxvEOnu1MsRX_qkX7dyXAZS&index=18
📣 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
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'
I have done a *very* ridiculous thing.
https://waynewerner.com/blag/2025-11-21-19-23-introducing-fouroboros.html
Introducing #Fouroboros -- the absolutely best decentralized way to develop your software! I mean, it will be. It is just pretty good right now. Using #python and the power of the #textual library, I'm baking issue tracking into your repo itself.
Collaboration magic needs more magic, but locally? It *works*. And works pretty well!
Code at: https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_12_06
More sketch-a-day: https://abav.lugaralgum.com/sketch-a-day
If you like this, support my work:
https://www.paypal.com/donate/?hosted_button_id=5B4MZ78C9J724
https://liberapay.com/Villares
https://wise.com/pay/me/alexandrev562 #Processing #Python #py5 #CreativeCoding
0.6.1 of django-new has been released. 🚀
- Lots of UI tweaks.
- `--data` flag for data-specific applications.
- Generate `summary.html` for a user-friendly explanation of the newly created application (h/t @ehmatthes).
- BETA: `--install` to install packages (only `whitenoise` currently supported).
🛠️ https://github.com/adamghill/django-new
📦 https://pypi.org/project/django-new/
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
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!
🕹️ 24 jours de #Python / #Pyxel
Jour 5: https://24jdpp.forge.apps.education.fr/jour.html?j=5
Pour des activités en classe, pour ceux qui veulent découvrir Pyxel et/ou se préparer pour la Nuit du Code (www.nuitducode.net).
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
@SnoopJ And this is why it's important to use td.total_seconds() and not td.seconds
https://docs.python.org/3/library/datetime.html#datetime.timedelta.seconds
#Python
excuse me, what?
```
>>> td = timedelta(minutes=-5)
>>> td
datetime.timedelta(days=-1, seconds=86100)
>>> td.total_seconds()
-300.0
```
Working on #AdventOfCode. My plan was to solve each day in both #Python and #RustLang. I thought I would be further by now. Yes, my Python answer to day 1 solves both parts, but I'm trying to be exemplary: good names, docstrings, comments-where-needed, tests, project structure, all the things.
For some reason, #HelixEditor keeps complaining about the #LSP (using both #Pyrefly and #Ruff, as usual). I'm concerned I haven't set things up right somehow, but I don't yet see where I've gone wrong.
Once this is working, further days will be easy. At least ... I hope!
Jazzband, a PSF Fiscal Sponsoree, ensures the long-term maintenance of #Python projects after their original authors step away 🐍💻 By supporting cooperative coding, Jazzband keeps well-tested, well-documented projects alive. Donate today 💝
"Django 6.0 brings template partials, background tasks, Content Security Policy, and more"
"Template partials are now available, allowing projects to modularize templates using small, named fragments. Django6.0 introduces several notable features aimed at improving code modularity, security, and developer workflow."
Django 6.0 is out 🎉 and includes some exciting new features like CSP, Tasks, or Template Partials 🤩 Many thanks to all 174 people who made this possible 💚 #django #openSource #python
https://gist.github.com/felixxm/99501cdbf6ed5a69295b4cb3f8c21d80
https://discuss.python.org/t/python-3-14-1-is-now-available/105163
This is the first maintenance release of Python 3.14
Python 3.14.1 is the first maintenance release of 3.14, containing around 558 bugfixes, build improvements and documentation changes since 3.14.0.
@mdione @xssfox requirements.txt and rrequirements.txt are indeed blocked from #PyPI
https://github.com/pypi/warehouse/blob/4e7e68a8ce9c31f3b383e3d19487d40c0e261b2d/warehouse/migrations/versions/1e2ccd34f539_move_existing_blacklisted_projects_into_.py#L27-L28
#Python
Grab PyCharm Pro from JetBrains at 30% off before Dec 12 🐍💸
Help us reach our $100Kπ fundraiser goal by snagging this great deal- ALL proceeds go to the PSF! https://lp.jetbrains.com/support-python/
Shell Script imbitable de 300 lignes, avec des gros morceaux d'Image Magick bien ésotériques dedans... réécrit en 150 lignes de Python lisible ! 🥳
J'vais aller étendre la lessive pour fêter ça !
En me faire une infusion au maté ! Maximum bamboule !
Côté tech : c'était du Image Magick dans le Shell Script, c'est devenu du PIL + Wand dans le Python.
Wand étant un binding Python pour Image Magick : https://docs.wand-py.org/en/0.6.12/
Just released! 🚀🐍
Python 3.14.1
Waiting for the .1 to upgrade? This one's especially for you!
🥧 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-1-is-now-available/105163
If #Python has made an impact in your life, we welcome you to join our year-end fundraiser, grounded in a message we truly believe in: Python is for Everyone.
Every donation counts, no matter the size. Your gifts ensure Python is free, forever, for everyone 💝 https://donate.python.org/
On this Giving Tuesday, the PSF is reflecting with gratitude on the global #Python community, built from the ground up by individuals- line by line, event by event, connection by connection. We are so incredibly grateful to be in community with each of you.
I'd be happy to work for cheap on any paid projects while I look for a job -- provided they fit my skillset. I'm great with Python and machine learning, I've worked on ML research and developed novel ML algorithms, and I also have tons of experience working with automated file transfers, databases, automated Excel reporting, and probably other things you may find useful. Just ask! I take pride in doing quality work, and I'm a really clever monkey. :)
#Jobs #MachineLearning #JobOpportunities #Python #ETL #ResearchJobs #AI #Algorithms #FediHire #FediHired #GetFediHired #GetFediBHired #GigWork
After thought (thought I didn’t plan to put into it), I don’t think "NULL coalescing" and "NULL chaining" needs to be built in to the #ProgrammingLanguage, and here’s why:
* If you’re getting just one thing, the getter can take an optional default result value. #Python works like this in `getattr`, `.get`, and things of that nature. Having an operator for this is fine, but it seems obvious you don’t **need** the language to do it for you.
* If you’re walking down a long uncertain chain, I have two arguments:
* Knowing the path that leads down into the object to the specific thing you want kinda sounds like an #Encapsulation violation. Why do you know so much about the internals of this object. If this deep property is important, maybe it’s part of the interface of the top-level thing. Maybe this is just bad design.
* Diving deeply involves lots of possibilities: possible defaults, actual methods of finding the named thing (allow inheritance? Is it an attribute? Is it an element of an array? Etc), did you want to just stop or raise an exception?Does saying what you want really come out to a simple, clean, understandable, one-line, expression?
Maybe I’m biased because I don’t have these operators in my day-to-day language; and also can’t remember hitting this situation. And I can certainly see such operators could be helpful. I’m not a language designer. But from my actual experience, in this case, the juice just isn’t worth the squeeze.
Il existe des solutions pour ça et j'en ai trouvé 3 ou 4 sur des dépôts #github. Cela dit, et après en avoir commencé à tester, j'ai réalisé que je faisais fausse route et que ce cas d'usage ne nécessitait pas de déployer un #conteneur #Docker (les solutions trouvées sont toutes déployées avec ça (et ça marche très bien)).
Dans la pratique, ce #script #python de moins de 2 Ko (il va grossir un peu je précise) me rend un service comparable à celui délivré via une image Docker de plus de 20 Mo.
0.4.0 of django-new is released. 🚀
Now with interactive mode! ✨
`uvx django-new` steps through prompts to create a #Django application. It also shows the tree structure of all of the folders and files that were created.
Both features thanks to the brilliant `rich` from @willmcgugan.
🛠️ https://github.com/adamghill/django-new
📦 https://pypi.org/project/django-new/
I am so excited for another #AdventOfCode (https://adventofcode.com/2025/). I never get tired of writing code to solve new and different problems. What an amazing amount of work Eric Wastl puts into this. What an amazing thing he creates … year after year after year.
Thank you, Eric!
This year my plan is to solve in both #Python and #Rust. I want to do them all (a tall order even though Eric is cutting back). i want my work to be exemplary: something others might learn from. I want to make sure I don’t short-change my other responsibilities by spending too much time on this. And I have one final issue: by the time evening roles around, I suck. I need to figure out what the best time of day is to squeeze this in!
Did you know the PSF Grants Program has awarded over $3M USD to the #Python community since 2015? Though the program is currently paused, its impact lives on- and your donations pave the way for its return.
Read stories from our grantees and donate today 👉 donate.python.org
@travisshears To be fair a whole bunch of standards and tools solved that, piece by piece, over the last 5-10 years. #Python packaging became good even before uv. The benefits of uv are that it's fast, and it combines the functionality of a bunch of other tools that came before it into one program.
0.2.0 of django-new has been released. 🎉
`uvx django-new [--api] [--web] [--worker] name [folder]`
- Basic project and app creation for APIs, websites, and worker use cases.
- Optionally create minimal applications similar to DEP-15 (aka, all files in one folder).
- Slightly opinionated folder structure to get you going, but no major decisions that force you into a corner.
- Only includes a few lukewarm takes.
🛠️ https://github.com/adamghill/django-new
📦 https://pypi.org/project/django-new/
I've finally started to take a look at Black - the very famous code formatter for #Python.
I really don't like what it does. When I compare my original code with the formatted one, every single change is visually unfortunate imho. It wastes a lot of space compared to the original, and nothing gets prettier or more readable.
But I still love the idea of having one universal, widely-adopted standard formatting, in general. A lot.
... so I'll go with it now?!?!
@wakame I have been thinking about this more and more: make another #ansible frontend to accept a more #python like language. After https://en.osm.town/@mdione/115629737380378014 I started reading Ansible's code. Nothing is going to come out of it any time soon, tho :)
Ho, ça a l'air pas mal ce petit truc là #opensource #linux #python #engineering #Shaarli https://dryusdan.link/shaare/a9uQ4Q
how to audit for open services with iproute2 https://anarc.at/blog/2023-03-10-listening-processes/ #debian-planet #python-planet #sysadmin
As a kind of coding vacation, the last couple of days I spent time working on my programming language, #Mifflin, and I've gotten it to the point where it can process and understand anything in the language spec, which is quite a lot.
Too bad it can't *run* anything just yet.
Looking forward to a day when my shell scripts aren't a debate of #Bash vs #Python vs #PowerShell.
Make sure you jump on the 30% discount on PyCharm Pro from JetBrains—ALL proceeds go to the PSF and every dollar counts 💝 Already got yours? Please like and share this post!
Get PyCharm Pro 30% off: https://lp.jetbrains.com/support-python/
#python #PythonForEveryone
https://lp.jetbrains.com/support-python/
@danderson Thanks for pointing it out, I've changed "multi-disk ZIP files" to "multipart ZIP files".
https://docs.python.org/3/library/zipfile.html
#Python #docs
Support for PEP 723 (inline script metadata) has landed on pip's main branch thanks to some helpful guidance from the maintainers.
https://github.com/pypa/pip/commit/36987b0c31b97ffb9fb7949ded628e9a6b10c016
Here's hoping it'll smooth out some distribution wrinkles for people who have been getting along with just-pip and single-file scripts paired with requirements files 🤞
TIL setting `log_level` for #pytest shows those log messages when a test fails. https://docs.pytest.org/en/stable/reference/reference.html#confval-log_level #python
si vous cherchez d'autres comptes #mastodon pour faire votre veille technique sur #Python, cette page vous liste quelques personnes très impliquées dans la communauté Python (à la @ThePSF ou contribuant à des bibliothèques / outils / frameworks largement utilisé·es) : https://fedidevs.com/s/Mzk/
des mises à jour de framework d'application web "tout #Python" 🎉
- #NiceGUI (#FastAPI + #vuejs sous le capot) passe en version 3.0
- #Gradio passe en version 6.0
Les créateurs de NiceGUI étaient interviewés dans cet épisode du podcast @talkpython : https://talkpython.fm/episodes/show/525/nicegui-goes-3.0
Retrouvez présentations & démos de NiceGUI, Gradio et #streamlit dans la session #PythonRennes du 1er décembre 2023 : https://www.youtube.com/watch?v=yspHNEFjKfQ&list=PLv7xGPH0RMUT1GSCGHJmqnswpk-nyz5aq&index=10
Support the Denver Python User Group, a PSF Fiscal Sponsoree, and help keep local #Python learning accessible to all. From weekly project nights to monthly talks, they create welcoming spaces- because Python is for everyone 🐍✨
Donate today: https://psfmember.org/civicrm/contribute/transact/?reset=1&id=48
The entire software department at work was fired yesterday. I had already quit and today is my last day. While I already have a new position starting next week, the rest of the department is looking. There are QA, frontend ( #angular ), and backend ( #python #Django) engineers, technical writer and software compliance specialists, UI/UX designers, SREs, our manager. If you're #hiring #remote in #Germany or on-site, I'd love to forward contact details. #getfedihired
⚠️ #cybersecurite : la cyber-attaque "Shai Hulud" venue de l'écosystème #npm peut toucher vos projets #Python s'ils font partie d'un même #monorepo : https://blog.pypi.org/posts/2025-11-26-pypi-and-shai-hulud/
- pour tester la vulnérabilité de vos projets : https://github.com/Cobenian/shai-hulud-detect, https://codeql.github.com/
- pour utiliser des tokens "trusted publisher" à courte vie si vous publiez des paquets sur #PyPI via @github : https://docs.pypi.org/trusted-publishers/
- pour auditer vos #githubaction : https://docs.zizmor.sh/
This could be a game changer for anyone using model custom QuerySets and Managers 🎉 I've just implemented an 11 years old ticket 🧓 for initial filters on model QuerySets handled in such an elegant way 💎
objects = QuerySet.filter(active=True).as_manager()
une réflexion d'ingénierie logicielle - qui dépasse le cadre de #Python - qui articulant la notion de "bon goût" / "mauvais goût" comme capacité à choisir les valeurs techniques (lisibilité du code, exactitude, performance, complexité d'abstraction, maintenabilité, etc.) - et leur niveau - appropriées à un projet donné : https://www.seangoedecke.com/taste/
Point de vue est intéressant qui dépassionne la discussion et distingue les compétences techniques des personnes et l'architecture d'un projet.
@paulox @justin @sethmlarson @CodenameTim @anze3db And the #Python core team starter pack: https://fedidevs.com/s/Mzk/
@CodenameTim This is super great Tim, thank you for writing this! I can't wait for the "Starter Packs" concept to come to Mastodon, it was massively useful in establishing my #Python network on Bluesky.
Yes, I am doing this to make my job as release manager easier! It benefits the other RMs too plus hopefully you :)
Just got to delete a big 45-line chunk from PEP 101, the release process.
Download pages for older feature releases link to the latest available in that series, so the release manager (👋) won't have to go through all the old ones and manually update them every time (or just not bother).
For example, so 3.13.7 and 3.13.8 say they have been superseded by 3.13.9.
https://www.python.org/downloads/release/python-3137/
https://www.python.org/downloads/release/python-3138/
https://www.python.org/downloads/release/python-3139/
The page of all x.y.z Python versions is now generated, so the release manager (👋) doesn't have to update it manually every time.
https://www.python.org/doc/versions/
They're also grouped by x.y version.
The old page is temporarily still up for a little while at https://www.python.org/doc/versions-old/
The pre-release link in the top table and the banner https://www.python.org/download/pre-releases/ is now a (new) redirect so the release manager (👋) doesn't have to update it manually every time.
More https://www.python.org/downloads/ updates!
The "Looking for a specific release?" table is now sorted with the newest x.y.z at the top (3.14.0), not the newest release by date (3.13.9).
Suppression des sources sur l'intelligence artificielle dans l'agrégateur sur la programmation. Elles étaient devenues la quasi seule thématique. Et même sans ça, le sujet reste, bien évidemment, présent.
L'agrégateur :
https://atlasflux.saynete.com/agregateur_informatique.htm?config=agra&theme=programmation
Le RSS :
https://flux.saynete.com/encart_rss_informatique_programmation_fr.xml
Les sources :
https://atlasflux.saynete.net/atlas_des_flux_rss_fra_informatique_programmation.htm
109 pour l'agrégateur
142 pour son annuaire (comprenant d'autres agrégateurs, des thématiques pour un même site...)
#php #python #javascript #code #programmation #rss #agrégateur
https://15r10nk.github.io/inline-snapshot/latest/ : un outil de @15r10nk afin de tester son code #Python avec #pytest en utilisant une approche "golden record". inline-snapshot permet de capturer le résultat d'une fonction / méthode / expression avant une refonte de code puis de vérifier que le résultat n'a pas changé.
Si le résultat a changé :
- c'est qu'il a été corrigé et il faut adapter le test automatisé
- c'est que la refonte a cassé quelque chose et qu'il faut enquêter
Pour aller plus loin, la généralisation s'appelle communément "sliding window". Il y a un exemple d'implémentation dans les recipes en bas de la doc du module natif de #Python itertools : https://docs.python.org/3/library/itertools.html#:~:text=def%20sliding%5Fwindow
Parcourir ces recipes permettent de découvrir l'utilisation combinée des fonctions du module ainsi que d'autres concepts (comme sliding window).
Voir aussi la bibliothèque https://more-itertools.readthedocs.io/ fournissant d'autres fonctions (triplewise, sliding_window) https://github.com/more-itertools/more-itertools/blob/8962760bc0a12973f6f673dd039c1db63ec6849c/more_itertools/recipes.py#L757-L812
The article about quantifying natural #CO2 emissions from mofettes at the #Starzach site in Germany with a low-cost sensor network is published now at @plosclimate:
https://doi.org/10.1371/journal.pclm.0000741
#Python #Arduino #PlatformIO #GaussianPuff #divergenceTeorem #globalWarming
The PSF Grants Program has supported #Python conferences around the globe, helping make events more welcoming & accessible for all- because Python is for everyone. While the program is on pause, your support moves us closer to bringing it back.
💝 Donate: https://donate.python.org/
cet article de maths++ :
- explore le module natif #Python itertools très utile pour parcourir ou générer des colelctions
- propose de réimplémenter itertools.pairwise (ainsi qu'une version modifiée, avec le dernier tuple de la forme ($LAST, None)
- de la généraliser à des n-uplets.
🚨 FRESH, LIMITED TIME DEAL: Get 30% off PyCharm Pro + a free tier of AI Assistant! ALL proceeds go to the PSF, thanks to JetBrains. Offer ends December 12th so don't wait, grab yours today!
https://lp.jetbrains.com/support-python/
#PythonForEveryone #Python
https://lp.jetbrains.com/support-python/
Bonjour cher.e camarade sentimental.e qui comme moi souhaite quitter #Spotify mais rechigne à voir supprimer 10 ans de playlists de vacances amoureusement assemblées.
Bonjour cher.e consœur geekos qui comme moi aime trifouiller les nombres avec #Python et #R.
Laissez-moi vous présenter https://exportify.app qui permet d'exporter toutes tes playlists Spotify en fichiers csv tout propres avec plein de stats dedans, genre "danceability" ou "valence" (?). Bon appétit !
Bon, je vais faire de l'architecture dans une équipe avec un gros focus Python, donc j'ai bien l'impression que je vais devoir passer à PyStructurizr https://github.com/nielsvanspauwen/pystructurizr #python #structurizr #library #opensource #architecture #documentation
We're going to start disabling the commit bit (aka write access) to the #CPython repo for inactive core team members.
https://discuss.python.org/t/regularly-disabling-unused-commit-access-to-the-cpython-repo/105010
I proposed this after a security discussion at last year's #LanguageSummit:
https://pyfound.blogspot.com/2024/06/python-language-summit-2024-python-security-model-after-xz.html
Disabling the commit bit has no impact on core team status, nor Steering Council voting status, and you can easily ask for it back again.
Just released! 🚀
🎶 pylast 7.0.0
🎤 A #Python interface to @lastfm and Libre.fm
🗑️ Remove `SCROBBLE_SOURCE_*` and `SCROBBLE_MODE_*` constants. Last used in 2017, you probably weren't using them
📻 Add `chosen_by_user` parameter to `scrobble`. Set to false if you don't have "direct" control over the source, like radio or a stream.
🐍 Add support for Python 3.15
📼 Test against recorded API instead of live
🦀 Replace pre-commit with prek
Thanks to @scy!
https://github.com/pylast/pylast/releases/tag/7.0.0
#release #LastFM
ChiPy, a PSF Fiscal Sponsoree, brings together over 1,000 #Python enthusiasts in Chicago with open monthly meetings and Special Interest Groups. Your donations keep the ChiPy community growing strong!
Donate 👉 https://psfmember.org/civicrm/contribute/transact/?reset=1&id=47
Hello Masto !
Pour mes enfants de 11 et 14 ans, je cherche des ressources pour les aider à mettre un pied dans l'univers du développement de jeux vidéos. Ils commencent à tourner en rond avec ce qu'ils ont sous la main, ils veulent passer à l'étape d'après :D
Contraintes :
- matériel standard, pas de CPU/GPU dernière génération
- Linux uniquement
- pas *trop* de lecture (les bouquins type Eyrolles, même junior, ce n'est pas pour mon fils)
- côté compétences graphiques on va dire que c'est le minimum du minimum :D
Les deux sont très à l'aise avec un ordi ou une tablette, ont l'habitude de faire du Scratch ou même des mods Minecraft pour mon fils, et sont à l'aise avec l'anglais écrit (et même oral pour mon fils).
J'ai déjà comme ressources en attente :
- https://godotengine.org/
- https://github.com/kitao/pyxel
- https://developer.mozilla.org/en-US/docs/Games/Tutorials
Je prends donc les idées, les recommandations, les tutos (y compris Youtube), etc.
Merci d'avance, et boosts appréciés !
A new version of #rtcirqus is available. The only change is that I added a -v|--version CLI option to quickly see which version of rtcirqus you're running.
https://codeberg.org/autostatic/rtcirqus/releases/tag/v0.2.2
PSF Members don’t just give back- they get a voice. Supporting, Contributing, and Fellow Members all receive voting rights, helping shape the PSF’s and our community's future. Learn more about PSF Membership: https://www.python.org/psf/membership/
The PSF has a sliding scale option available for Supporting Membership (starting at $25 USD/year) because we want to make membership accessible to more people and increase the size and diversity of our voting membership. https://psfmember.org/python-software-foundation-supporting-member-sliding-scale/
Do you believe #Python is for everyone? 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/
Hej allihopa!
"Välkommen till Python! Detta är den officiella dokumentationen för Python 3.14.0."
The Python docs are now available in Swedish! Thanks to Daniel Nylander!
To help with translations of any language, see https://devguide.python.org/documentation/translations/
Python-Based WhatsApp #Worm Spreads Eternidade Stealer Across Brazilian Devices
"It is distributed through a WhatsApp worm campaign, with the actor now deploying a #Python script, a shift from previous PowerShell-based scripts to hijack #WhatsApp and spread #malicious attachments.
https://thehackernews.com/2025/11/python-based-whatsapp-worm-spreads.html?m=1
We could really use about 5 more mentors to help people with their #PyConUS talk proposals. I know so many smart people here who could almost write a talk proposal in their sleep. Will you help a new person get started on their #Python speaking journey? If you're up for it, please fill out the form here, https://forms.gle/PMWn1q754sAwkUtj9
I've updated the https://www.python.org/downloads/ page:
Added download links to the active Python versions table. Before, you had to hunt for the one you wanted in the table below.
They're redirect links, so, for example, https://www.python.org/downloads/latest/python3.15/ goes to https://www.python.org/downloads/release/python-3150a2/ and https://www.python.org/downloads/latest/python3.13/ goes to https://www.python.org/downloads/release/python-3139/
Could be handy for your docs, if you want to point people to the latest, say, 3.12.
Boston Python is one of the world’s largest #Python user groups & a PSF Fiscal Sponsoree, hosting monthly talks, beginner workshops & more. Your donations help the community thrive- advancing our shared vision that Python is for everyone. Donate 👉 https://psfmember.org/civicrm/contribute/transact?reset=1&id=4
En mapas web se suele usar el sistema decimal (Decimal Degrees) para los valores de latitud y longitud. Si se tienen los valores en grados, minutos y segundos (Degrees Minutes Secons) será necesario convertirlos.
En python se puede hacer con dos líneas de código, usando el paquete de expresiones regulares (re). Empaquetándolo en una función quedaría:
import redef degMinSec2decDeg(degMinSec): """Convierte coordenadas grados minutos y segundos (DMS) a sistema decimal (DD).""" deg, minutes, seconds, direction = re.split('[°\'"]', degMinSec) return (float(deg) + float(minutes)/60 + float(seconds)/(60*60)) * (-1 if direction in ['W', 'S'] else 1)Twenty years of #Django releases 🚀 https://www.djangoproject.com/weblog/2025/nov/19/twenty-years-of-django-releases/ Over those twenty years,
- 447 Django releases shipped 🚢
- 131 security vulnerabilities addressed
- 262,203 releases of Django-related packages in the #Python ecosystem
@nwenny You can use turtle for algorithmic embroidery with TurtleThread:
https://youtu.be/OcuhrDIrblo
https://github.com/TurtleThread/TurtleThread
#Python #programming
🐎 Django-related deals for Black Friday 🐎
Divert from the typical shopping frenzy to check out these deals from Django-related creators to help you learn and use the web framework for perfectionists with deadlines.
https://adamj.eu/tech/2025/11/20/django-black-friday-deals-2025/
We're already over 80% of our fundraiser goal 🥰 🥰 So many of you have already donated, & the PSF is overflowing with hope & gratitude from your generosity.
Want to help us hit 100%+? Repost this & tell us why you donated- your story makes an impact!
My very first experience with Python was generating programmatic art using the Turtle module.
Don’t let anyone tell you coding is only for pros, it can be an incredibly fun and liberating experience.
#PythonIsForEveryone #Python
https://fosstodon.org/@ThePSF/115537801355825141
Suppose you run your #Python web app with gunicorn. And for metrics, you run the Python Prometheus client in multiprocess mode, since you have multiple worker processes. And you set PROMETHEUS_MULTIPROC_DIR the way the docs tell you to.
Now, what's your favorite way to implement the other thing the docs tell you to do?
> This directory must be wiped between process/Gunicorn runs (before startup is recommended).
So. Do you wipe it only when gunicorn itself boots? Do you wipe it on every worker process start? Periodically via cron-type job? Something else?
Genuine question. Asking for a friend, and the friend happens to be me.
Which is the one true way to indent code?
#askfedi #programming #softwareengineering #java #python #csharp #javascript #kotlin #ide #linux #windows #macos
| Tabs: | 88 |
| Spaces: | 73 |
Hi folks! I could really use some financial support right now. If you want to schedule a 1:1 or group session on creative coding with Python, drop me a DM.
https://abav.lugaralgum.com/links
#help #FLOSS #CreativeCoding #Python #OpenEducationalResources
Any #Python newbies out there? (Or experts that need to teach Python)
Would you have a specific online tutorial to recommend for someone who wants to learn Python without any prior programming experience? One that also explains how to install it ?
I was thinking of something like this: https://python.land/python-tutorial but I only had a quick look and would like some informed suggestions 🙏
Edit: OK, maybe not that one, seems too complicated (moving on to classes early) and not super clear.
(It is not for me, but to recommend to a student so they can learn the basics on their own then start working on ephys data analysis with me)
#JeRecrute (enfin mon employeur) développeur·se expérimenté·e à l'aise avec #python #django #postgresql, la #data généralement et l'#infrastructure est un plus.
#Freelance ou #CDD de 18 mois.
En #télétravail et/ou bureau à #Paris et #Lyon !
C'est là où je travaille, n'hésitez pas à poser des questions ! On vient de #BetaGouv, on est un GIP (groupement d'intérêt public) maintenant.
#Python workshops embody what we believe: Python is for everyone.
The PSF has supported 100's of workshops over the years- our Grants Program is paused, but your support helps pave the way for its return.
Help us reach our goal 💝 donate today: https://donate.python.org/
Just released! 🚀
After one sequential-only CI failure, two artifacts builds, one GitHub outage, two fixes for the Windows installer build, four Windows builds, and a NuGet outage:
🐍 Python 3.15 alpha 2!
🔬 PEP 799: A new high-frequency statistical sampling profiler
💬 PEP 686: Python now uses UTF-8 as the default encoding
🌊 PEP 782: A new PyBytesWriter C API to create a Python bytes object
⚠️ Better error messages
https://discuss.python.org/t/python-3-15-0a2/104948?u=hugovk
⏰ time-machine v3 is out! 🕰️
This package helps you accurately mock time-related functions in your tests. v3 cleans up some warts from previous versions, including removing the breaks-many-things mocking of time.monotonic().
Come back to the future with me!
https://time-machine.readthedocs.io/en/latest/changelog.html
I must have spent an hour or so trying to figure out why cancels did not work... until i noticed missing comma. d'oh
un article expliquant différents concepts ou approches en #Python : https://mathspp.com/blog/a-generator-duck-typing-and-a-branchless-conditional-walk-into-a-bar
- les générateurs pour des itérations "à la demande" plus légères en mémoire
- le duck-typing : l'article parle des protocoles sans mentionner cette abstraction pour faire du typage structurel (https://docs.python.org/3/library/typing.html#typing.Protocol, https://realpython.com/python-protocol/)
- des syntaxes pour des traitements conditionnels sans branches if-else
- EAFP vs LBYL (try-except vs if ... do) : notamment "with contextlib.suppress(ValueError)"
si vous créez un projet #Python (bibliothèque ou un outil) destiné à être publié sur pypi.org, vous vous demanderez peut-être quoi mettre dans les "classifieurs", qui sont des métadonnées techniques et fonctionnelles associées au projet (voir https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#classifiers).
Cette documentation liste les entrées possibles : https://pypi.org/classifiers/
BAPyA, a PSF Fiscal Sponsoree, brings together #Python enthusiasts across the SF Bay Area for learning, networking, and community events 🐍✨
Help us keep these gatherings going strong with a donation! https://psfmember.org/civicrm/contribute/transact/?reset=1&id=43
Have you already voted in the 2026 DSF Board election? If not, go check! 🏃
If you're a DSF member, look for the email with “[Action required] 2026 DSF Board voting” 📬
I’ve just voted, and I can’t wait to work with the new board members next year ✅
There are many great candidates, so take a moment to read their statements and pick your favourites 🗳️
Your vote helps shape Django’s future✨
Deadline: 26 November 2025 at 23:59 AoE ⏰
Info: https://www.djangoproject.com/weblog/2025/nov/05/2026-dsf-board-candidates/
CC @django
Another day another new feature implemented in #Django. This time, custom decimal contexts for DecimalFields allowing full control over creating decimals from floats. #OpenSource #Python
Did you remember to finally drop Python 3.9 support from your Python package? 🐍
Five years in tech is basically a whole lifetime and when Python 3.9 came out in 2020, most of us were still debating whether 5G was actually a thing 😄
Time to give your package a refresh and let 3.9 retire with dignity! ♻️
You can now install resrm and mirro from you package manager by adding COPR or PPA depending on your distribution! 📦
Exciting! 😁
Check the READMEs!
resrm: https://github.com/mdaleo404/resrm
mirro:
https://github.com/mdaleo404/mirro
#opensource #foss #pypi #python #fedora #fedoralinux #ubuntu
About 10 days ago, on November 8th, we organized the second-ever Django Girls workshop in Pescara 🐬
I finally found a moment to share a recap, a few photos and a big thank you to everyone who made this day so full of energy and smiles 🧡
It was a beautiful community moment, and I am already looking forward to the next event. 😃
https://www.paulox.net/2025/11/08/django-girls-pescara-2025/
CC @pescara @gdgpescara @django @djangogirls
#DjangoGirls #Django #Python #PythonPescara #Pescara
#DevFest #GDG #DevFestPescara #GDGPescara
Who would like Rust in CPython 3.15?
@emmatyping and Kirill Podoprigora "propose introducing the Rust programming language to CPython. Rust will initially only be allowed for writing optional extension modules, but eventually will become a required dependency of CPython and allowed to be used throughout the CPython code base."
https://discuss.python.org/t/pre-pep-rust-for-cpython/104906
Python hit 3.14 this year, so the PSF's 2025 fundraiser goal is naturally set to $314,159.26 😌
Make sure you're a part of this π/🐍/🥧 themed year by joining the community to help us hit that $100Kπ goal!
Donate or become a member today 👉 https://donate.python.org/
2 approches pour développer en #Python sur un #arduino :
- https://github.com/Jackhammer9/Reduino est un transpileur qui permet de générer le code #Cplusplus correspondant à votre code Python
- https://pypi.org/project/pyFirmata/ vous permet d'utiliser le protocole Firmata pour développer votre application (tutoriel : https://realpython.com/arduino-python/)
Moui. Alors, pourquoi pas ? 🤔
Mais j'avoue que beaucoup de choses m'échappent un peu, là. Pas tout à fait bien réveillé non plus, ce qui n'aide pas.
You wouldn't believe what happens when #PyLadiesCon replaced our spreadsheets with actual database system and conference infrastructure.
Now we're able to show live* registration counts and fundraising progress without copy pasting data. It's all automated with webhooks, APIs, and #Python.
*with 5 minutes cache delay
What do you think? Wanna support our community? Register, sponsor, donate, and tell everybody you know.
View our dashboard at https://portal.pyladies.com/stats/
🐍💻 Bandit helps keep Python applications secure, and it’s one of the PSF’s Fiscal Sponsorees!
When you donate, you’re supporting the devs & maintainers behind tools that make #Python safer and stronger for everyone.
💛 Donate today: https://psfmember.org/civicrm/contribute/transact/?reset=1&id=42
Michael Foord has been posthumously recognised as an Honorary @europython Society Fellow:
https://www.europython-society.org/recognising-michael-foord-as-an-honorary-europython-society-fellow/
#EuroPython #Python
There was a time when I wrote Scala function names in Telugu, because it allowed full Unicode support.
Felienne Hermans, a professor from Netherlands implemented a subset of #Python in various natural languages for teaching programming to 12 year-old children. It's called Hedy.
https://corecursive.com/hedy-with-felienne-hermans/
I think it's a great step in the direction of decolonializing computer programming.
Does computer programming have colonial values baked in? It's not something we give much though to. 🤔
Did you know the PSF awarded $637K in grants in 2024 to #Python community groups all over the world? 🗺️🤯
The program is currently paused, but a successful fundraiser moves us one step closer to bringing it back.
Help us reach our goal 💝 donate today: donate.python.org
dj-importmap, that I developed for the French government has been handed over to the Beta Gouv organisation last week as it gains traction among other French gov. projects.
Looking for an expressive and djangonic way to manage your JS modules? dj-importmap is for you: https://github.com/betagouv/dj-importmap
Today I accidentally rm’d a bunch of stuff I had been working on for hours but had not yet checked in to a local git repo. Even if I *had*, one of the accidentally-deleted things was the .git folder itself 😂
Disaster! were it not for the fact that I had aliased rm to @mdaleo404’s ‘resrm’. Eight ‘--restore <id>’ commands later and I was back in business 😅
Do yourself a favour and install it…
How to use UUIDv7 in Python, Django and PostgreSQL by @paulox https://lobste.rs/s/svyej1 #databases #python #web
https://www.paulox.net//2025/11/14/how-to-use-uuidv7-in-python-django-and-postgresql/
Just published a new article on how to use UUIDv7 today with Python 3.14, Django 5.2 and PostgreSQL 18 🐍
I walk through Python generation, Django models, db_default, PostgreSQL functions, GeneratedField and even UUIDv47 for safer public IDs 🤖
Hope it's useful! 🙂
👉 https://www.paulox.net/2025/11/14/how-to-use-uuidv7-in-python-django-and-postgresql/
#Python #Django #PostgreSQL #UUIDv7 #UUIDv47 #Python314 #Django52 #Postgres18
Just released! 🚀
🪑 PrettyTable 3.17.0
https://github.com/prettytable/prettytable/releases/tag/3.17.0
Add support for Python 3.15, drop 3.9, test 3.13t-3.15t
Set dicts with column-specific config for all column-specific attrs
Update type hints
Replace pre-commit with prek
& more!
We're blown away- the PSF received an anonymous $100k donation 🤯🥰 Thank you, anon, for your investment in #Python, its community, and the PSF. We are deeply grateful and committed to using every dollar to make a difference.
Want to join in? Donate today: https://donate.python.org/
RE: https://fosstodon.org/@ThePSF/115548386058694096
#Python is for everyone! 💙💛 I hope you’ll join us on our mission to keep growing our community :)
As we close out 2025, the PSF is running our annual fundraiser with an important message: Python is for everyone 💛🐍🌏💙
Your support helps keep #Python open & thriving for everyone, including our 20 incredible Fiscal Sponsorees!Donate today 👉 https://linktr.ee/thepsf
Part of the PSF's mission includes acting as a fiscal sponsor to mission-related #Python events, groups, and projects. The PSF provides 501(c)(3) tax-exempt status and back office administrative support to our fiscal sponsorees. Learn more: https://www.python.org/psf/fiscal-sponsorees/
As we close out 2025, the PSF is running our annual fundraiser with an important message: Python is for everyone 💛🐍🌏💙
Your support helps keep #Python open & thriving for everyone, including our 20 incredible Fiscal Sponsorees!
Donate today 👉 https://linktr.ee/thepsf
prochaine session de #Python #Rennes le mercredi soir 10 décembre 2025 chez IDnow (merci pour l'accueil) dédiée à différentes utilisations de Python : dans le navigateur pour coder (Michel), dans gitlab pour déployer (Martin), dans un carton pour embarquer de l'IA sur carte graphique (Frédéric).
Plus d'infos et inscription (gratuite mais nécessaire) sur https://www.meetup.com/python-rennes/events/311997869/
🚀️ LockPass Export v1.0.0 released!
I just released the first version of LockPass Export, a CLI tool in #Python that exports shared passwords from LockSelf/LockPass password manager.
➡️ https://github.com/wanadev/lockpass-export?tab=readme-ov-file
In October 2025, contributions to #Debian by #Freexian collaborators involved upstreaming cPython patches, making autopkgtest for ansible-core robust and more!
Read the full report at https://www.freexian.com/blog/debian-contributions-10-2025/?utm_source=mastodon&utm_medium=social
We thank the organizations subscribing to our Long Term Support contracts (https://www.freexian.com/lts/?utm_source=mastodon&utm_medium=social) and consulting services (https://www.freexian.com/services/?utm_source=mastodon&utm_medium=social) for making this possible.
A feature that’s currently missing from @forgejo (and thus @Codeberg) is the ability to move issues between repositories (see https://codeberg.org/forgejo/forgejo/issues/1280).
Thankfully, Benjamin Melançon created Forego Helpers with a move_issue.py script that does this using the Forgejo API. Sadly, the script has a bug in it (a tiny regression introduced during a refactor) and their Forgejo instance doesn’t have signups so I couldn’t create a pull request, so here is a fork for the time being that you can use:
https://codeberg.org/aral/forgego-helpers
While fixing the bug, I also updated the project to use uv (https://docs.astral.sh/uv/) – think of it as a single tool that’s the equivalent of nvm and npm in Node.js that makes Python, well, usable out of the box.
So to move issue #299 from kitten/app to kitten/site on Codeberg, for example, you’d run the following in your terminal:
```shell
uv run move_issue.py kitten app 299 kitten site
```
That will move the issue (including comments), comment on both the old and new issues to link them together, and then close the old issue.
Enjoy!
#forgejo #codeberg #issues #repositories #git #movingIssues #python #uv #tools
Since 2015, the PSF Grants Program has awarded over $3M to support Pythonistas worldwide. The program’s on pause, but you can keep that impact alive and help bring us closer towards reopening 💛💙
Read grantee stories and donate today: https://donate.python.org/
J'ai été ravie de présenter une keynote à PyCon FR 2025. Je partage ici les slides de ma conférence en forme de blog.
C'était mon premier #PyConFR et j'ai beaucoup apprécié cet événement acceuillant, bien organisé et avec des conférences hyper intéressantes et de trés bonne qualité.
J'espère revenir l'anné prochaine !
https://karenjex.blogspot.com/2025/11/le-reve-de-tout-enfant-devenir-dba.html
https://github.com/joouha/modshim : un outil qui permet d'étendre ou de patcher un module #Python sans modifier le module original (à la différence du monkeypatching). L'outil fonctionne en interagissant avec le mécanisme d'import et crée un module tiers à partir du module original et de vos modifications.
C'est donc un outil destiné plutôt à compléter une bibliothèque (ou un module natif de Python) pour du code de production que pour écrire des #tests automatisés.
Who are the Hetzner + Coolify folks here? I've been hearing positive things about this combination.
Asking because I want to consolidate hosting for at least two (static) websites and one Django website; preferably auto-deployed from Codeberg. Located in the GDPR area is a must.
One kicker: I am not an infra person. I can navigate Docker well enough to meet my needs, but server management is not my strong suit.
Would love to hear your experiences!
0.3.0 for #resrm
I added automatic prune of the trash folder. The trash retention can be tweaked by an environment variable.
Mini bug: release mismatch.
https://pypi.org/project/resrm/
There are 3 ways to join the PSF's 2025 fundraiser:
- Donate directly 🎁
- Become a member 🪪
- Share this post 🔄 bonus points for quote posting with your #Python story!
Learn more and donate 💛💙 donate.python.org
The PSF's 2025 end-of-year fundraiser is live 🐍🚀 http://donate.python.org
#Python is for everyone—and it takes everyone to keep it thriving. Support the PSF, the Python community, and the language we love.
Join in today 💛💙 donate.python.org
@bbelderbos There's an overview of the stdlib CLIs at https://docs.python.org/3/library/cmdline.html
#Python #CLI
🤔 I have been sitting on Emma's Django Admin Deux article all day and I think it's super cool.
I struggled with it at first out of fear of how different the examples looked compared to the existing Admin code which IMO should continue to just work.
Seeing "7. Familiar Django Admin Patterns" really took the edge off for me, and it seems like once complete, we might have the best shot at expending the Django Admin another decade or two.
https://emma.has-a.blog/articles/django-admin-deux-bringing-admin-back-to-django.html
🆕 I made this suggestion in January last year, no-one else magically implemented it, so finally did it myself...
⬇️ There are now big buttons on #Python download pages for the thing you probably want, so in most cases you don't need to examine the full list of 12 files.
TL;DR; rewrite it in #Rust! To reduce energy use. https://www.youtube.com/watch?v=UAHYQNG1qYI Full podcast coming soon (with way more nuance included 😉), there are lots of things we can do as #Django / #Python tech people to build leaner
How long do you keep a Git branch around after you merge it?
I have a habit of deleting the branch immediately after merging, but I've had to use the reflog to recover updates a few times over the last few years. I'm wondering if I should keep branches around a little longer before deleting.
Wondering if there is an API for #pypi or if I'll just need to parse the html from `/user/<name>` 🤔
Not really finding anything in the docs https://docs.pypi.org/api/
New @pypi blog
TL, DR:
- Trusted Publishing used for 25% of all files uploaded in Oct 2025
- GitLab Self-Managed now in beta
- Pending Publishers can be added for Organizations, too!
#Python #SupplyChain #Security
Read it here: https://blog.pypi.org/posts/2025-11-10-trusted-publishers-coming-to-orgs/
Well here I am again! I decide to start another project: mirro
Have you ever been in the situation where you edited a config file and suddenly realised you didn't back it up first? I have...
https://github.com/mdaleo404/mirro
Stay tuned! We’ll be launching our end-of-year fundraiser within a couple of days, and we hope you enjoy what we have prepared to share with you 🤗 if you’ve already donated and you’re a member, you can still take part by sharing our posts on social media and with your regional and project-based #Python communities!
Here we are again: stunned, floored, full of hope, because of you–each of you wonderful humans in the #Python community. Since we shared the news about our withdrawal from the NSF grant opportunity two weeks ago, we have received over $160,000 in donations across nearly 2000 donors, which includes 313 new Members–WOW!
1/3 @dn These are valid observations which I can partially address (but not satisfactorily). And by the way, everything you said matters to me, too! While I **can’t** answer the problem of `uv` #uv being ready soon enough for the latest #Python; I **can** give procedures for keeping `uv` itself up-to-date … depending on how you installed it:
* `uv self update` for `uv`s recommended install
* `brew update; brew upgrade; brew cleanup` if you installed with #Homebrew, which applies to both Linux and macOS (`apt` might be applicable, too, on Linux. I can’t remember)
* Use`cargo` or an external tool like `cargo-install-update` if you installed it like any other #RustLang binary.
All of these are unsatisfactory, though, because they don’t "just happen" either to actually update or even to tell you that you **need** to update. Maybe that’s correct behavior because you’re not forced into updates you don’t want, or maybe it would be better if they were fully automated.
#Python #RustLang #uv There are so many posts about `uv`, I’m almost certainly preaching to the choir. As a developer, `uv` solves so many of my problems and makes my life so much easier, it has quickly become fundamental to my workflow. In one specific case, I have to deal with packages from Conda. There, I use `pixi`, and `pixi` in turn relies on `uv`.
Here’s the point: if you’re using Python and installing packages, running tools, choosing the right version of Python itself, using environments … basically almost anything —- you should look at `uv`. <https://docs.astral.sh/uv/>.
Now there is a problem `uv` doesn’t address: `uv` doesn’t directly impact the problem of deploying a Python-based application to an end-user. This is still one of the biggest problems in the Python ecosystem.
Is there a good handler for the #python `logging.handlers` stuff that sends messages via #libnotify? I tend to write CLI tools with a boilerplate I hacked out ages ago, that has some argparse defaults and then does this (somewhat compressed for brevity):
```python
if __name__ == "__main__":
import sys, logging, logging.handlers
args = parse_args()
mylogger = logging.getLogger(sys.argv[0])
if args.syslog or not sys.stdout.isatty():
handler = logging.handlers.SysLogHandler(address="/dev/log", facility=logging.handlers.SysLogHandler.LOG_DAEMON)
handler.setFormatter(logging.Formatter("%(name)s: %(levelname)s %(message)s"))
mylogger.addHandler(handler)
mylogger.setLevel(logging.WARNING - (args.verbose * 10))
else: # use the basic config when on terminal
logging.basicConfig(level=max(logging.WARNING - (args.verbose * 10), 0))
main_loop(args, mylogger)
```
So if it's run from cron, it'll go to syslog by default, but you can also just pass in like `--syslog` and it'll do that from the shell as well. I figure I kind of want `notify-send` messages sometimes too. Maybe always, maybe only for `CRITICAL` and above? #logging
🏆 Hats off to @CodenameTim and everyone for updating the @django's search to pick up blog posts and pages from non-docs areas of the website.
Why is this important?
We went from ZERO relevant REST search results to 44 search results, and the first FOUR amazingly relevant to search results.
https://mastodon.social/@carlton@chaos.social/115513395835556513
This was one of the topic's we covered during this year's panel discussion: Two Decades of Django: The Past, Present and Future at @djangocon
I'm very excited about my first project!
Let me introduce you 'resrm', an 'rm' alternative with restore support.
It's at an early stage, but looks nice already.
https://pypi.org/project/resrm/
🐍 uv is the best thing to happen to the Python ecosystem in a decade - Blog - Dr. Emily L. Hunt
「 uv is a free, open-source tool built by Astral, a small startup that has been churning out Python tools (like the excellent linter Ruff) for the past few years. uv can:
- Install any Python version for you
- Install packages
- Manage virtual environments
- Solve dependency conflicts extremely quickly (very important for big projects.) 」
#uv #python #programming #rust
https://emily.space/posts/251023-uv
SeaGL talks in 5 min:
* Physical Theatre, made using open source tooling
* My browser isn't working! Now what do I do?
* Your Email, Your Rules: Self-Hosting Simplified
30 min later:
* Duality of Python
I rate these talks as 4 out of 4 in that I want to see all 4 of them :)
https://pretalx.seagl.org/2025/talk/
Join the conference freely and anonymously - https://seagl.org/attend
#SeaGL #SeaGL2025 #FLOSSconf #FLOSSevent #Seattle #today #theater #python #SelfHosting #email #BrowserDebugging
Advice needed: I want to set up #Linux Kiosk PCs. Users must log in with a card ID and password that are verified via a PHP webservice against a MariaDB.
The challenge: I need the Linux desktop login (e.g., via a Display Manager like LightDM/GDM) to authenticate against the custom remote service.
How can I implement this? Custom PAM module? Python-pam? Scripts?🤔
#PAM #linuxhelp #KioskMode
#Authentication #webservice
#PHP #Sysadmin #Python #foss #OpenSource
J'ai repris ma recherche de boulot vu que ma formation va se terminer, j'abandonne un peu l'idée de faire du #python vu que je suis junior dans cette techno et que c'est la merde en ce moment pour trouver du boulot
bon au moins mes compétences python m'aident à fouiner les sites de recherche d'emplois (et me permettent de m'amuser sur mon temps libre)
Mais si y'a des gens qui connaissent des boîtes qui recrutent.
Je cherche dans développement web #PHP #Symfony #Laravel #Angular
avec + de 10 ans d'expérience
Sur Lyon principalement (ou remote)
Boost bienvenue 🫂 #jeChercheUnJob
Parmi les PEP acceptées pour #Python 3.15, la 798 rend possible la destructuration de dictionnaires et d'itérables au sein de compréhensions (https://peps.python.org/pep-0798/) :
[*it for it in its] # aplatissement d'une séquence de séquences
(*it for it in its) # aplatissement d'une séquence de séquences en générateur
{*it for it in its} # aplatissement en set
{**d for d in dicts} # fusion d'une séquence de dictionnaires
📺 DjangoCon US 2025 videos are up 🎉
This also caps off a week's worth of updates on DjangoTV, including the dreaded, very random 153 errors, which should finally be gone.
@mahryekuh @jscholes Yes, it's changing in Python 3.15 (and I think is already in the first alpha, available for testing now).
For more detail, see:
https://docs.python.org/3.15/whatsnew/3.15.html#whatsnew315-utf8-default
#Python #Python315
Last year I learned about Byte Order Mark (BOM), and how imports of CSV files generated on Windows should be decoded as “utf-8-sig” instead of “utf-8” when using Python `csv.reader()`.
That lesson saved me a lot of time today.
Extra background info courtesy of @jscholes:
> “The wider issue is that many Python programs are written with no explicit `encoding` argument in `open` calls, implicitly expecting UTF-8 because that's often the default on Unix systems. But it usually is not the default on Windows.”
> “As I understand it, that's set to change in Python 3.15:”
It's been a month since I've been without $job, but that doesn't mean I was lazy 😅 I used this time to prepare a lot of changes to Django 💚 including some old feature requests like database-level delete options and decimal fields with no precision, as well as fixing 15+ years old bugs 🐛 I'm still on the market! Do you need help with your Python/Django app? 🆘 Contact me 📬
Si vous n'étiez pas à la #pyconFr j'ai publié à l'instant un article qui raconte comment j'ai accéléré les tests sur mon poste : https://hashbang.fr/blog/accelerer-une-suite-de-tests-django-et-pytest-sur-un-poste-de-developpement/ (c'est la première partie de notre conf avec @arthru )
#django #pytest #python
@mdione @tartley @hgfernan Yeah, I would think so. And honestly it seems like quite a complicated thing to be that clever, in general.
I think the intent of basicConfig() is supposed to be simply "make sure logging messages go *somewhere*" for people/apps that don't particularly care where they go. Anything more than that, you should write your own code, or at least customize the arguments you pass to basicConfig() (which could include calling it with force=True).
https://github.com/SJRiz/pytogether : un projet qui met en place un environnement web collaboratif temps réel de développement #Python plutôt dédié aux personnes débutantes ; pour la formation à distance ou le prototypage en pair programming, par exemple. Collaboration multi-curseurs, par chat et appels audios.
- @django
- React
- Celery
- PostgreSQL (sauvegarde des projets)
Un projet repéré par la newsletter hebdo #PyCoder's weekly
They are so many different reasons to write #Code in so many different #ProgrammingLanguage(s). Here are a few: which is your favorite? Which are you good at? Which is your team good at? Which is supported at your company? Which is best supported in the community? Which is best suited to your actual problem? Which has appropriate libraries (and again, consider your problem domain)? Which has good tools? Which is the least expensive to actually develop in (time, money, tools, deployment)?
There absolutely is no "best" language. You are absolutely going to compromise somewhere. Maybe you won’t even consider these questions, e.g., a #CSharp shop might just go with C# regardless. A #Python expert might just choose Python. Sometimes all these questions don’t matter. Sometimes they do.
The November 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
@ThePSF 💭 A genuine question:
Should the PSF continue to sustain PyCon US directly?
It’s the flagship Python event, but it also seems to consume a large portion of PSF funds with limited benefit for the global community.
Wouldn’t it make more sense for PyCon US to rely more on external sponsorships and partnerships, instead of drawing so much from the PSF itself?
Also, how much support do regional PyCons receive by comparison?
Read the full post to see how the PSF is tackling these challenges and how you can help power the future of Python. Many of you have donated in the past week- so we are looking for you to help us with reach. Please share this story, boost our upcoming fundraiser posts, and most importantly, tell the world your #Python story!
Python Steering Council unanimously accepts "PEP 810, Explicit lazy imports"
Link: https://discuss.python.org/t/pep-810-explicit-lazy-imports/104131?page=23
Discussion: https://news.ycombinator.com/item?id=45800967
Finally, we want to share that everyone at the PSF is full of hope, courage, and strength- because of each and every one of you in the #Python community. We’ve continued to hear from you across a multitude of platforms with messages of support and encouragement– each of which we truly treasure 🥹
We are counting all of these donations and new members as the prequel to our end-of-year fundraiser 📈 Stay tuned for more information on the fundraiser– and if you’ve already donated, you can still support us through the end of 2025 by sharing your #Python stories and boosting our posts!
The Steering Council has accepted PEP 810 (explicit lazy imports) for Python 3.15!
https://discuss.python.org/t/pep-810-explicit-lazy-imports/104131/466
pour les fonctionnalités des versions #Python, notamment la 3.10 : https://www.nicholashairs.com/posts/major-changes-between-python-versions/
avec #Halloween 🎃 a été publiée la dernière version de #Python 3.9 : la 3.9.25 🕊️ (https://discuss.python.org/t/the-final-python-3-9-security-fix-release-is-out/104666).
Depuis le 1er novembre, la version maintenue la plus ancienne est la 3.10 (https://endoflife.date/python) ; ce qui veut dire que les personnes qui maintiennent des bibliothèques ou des outils peuvent désormais adopter toutes les fonctionnalités de la 3.10 sans risquer de perdre trop de personnes utilisatrices.
Quelles sont les fonctionnalités de la 3.10 qui vous intéressent le plus ?
I wrote a bit about what went on at the recent Python Core Sprint at #Arm in Cambridge, plus some bonus @PyConUK highlights.
Introducing runtime_introspect v0.2.0 !
https://github.com/neutrinoceros/runtime-introspect/releases/tag/v0.2.0
This versions introduces high level, portable APIs like
- FeatureSet.supports("free-threading")
- FeatureSet.supports("JIT")
- FeatureSet.supports("py-limited-api")
making it possible to inspect availability for specific features at runtime with *very* little code (turns out solving this problem in the general case is complicated enough that I only want to do it once).
For instance
from runtime_introspect import runtime_feature_set
fs = runtime_feature_set()
if fs.supports("free-threading"):
... # cool multi-threading stuff
else:
... # less cool, single threading stuff
every non-EOL version of #CPython (including unstable ones, #Python315) are supported.
I almost started bashing (#python'ing?) my head against the desk because I only read this for the first time ever:
> The functions `debug()`, `info()`, `warning()`, `error()` and `critical()` will call `basicConfig()` automatically if no handlers are defined for the root logger.
I run my code with `pdb` and reached `logging.basicConfig()`'s line `if len(root.handlers) == 0`. It failed, so someone called one of those functions before I called `basicConfig()`. Fixed by `basicConfig()` ASAP.
People who are newer to Django often do not know about these great resources and the richness of the Django ecosystem. Spread this link please! #python #django https://www.djangoproject.com/weblog/2025/nov/02/five-ways-to-discover-django-packages/
Ein Ingenieur entdeckte, dass sein smarter #Staubsauger heimlich #Telemetriedaten an den Hersteller ohne Einwilligung sendete.
Als er den Datenfluss blockierte, wurde das Gerät per Fernbefehl blockiert.
Nach Analyse und Reverse Engineering konnte er das Gerät mit #Python-Skripten und einem #RaspberryPi wiederbeleben. Der Fall zeigt, wie sensibel #IoT-Geräte mit Nutzerfreiheit und #Datenschutz umgehen.
@glyph @offby1 @petrillic @amethyst @Yhg1s
Here you go, $100π!
And thank you to @lorenipsum and Phyllis for typing up and sending all these receipt emails so quickly ⌨️🚀
Incredibly based of the #Python Foundation.
They were effectively awarded a $1.5 million grant from the federal government and when presented with the requirements to cease their DEI efforts, declined the grant.
Pull requests wanted!
I've just opened a whole bunch of issues in the PyLadiesCon Portal repo and all of these are up for grabs.
Check it out if you know some Python, Django, and maybe a little of HTML or CSS.
The Toad Report #2 is out. The second update on Toad, my terminal based UI for agentic coding.
Please share!
Running every streets in Paris (using #Python) : https://app.everystreet.run/vinayak/paris ^^
Just published a new How-to guide on installing PostgreSQL 18 on Ubuntu 25.10 (Questing Quokka). 🦫
Learn how to switch from the default PostgreSQL 17 to version 18 and try new features like UUIDv7 using the official PGDG repository: fast, clean, and developer-friendly setup. 🐘
https://www.paulox.net/2025/10/31/install-postgresql-18-on-ubuntu-25-10-questing-quokka/
CC @postgresql
#PostgreSQL #Ubuntu #Linux #Python #Django #UUID #UUID7 #UUIDv7
RE: https://mastodon.social/@EmmaDelescolle/115469586774762383
✋ I'd also love to know whose companies would be willing to pay or discuss it for Extended Django LTS support, even if you aren't sure of an amount.
(I suspect the amount would be >$10k for bigger companies, given how much work this takes.)
Please fill out @EmmaDelescolle's pool and feel free to DM me if you have thoughts.
Let's try something here... If I told you that you could get Extended LTS support for some older Django versions (5 years instead of 3 to start with), how much would you be willing to pay for that?
This poll is probably mostly directed at SMB Django shops.
Nothing, all my clients run supported versions: 0 Less than 100€ / year: 0 Less than 1K€ / year: 0 1K€ / year or more: 0
Thanks to our partners Arm, GitHub, and AWS, the PSF migrated #Python’s infrastructure to Arm-based systems; achieving zero downtime, lower costs, and a greener footprint. Results like this show the impact of corporate collaboration with the #Python community 💝🐍 https://www.arm.com/company/success-library/python-software-foundation
I stepped down from @ThePSF board after 10 years https://kushaldas.in/posts/not-anymore-a-director-at-psf.html
un article de @treyhunner expliquant comment personnaliser votre #REPL si vous utiliser #Python 3.13 :
- le tutoriel https://treyhunner.com/2025/10/handy-python-repl-modifications/
- le repo organisant les personnalisations : https://github.com/treyhunner/pyrepl-hacks
Étapes
- créer une variable d'environnement PYTHONSTARTUP pointant vers un fichier de personnalisation
- créer le fichier de personnalisation : raccourcis clavier, colorisation, etc.
Est-ce qu'une formation Python avancé intéresse des gens ici ?
Je me suis inscrit à une formation de #HumanCoders dans le cadre de mon travail, et pour que la session du 8 décembre en distanciel soit validée, il faut au moins deux stagiaires.
Qui vient pour valider la session et apprendre du Python avancé ? :D
https://www.humancoders.com/formations/python-avance
Vous pouvez booster si vous avez envie !
Thanks to @glyph 's initiative, I got the final push that I needed to set up a donation to PSF. I even made it an annual recurring thing and also signed up as a contributing member (which I believe I am).
Python has been instrumental in shaping my career, so I should have done this sooner.
La fondation #Python renonce à une subvention de 1,5 million de dollars plutôt qu’à ses valeurs.
Pour obtenir cette somme, la fondation devait s’engager à ne mener aucune action en faveur de la diversité, l’égalité ou l’inclusion (DEI), une des exigences politiques de l’administration Trump.
https://www.zdnet.fr/blogs/l-esprit-libre/la-fondation-python-renonce-a-une-subvention-de-15-million-de-dollars-plutot-qua-ses-valeurs-484243.htm#xtor=RSS-1
#truckfump
Even if you don't do anything particularly intense with numerical results in #Python, this is still a good issue to know about: https://moyix.blogspot.com/2022/09/someones-been-messing-with-my-subnormals.html h/t @nelhage
@_nb
Tu as raison, "on est rarement pile en face" mais je trouve que je suis un peu trop souvent "pile à côté". 🤪
À mon grand âge, je rêve encore un peu trop (un jour, je ferai du #python autrement qu'à titre perso)
Ta remarque me conforte dans le choix que je m'apprête à faire si je dois investir sur un des 2.
Archive formats like ZIP and tar can be abused to undermine the integrity of Python package users 📦 Learn how PSF Developer-in-Residence Seth Larson is strengthening Python's security with the #Python community in the new white paper "Slippery ZIPs and Sticky tar-pits" with Alpha-Omega:
https://pyfound.blogspot.com/2025/10/slippery-zips-and-sticky-tar-pits-security-and-archives-white-paper.html
🇸🇪 boostedI just gave $100 to the PSF.
Thanks to Glyph and other matchers for making that double. Much respect.
#httptap, un client HTTP #Python en mode CLI qui indique la décomposition d'une requête HTTP avec la durée de chaque phase : https://httptap.dev/
Pour le tester facilement avec uv :
uvx httptap "https://social.breizhcamp.org/@pythonrennes"
boostedThis week, the #Python Software Foundation rejected a $1.5MM NSF grant, due to a requirement that the PSF abandon diversity work.
So I joined forces with Python folks (@offby1, @petrillic, @amethyst) and we're matching up to $12,000 of donations to the PSF. 🧵
uv is the best thing to happen to the Python ecosystem in a decade https://lobste.rs/s/fluuv7 #python
https://emily.space/posts/251023-uv
👋 Friends, #Django's fundraiser is running through November 11th (kindly ignore the 9th, that's being fixed) and the foundation could use your support to continue our mission.
While I happily support the PSF in their mission, this is the DSF's biggest fundraiser every year, and even if you aren't a JetBrains user, our foundation could use your support.
Support the DSF via PyCharm:
https://www.djangoproject.com/weblog/2025/oct/23/pycharm-django-annual-fundraiser/
Support the DSF directly: https://www.djangoproject.com/fundraising/
If you like free and fast access to #Python packages via PyPI be glad that these lovely folks are in charge and not somebody like me. If it were up to me I'd probably be planning big brownouts and slowdowns for institutional users in order to aggressively force the issue of properly using client-side caching.
un tutoriel expliquant le rôle et les différentes façons de déclarer et d'utiliser des fixtures dans vos tests automatisés #Python avec #pytest : https://patrickm.de/pytest-fixtures-how-to-use-organize-them-in-your-test-architecture/
Il manque juste aussi la possibilité de déclarer des fixtures dans des sous-modules et de les référencer avec la variable pytest_plugins dans le fichier conftest.py à la racine des tests (https://docs.pytest.org/en/stable/reference/reference.html#globalvar-pytest_plugins) :
pytest_plugins = [
'tests.fixtures.users',
'tests.fixtures.items',
# ...
]
Cette fin de semaine, Armando Femat Ortiz sera à la #PyConFR 2025 à Lyon pour participer aux sprints et pour présenter une 𝗺𝗶𝗴𝗿𝗮𝘁𝗶𝗼𝗻 𝗱𝗲 𝗹'𝗮𝗻𝗻𝘂𝗮𝗶𝗿𝗲 𝗟𝗗𝗔𝗣 𝗱'𝘂𝗻 𝗡𝗲𝘅𝘁𝗰𝗹𝗼𝘂𝗱, avec un script #Python bien sûr !
📍 C'est en salle C436 au Campus René Cassin
📅 Samedi 1er novembre 2025 à 16:30
🔗 https://www.pycon.fr/2025/fr/
Venez découvrir son retour d'expérience et parler SSO avec lui !
🐍 @AFPy
(27 Oct) Python Software Foundation Withdraws $1.5M U.S. Government Grant Over DEI Restrictions
Python’s governing body drops a $1.5 M U.S. grant, saying the anti-DEI clause violates its mission and community spirit.
https://s.faithcollapsing.com/trxfp
Archive: ia: https://s.faithcollapsing.com/i8q7a
Based on @lorenipsum's post about python being all backbone (software) and @ThePSF's refusal to roll over. I give you my sticker idea¹
Notes: This confluence of puns tickles me. supine sounding like serpentine and spine and being upside-down, aforementioned backbone, nod to "don't tred on me" and *maybe* a wink to Tiresias and hitting snakes.
OK back to code.
While in some ways the decision was tough, knowing the #Python community would have our backs made it easier. We want to thank you deeply for the words of support across many platforms- but also your actions.
Sometimes, I think it's not worth it to keep writing this draft. I'm just way too harsh to Python, and it probably doesn't deserve it.
The #Python Software Foundation look after some of the most important software for our Digital Infrastructure. They can't get grants from the US gov.t because those now require alignment with the #Trump administration's ideology.
The #EU should step up and support our critical digital infrastructure. Meanwhile, drop them a donation! ❤️
https://pyfound.blogspot.com/2025/10/NSF-funding-statement.html
Inclusion ou subvention américaine, la fondation #Python a choisi
https://next.ink/206254/inclusion-ou-subvention-americaine-la-fondation-python-a-choisi/
#Python Foundation goes ride or DEI, rejects government grant with strings attached - https://www.theregister.com/2025/10/27/python_foundation_abandons_15m_nsf/ "Foundation says it won't compromise policy of inclusivity even if that cash would've really helped"
En attendant #Python 3.15, et le support du lazy import (voir https://peps.python.org/pep-0810/), voici une méthode pour accélérer le chargement de vos modules : https://pythontest.com/polite-lazy-imports-python-packages/
la fondation #Python (la @ThePSF) a refusé un financement de 1,5 million de $ du gouvernement américain, gouvernement qui demandait à ce que l'argent ne financement pas des actions de #diversité et de #mixité, ce qui va à l'encontre de différentes actions anti-discriminatoires de la PSF : https://pyfound.blogspot.com/2025/10/NSF-funding-statement.html
Headline: #Python Foundation goes ride or #DEI, rejects government grant with strings attached
Subtitle: Foundation says it won't compromise policy of inclusivity even if that cash would've really helped
Source: https://www.theregister.com/2025/10/27/python_foundation_abandons_15m_nsf/
I have nothing but respect and sympathy for @ThePSF in their decision to withdraw from the NSF grant program in order not to compromise on their mission to keep #Python a diverse and welcoming open source community
It's hard to turn down that kind of money
So, here's my .02c for it, metaphorically. I'll personally make a $1000 donation to help fill in that gap. There are certainly 1500 of us who can spare that much, in the global python community. Who's with me?
Nathan Goldbaum is part of the Quansight Labs team that's been doing a *huge* amount of work getting the ecosystem ready for free-threaded Python.
Here he shares some of his favourite resources to learn about free-threaded Python:
https://github.com/ilanschnell/bitarray/pull/245#issuecomment-3452970622
#rstats folks should think about supporting our friends at the #Python Software Foundation, who turned down a $1.5M NSF grant rather than cave to the administration's inquisition against diversity, equity, and inclusion. ❤️
https://pyfound.blogspot.com/2025/10/NSF-funding-statement.html
Python Software Foundation News: The PSF has withdrawn a $1.5 million proposal to US government grant program
https://pyfound.blogspot.com/2025/10/NSF-funding-statement.html
#Python is fighting fascism and it warms my heart when so many other communities just surrender without even a fight…
The #Python #Software #Foundation has declined to accept a $1.5m #dollar #grant from the #US Government due to a stipulation stating they cannot pursue any #Diversity #Equity #Inclusion initiatives. https://pyfound.blogspot.com/2025/10/NSF-funding-statement.html
I would be glad to donate to the #Python project, but doing so requires me to divulge my name and contact information as per their 501(c)(3) charitable organisation status:
"Contact information is required for tax reporting purposes and will be shared only with the US government."
Considering the current status of the US government, I don't feel comfortable doing this. Are there some other ways to donate to Python project without getting the US government involved?
- https://pyfound.blogspot.com/2025/10/NSF-funding-statement.html
- https://psfmember.org/civicrm/contribute/transact/?reset=1&id=2
Pendant que la communauté Ruby se demande si la nazisme c'est bien ou pas, la Python Software Fundation (PSF) vient de rejeter 1.5 M$ à la condition de n'entreprendre aucun travail en matière de diversité, d'équité et d'inclusion !
La PSF a décliné favorisant ses valeurs à la thune. Bravo.
RE: https://mastodon.social/@djangonews/115446256829600290
🎙️💬 And I'm on @djangochat talking with @wsvincent and @carlton about the latest Django Survey trends with a WHOLE lot of side quests.
I hope you enjoy it!
https://djangochat.com/episodes/django-survey-2025-jeff-triplett
Should have done this earlier and saved myself some membership dues, but having told #UCU that I am currently unemployed, my membership is free for up to a year 👍
Now, where are all the remote/Scotland #Bioinformatics & #ResearchSoftwareEngineer jobs hiding? Or should I try the commercial world as a #Python programmer... #GetFediHired
un tutoriel détaillé sur l'utilisation de #pydantic dans vos projets #Python : https://machinelearningmastery.com/the-complete-guide-to-pydantic-for-python-developers/
- typage des structures de données
- validation des valeurs
- gestion de l'arborescence des structures de données
I've implemented history support in Toad.
Up / down keys navigate your history.
But I think there is an opportunity to improve on the bash / zsh behavior. I've noticed my history can be full of the same command. Often when I'm testing software.
i.e. now, I have like 20 "uv run toad" entries in the history. If I want the previous command I have to press up 20 times. Seems bonkers.
How about if I collapse multiple identical entries in a a single entry?
Just released! 🚀
🎨 termcolor 3.2.0
https://github.com/termcolor/termcolor/releases/tag/3.2.0
🟣 Expose `can_colorize` as public API
🟢 Add support for Python 3.15 (🥉 at https://pyreadiness.org/3.15/)
🔴 Drop support for EOLish Python 3.9
Been running a fusil campaign for a week, targeting a C-extension. The fuzzer has found 9 issues so far, feels good.
The maintainer is helping with the campaign and eager to fix the issues, which is great.
Some maintainers see us with suspicion and often disregard issues, as if we're after accolades, pointing fingers or complaining about the code.
We fuzz to help, that's all.
Anyway, if you have a C-extension and would like it fuzzed, hit me up :)
Dans cette vidéo, Alexandre #Astier parle d'une #IA maison a qui il donnerait tout ce qu'il a fait... Par curiosité de ce qui en sortirait.
Mais ! On apprend surtout, qu'il a codé son propre algo #Python pour l'aider à écrire #Kammelott ! 😲
Source : https://www.canalplus.com/actualites/clique/h/30030672_50001
Inspired by a talk I had with @BajoranEngineer at #PyTorchCon, I've jotted down some thoughts about #Python as a scripting engine for apps.
https://phildini.dev/python-in-every-app
Shares appreciated! Commentary welcome, but if you're a jerk I'll block you 😇
@freakboy3742 @glyph @brettcannon this is why I was asking about built python ✨
Also included: a thought on how @conda monetizes this 😅
Just released! 🚀
📜 Python Docs Sphinx Theme, with added Arabic, French, Romanian and Russian translations.
https://github.com/python/python-docs-theme/releases/tag/2025.10
#Python #release #PythonDocsSphinxTheme #Sphinx #theme #translations
Quick reminder, I'm open to work 👋 If you're looking for an experienced #Python / #Django developer 🧭, who spent 5 years as a Django Fellow, maintaining Django itself, and who is a Django 💚 and Python 🐍 contributor. I'm here 👋 Contact me 📬 #opentowork
un projet #Python de CLI permettant de copier-coller du contenu de façon sécurisée entre un votre poste et un serveur distant (scp, ssh, par socket) : https://remoclip.newmatter.net/.
Une extension à Jupyter qui permet de faire du GIS, ça m'a l'air complètement fou ! https://eo4society.esa.int/projects/jupytergis/ #python #jupyter #extension #géographie #opensource
Let's all give a shout out (and a follow) to the new @ThePSF Fellows!
https://pyfound.blogspot.com/2025/10/announcing-python-software-foundation.html
Thank you for all you do for us! 🥂
🎉 Abhijeet Mote
🎉 Abigail Afi Gbadago
🎉 Becky Smith @rebkwok
🎉 Christopher Bailey @digiglean
🎉 Dawn Wages @BajoranEngineer
🎉 Leah Wasser @leahawasser
🎉 Maaya Ishida
🎉 Mason Egger @masonegger
🎉 Miguel Grinberg @miguelgrinberg
🎉 William Vincent @wsvincent
Async Django: a solution in search of a problem? https://lobste.rs/s/fyrfe0 #python #web
https://www.loopwerk.io/articles/2025/async-django-why/
The problem with using software you wrote yourself is that you impulsively add features you feel would improve your life, and then get annoyed at how other parts of the software don't have the same feature.
So I guess I'm adding filtering capabilities to the Inventory view in Exosphere now
Django 6.0 beta 1 released via @paulox https://lobste.rs/s/elts07 #python #release #web
https://www.djangoproject.com/weblog/2025/oct/22/django-60-beta-released/
💡📹 Scientist Brian Haidet built a 2 billion frame per second #camera in his garage using simple components including one mirror, one lens, and #Python code to capture #light moving at the #universe's speed limit.
The camera records only one pixel at a time, so Haidet tiles hundreds of synchronized recordings together to create #videos showing a laser beam bouncing across his workspace at 15 cm (6 in.) per frame.
Django 6.0beta1 is out! 🎉
It brings new built-in features like CSP support, background tasks, and partial templates, all ready to use without extra packages. 🧩
It’s not ready for production yet, but now is a good time to test it, report bugs, and get your projects ready for the final release. 🚀
https://www.djangoproject.com/weblog/2025/oct/22/django-60-beta-released/
CC @django
Please congratulate our newest PSF Fellow Members for Q3, 2025! Their continued contributions to the Python ecosystem are so very important to our community. #python
https://pyfound.blogspot.com/2025/10/announcing-python-software-foundation.html