2026-02-15 20:53:36
python_dependency: Python Dependency Network
Python's package dependency networks. Nodes in the network are Python's packages registered to PyPI and edges are dependencies among packages.
This network has 58743 nodes and 108399 edges.
Tags: Technological, Software, Unweighted
https://networks.sk…
Finally put together type stubs for an old (last release 2017!) python library I've been depending on for years. And now wondering whether it would have been easier to just contribute types to the library directly. I thought it abandoned but then the maintainer responded up on an unrelated ticket.
(Though there's no CI infra actually working anymore. Makes testing contributions painful. Wonder whether building that first would be worthwhile & welcome...)
#python #packaging
It's been a while but I was reminded that Java is shit.
Python is better, but has issues, mostly because of macOS.
And macOS permissions for user-created applications are a nightmare!
But a big, big thanks goes out to tools like Platypus.
"Platypus is a developer tool that creates native Mac applications from command line scripts such as shell scripts or Python, Perl, Ruby, Tcl, JavaScript and PHP programs."
python_dependency: Python Dependency Network
Python's package dependency networks. Nodes in the network are Python's packages registered to PyPI and edges are dependencies among packages.
This network has 58743 nodes and 108399 edges.
Tags: Technological, Software, Unweighted
https://networks.sk…
Only $1.5mil?
#Python #Anthropic
ok so newsletter is out, and i’ve finally posted my PyCon UK keynote with additional material to my homepage.
if you wanna know what took me so long: check out my latest newsletter ;)
back to sauna!
https://hynek.me/talks/python-superpower/
Can someone smarter than me explain why Python doesn’t offer native JSON serialization for their decimal library? I get that JSON is limited in its support for various numeric types, but we’ve all moved on and lived with it for a decade or so. 🤬
I made a utility to bulk-upload calendar entries to a #CalDAV server from a JSON file:
https://pypi.org/project/caldav-event-pusher/
from my link log —
Writing C with indent-based syntax similar to CoffeeScript or Python, via Guile.
https://sph.mn/computer/guides/c/c-indent.html
saved 2026-02-14
#Steady
Wie lassen sich #Wechselrichterdaten vom APsystems EZ1 lokal speichern?
Für statistische Auswertungen müssen alle Daten kontinuierlich gespeichert werden. Wie das mithilfe von #Python
Python Cryptography about the state of OpenSSL...
The weirdest thing is that it appears even the authors of one of the more important libraries using OpenSSL appear to not understand why OpenSSL is doing the things they do.
https://cryptography.io/en/latest/statements/stat…
I made a script for this, but then I thought a webui would be better so I could use it in my phone and stuff
I asked an LLM to generate a python webui to run server-side the script I wrote, and surprisingly it 100% worked first try. I was sure it wouldn’t work at all, but I didn’t touch that code and it works.
I can’t even say I “vibe coded” this bc I didn’t even read the code enough to know its vibes lmao. I’m surprised this even works, and it does work well. What the actual fuck.
Welp, not my favourite way to do things but I wasn’t in the mood to do python and figure out the extra libraries and stuff.
And it works so I’ll just use that. In a hardened systemd service to make sure it doesn’t like accidentally delete my whole system or something.
Legacy Python Bootstrap Scripts Create Domain-Takeover Risk in Multiple PyPI Packages
Cybersecurity researchers have discovered vulnerable code in legacy Python packages that could potentially pave the way for a supply chain compromise on the Python Package Index (PyPI) via a domain takeover attack.
:python: https:/…
An AI agent autonomously wrote and published a personalized attack article
against an open-source software maintainer
after he rejected its code contribution.
⚠️ It might be the first documented case of an AI publicly shaming a person as retribution.
Matplotlib, a popular Python plotting library with roughly 130 million monthly downloads, doesn’t allow AI agents to submit code.
So Scott Shambaugh, a volunteer maintainer (like a curator for a repository of comp…
I rewrote a data analysis pipeline, moving it from #python to #julialang . I am now in love with the threading support in Julia.
The task is very parallelizable but each thread needs random read access to a tens-of-GB dataset. In Python (with multiprocessing, shared stores, etc) data bookkeeping was a nightmar…
BREAKING: #CPython 3.13.10 and 3.14.1 changed the multiprocessing message format in patch release. As a result, programs using multiprocessing may break randomly if they are running while #Python is upgraded (i.e. need restarting).
But apparently it's not a big deal, since all the cool kids are running Python in containers, and nobody is using Python for system tools anymore. Everything has been RIIR-ed and Python is only omnipresent in some backwaters like #Gentoo.
https://github.com/python/cpython/issues/142206
I just found a Starter Pack called Women in #Python: https://fedidevs.com/s/NjY3/
Ceated by Python Core Developer @…
Yesterday, I wanted to quickly post something on my blog when I realized that my blog generating process was broken after upgrading to Debian 13.
So I had to analyze the situation, got lost in my complex shell script hell and decided to merge it into one single script without lots of dated stuff.
Next I realized that one of my own libs has a minor issue with Python 3 strings: had to migrate to raw strings to get rid of very valid warnings.
Well, I could not publish that lib…
4 mois de #Python de manière intensive: mon retour sur le langage
https://mcorbin.fr/posts/2025-12-26-python-langage/
Jacob Coffee will speak on 'Thoughtful Observability: Monitoring the Python infrastructure' as part of our Observability track at SCaLE 23x. Full details: https://www.socallinuxexpo.org/scale/23x
python_dependency: Python Dependency Network
Python's package dependency networks. Nodes in the network are Python's packages registered to PyPI and edges are dependencies among packages.
This network has 58743 nodes and 108399 edges.
Tags: Technological, Software, Unweighted
https://networks.sk…
https://psfmember.org/civicrm/contribute/transact/?reset=1&id=2
Yes, finally I did it.
Thanks, <my company> for paying me for the last six months and allowing me to do this.
How testing made vibe coding work for me
Creating complex logic for standing tiebreakers in web app
https://www.jovian34.com/j34/blog/26/
Every year I add features to apps.iubase.com before the start of college baseball season in mid-February. This off-season has been particularly bold as…
Posts like this, where knowledgeable people talk about their area of expertise using appropriate tech jargon, are a good reminder of what VFX people probably sound like to others when we‘re debugging a fluid sim, some Python code or why Nuke keeps crashing. https://friend.camp/@aparrish/115714379…
Gerade gestern wieder mit @… diskutiert¹:
mit dem ganzen Python überall² haben unsere Studies keine Ahnung mehr, was Pointer, Stack und Heap wirklich sind, und wie sie sich anfühlen.
Und ich komm da³ immer wieder zurück zu #FreePascal: ich hab starke⁴ statische…
I'm seeing hangs in 'meld' at the moment with a couple of (large but not huge) log files; hmm - just 100% in the python.
Switched to kdiff3 for the moment.
I often find myself in this position -- checking whether there are any files in an old folder not in the new location, before deleting the old folder -- and generally re-invent the wheel. Here's a 1-liner that checks (works in Julia, similar in Python, R, other langs likely):
setdiff(
readdir("./lumber/oldfiles"),
readdir("./stuff/newfiles"))
Obvs, not checking timestamp or contents.
Edit: Julia doesn't interpret "~/"
I had a question about Olympic success and wealth, and I’m glad someone else did too. And, they brought all the Python!
https://towardsdatascience.com/the-price-of-gold-is-olympic-success-reserved-for-the-wealthy-adade0233d61/…
I'm so glad I'm writing the solutions in both #nim and Python because I tend to find ways to improve the Python solution with the Nim one and vice versa. Today was one of those days. The biggest thing I learned though is that solving these damned puzzles exhausted will never lead to good things quality-wise.
Solution:
python_dependency: Python Dependency Network
Python's package dependency networks. Nodes in the network are Python's packages registered to PyPI and edges are dependencies among packages.
This network has 58743 nodes and 108399 edges.
Tags: Technological, Software, Unweighted
https://networks.sk…
Once upon a time Python just worked.
Now, on Mac OS, Python is a disaster. Different versions in different virtual environements, homebrew vs pip vs pip3 vs pipx vs ...
It is hard to image how the Python world got itself so bollixed up on MacOS.
from my link log —
Python anti-patterns.
https://docs.quantifiedcode.com/python-anti-patterns/
saved 2019-07-24 https://do…
Logged into Google using Chrome at work and found it's become a Kakfa-esque experience where I had to log in five times before I realized what was going on with "profiles" I've never asked for. Reminds me of the time I did a shoot-out of ten visual recognition APIs and I got demos of the others done in 20 minutes each but Google Cloud Compute took two hours because it trashed my Python #google
MeshCore is opensource
The foundation of MeshCore is developed primarily by a single developer who is incredibly hardworking, dedicated and idealistic about keeping everything he does fully open. The firmware and protocol specification are completely open, allowing anyone to create a client app or perform security audits on the device firmware implementation. Just hop over to the meshcore-dev github repo and have a look. There are also open source command line, python and javascript cl…
If you have a WordPress blog and want to retrospectively update your media library with image descriptions ... consider my little python script https://repos.mxhdr.net/maxheadroom/wp-image-alt-generator
This will generate images descriptions using various LLM providers …
Santa #Python came super early in 2026!
With build 1.4.0, it is now possible to easily dump effective package metadata!
So getting the version of a package in the current directory is now as easy as `pipx run build --metadata 2>/dev/null | jq -r .version`.
This is NOT like parsing pyproject.toml or whatever. It builds the package and looks at the result. So it works even with…
heise | FastAPI: So härten Sie Ihre REST-Schnittstelle gegen unbefugte Zugriffe ab
REST-Schnittstellen im Netz brauchen ein Zugriffskonzept. So gelingt ihre Absicherung inklusive Rollenmodell zur Rechtevergabe auf Basis von FastAPI in Python.
python_dependency: Python Dependency Network
Python's package dependency networks. Nodes in the network are Python's packages registered to PyPI and edges are dependencies among packages.
This network has 58743 nodes and 108399 edges.
Tags: Technological, Software, Unweighted
https://networks.sk…
Over Thanksgiving I’ve been using TypeScript more, after previous experience with Python typing. Some things are way better. Some are worse.
In Python, you can declare and initialize a field together:
self.foo: int = 5
In TS, you can do this in two ways. You can write in the class declaration
foo: number = 5;
but the expression is evaluated before the constructor(!). Or you can write
constructor(public foo: number)
but this only works if i…
I did skim through a Python GTK Adwaita tutorial in the last few days. Besides stumbling over some deprecations here and there it worked really well so far. For some stuff I needed to look up other projects how they solved my current issues. It's interesting how more experienced developers structured their code to layout their applications' windows. And it's interesting that I begin to understand what's going on in the code.
Organise the @… meeting on 12 February with a talk by Rodrigo Girão Serrão (@…) on the paradox of itertools.tee:
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:
@carlos@social.perceptiveconstructs.comMy local Python installation on my Windows 11 laptop was a complete mess and i am not an experienced developer/programmer (far from it). I used Google Antigravity to fix and improve this. It fixed problems , installed "uv" and my life is simpler now... Agents have a role to play i think.
#google #antigravity
Got one of those little Polono P31s thermal label printers from shown on TikTok - actually a neat little gadget, only thing I'm not a fan of the Labelnise app - no idea what/if its sending out. So with the assistance of Claude, knocked up a small Python CLI to print text, images, qr and barcodes to it over BLE.
https://
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
For today's #FreeSoftwareAdvent here's a tiny tool we have used in our pipeline: pyRenamer is a simple app to rename/renumber a bunch of files.
Unfortunately it's pretty much an abandoned fork of a Python 2 app that has been abandoned for even longer ago. It still works and for renumbering there's no easier solution at hand. But for file name search & replace …
Just started reading through a thread about Python tooling by actual working Python devs and I had to bail out. It was too horrifying. I need to go read Epstein Files to clean the palate… (kidding)
Yay! Python 3.14 has been fixed for stuff with coroutines; so Kicad now works on Fedora 34.
Totally normal #Python upstream attitude:
1. Ignore a reply on a bug report for 3 years.
2. Install a #StaleBot in the middle of the night.
3. 7 minutes after the bug is marked stale, claim that you "never heard back on this" and that "the issue was somewhere downstream", without even checking another linked issue.
#Matplotlib
#Steady-#Klimacrew
#BahnMonitor-Projekt: 3. Klappt der erste Zugriff auf die Bahn-API?
Im nächsten Schritt wurde die API-Abfrage getestet udn geprüft, ob die zurückgelieferten Datenstru…
»Introduction to CSS if() Statements and Conditional Logic«
CSS will probably become logically structurable after a long time. It's not a programming language and that's why it's all the more exciting.
🖌️ https://markodenic.com/introduction-to
RE: https://fosstodon.org/@ThePSF/115689464433184174
Crazy to me that Python has to go begging for 300 grand while carrying basically the entire tech world AND the AI bubble on its back. Those teracorps and AI shills should be shitting themselves to be the fi…
@carlos@perceptiveconstructs.comfrom my link log —
cysqlite: a new SQLite driver for Python.
https://charlesleifer.com/blog/cysqlite---a-new-sqlite-driver/
saved 2026-02-11
Life with Visual Studio Code #VSCode
1. I learned about `code --disable-extensions. This helped pinpoint the selection issue to most probably an extension.
2. I have removed most of the extensions. I have Go, Java, Python, XML, YAML. Go is from Google, Java from Oracle, Python from MS, XML & YAML from RedHat. This is very interesting!
3. I still feel very lost in terms of shortcuts. I'm struggling to decide if I should introduce the ones I'm familiar with or continue to experience #VSCode
I hacked together a Python GTK project to inhibit/uninhibit sleep via a simple GUI.
This was put together in 3 hours and I am very proud of this janky code.
My blog goes into the background for this as well as its implementation.
Give it a read:
https://blog.surya…
Changed the code structure slightly from the Python solve, added the `itertools` package because I wanted `product`. Works perfectly and I'd argue slightly more readable than the Python version. Overall pretty satisfied with the solution.
Solution: https://git.jamesthebard…
how did i not know about tox’s version range syntax!? (i.e., 3{9-14} == 3{9,10,11,12,13,14}) 😍
(added in tox 4.25.0 on 2025-03-27) #python
I’m planning the 50th calendar week in Berlin: DevOps workshop during the day and meeting with friends and Christmas party with all Berlin Pythonistas in the evening: https://www.meetup.com/python-users-berlin-pub/events/311702582/
#Steady-#Klimacrew
#BahnMonitor-Projekt: 3. Klappt der erste Zugriff auf die Bahn-API?
Im nächsten Schritt wurde die API-Abfrage getestet udn geprüft, ob die zurückgelieferten Datenstru…
The current AI models let you easily experiment with application ideas like never before. For experimentation, quickly trying out ideas, they are great. That is something completely different from serious/professional use I am fully aware. Still your creativity is now the limit, not your knowledge of python, jscript etc and that is fascinating .
#AI
»quicktype — Convert JSON into gorgeous, typesafe code in any language.
Convert JSON to Swift, C#, TypeScript, Objective-C, Go, Java, C and more.«
In my opinion, this open source tool is good for quickly creating a prototype, but then the programming only begins.
⚙️ https://quicktype.io
from my link log —
How the CPython compiler works.
https://tenthousandmeters.com/blog/python-behind-the-scenes-2-how-the-cpython-compiler-works/
saved 2020-09-24
This took just a smidge longer than the Rust solve, but still not too horrible coming in at around 1.5 to 2 seconds. Getting all of the potential coordinate combinations along with their distances sorted made everything so much easier.
Solution: https://git.jamesthebard.net/jwe…
@carlos@social.perceptiveconstructs.comI took a look at the changes coming with Python 3.15 – and I can’t wait to put them to productive use. I’ve already updated our tutorials:
• utf-8 as the default encoding: https://python-basics-tutorial.readthedocs.io/en/latest/types/stri…
from my link log —
How we made Python's packaging library 3x faster.
https://iscinumpy.dev/post/packaging-faster/
saved 2026-01-27 https://
#Steady-#Klimacrew
#BahnMonitor-Projekt: 1. Wie kommt man an Live-Daten der Deutschen Bahn?
Im November konnte ich per Zufall mit einem
Yeah, why not neglect all the good recommendations in the #Python ecosystem, and instead fork your own C extension package, force people to build it with #ZigLang (it's still C), add unconditional dependency on that, and on top of that, refuse to publish wheels, "allowing for optimised compilation according to your machine's specific architecture and capabilities, instead of some (low performance) common denominator."
Fortunately, looks like #Gentoo can just ignore all the fancy crap and compile it with GCC.
https://pypi.org/project/ruamel.yaml.clibz/
[UPDATE: didn't last long: https://sourceforge.net/p/ruamel-yaml/code/ci/6846cf136e775ed0052cdef6ff02330269c86011/]
After writing some questionable `rust` code for #adventofcode Day 8, I've managed to get the right answers in a reasonable amount of time which has taken far, far longer than I'd care to admit. I'll jump on the Python and Nim solves later because my brain is absolutely fried at the moment.
Solution:
Playing around with Antigravity, vibe coded a social media summarizer that makes a summary of the last 48 hours of my bluesky and mastodon timelines, using python, a local database of the posts on my laptop and APIs of mentioned services. Works greats after squashing some bugs and a few iterations. Interestingly you need to know a little bit about coding to use it efficienctly, even in "vibecode" mode.
from my link log —
pywidevine: Python implementation of Google's Widevine DRM CDM (Content Decryption Module).
https://github.com/devine-dl/pywidevine
saved 2026-01-23
Once I pulled my head out of my ass this wasn't horrible. Part 1 was straightforward, decided to do some set stuff and managed to get it right the first time. Part 2 made my brain hurt a bit because all of the ideas that came to me were very, very slow and memory intensive. Then decided to scrap it and just do what the directions told me to do: count the paths...so I replaced the dumb with a dictionary which was so much better as an idea.
Solution:
#Python "do not pin your new dependencies to a version that's already obsolete by the time you release your package" challenge.
This one also has difficulty: impossible.
#packaging
Playing around with Antigravity, vibe coded a social media summarizer that makes a summary of the last 48 hours of my bluesky and mastodon timelines, using python, a local database of the posts on my laptop and APIs of mentioned services. Works greats after squashing some bugs and some iterations. Interestingly you need to know a little bit about coding to use it efficienctly, even in "vibecode" mode.
#AI
#Steady
Wie kann man die tägliche #Solarstromproduktion automatisiert auf #Mastodon teilen?
Hier erfahrt Ihr, wie man mit Vibe Coding ein
With ty, Astral has released a fast Python type checker and language server (LSP): https://astral.sh/blog/ty
It can also be easily integrated into Visual Studio Code and other editors:
> Concretely, we expect to add ML-KEM and ML-DSA APIs that are only available with #LibreSSL/#BoringSSL/AWS-LC, and not with #OpenSSL.
(from #Cryptography and #Qt simultaneously, right? (Qt rejected LibreSSL support.)
#Python
This one was disturbingly easy for Part 1, then got more fun on Part 2. The name of the game is rotations, and rotating the input was the key to getting it done without too much bother.
Solution: https://git.jamesthebard.net/jweatherly/advent-of-co…
When you notice twine uploading a 400M sdist for a tiny #Python package, you know something went wrong.
I was worried that this would be pathfinding. Thankfully it was not pathfinding. Was definitely a fun problem, and I used more than a couple of comprehensions to get this done.
Solution: https://git.jamesthebard.net/jweatherly/advent-of-code/src/branch/main/2…
I stayed up far too long tonight for this one, but it was fun. Saw that we were dealing with an absolute metric ton of ranges at the very beginning so my initial thought was to reduce/merge those ranges and that's what I spent most of my time on before even tackling part 1.
It paid off tremendously and made solving everything very, very easy. There's still the Nim version to write, but I'll handle that after I get some sleep.
Solution:
Worked on some more #Gentoo global #jobserver goodies today.
Firstly, Portage jobserver support patch: #PyTest jobs will also be counted towards total job count.
Again, it's not a perfect solution, but it works reasonably. The plugin still starts -n jobs as specified by the arguments, but it acquired job tokens prior to executing every test, therefore delaying actual testing until tokens are available. It doesn't seem to cause noticeable overhead either.