Regex character "$" doesn't mean "end-of-string"
This article is about a bit of surprising behavior I recently discovered using Python's regex module (re) while developing SBOM tooling for CPython. Folks who've worked with regular expressions be...
Python, open source, and the internet
Visit sethmlarson.dev → RSS feedOn Hacker News Oct 2021 – Aug 2026
Software Engineering 10Security & Privacy 4Web & Frontend 2Tools & Productivity 2Programming Languages 2Open Source 1
This article is about a bit of surprising behavior I recently discovered using Python's regex module (re) while developing SBOM tooling for CPython. Folks who've worked with regular expressions be...
If you're anything like me, you love emojis! Emojis appear like an image on the screen, but they aren't an image like a PNG or JPEG. What do emojis look like to computers? 

0x820x820x980...
You've probably heard of stream ciphers, but what about a scream cipher 😱? Today I learned there are more “Latin capital letter A” Unicode characters than there are letters in the English alphabet....
Have you ever noticed that the food graphics in Super Smash Bros. and Kirby Air Riders are flat “billboarded” stock images of food? This artistic decision from director Masahiro Sakurai has per...
I really like QR codes. Recently I purchased a new sticky-note-like pad from a new local stationery store in Minneapolis. The sheets have a 10x10 grid and 2x10 grid. I knew what I wanted to...
Since Python 3.5 was released in 2015 including PEP 484 and the typing module type hints have grown from a nice-to-have to an expectation for popular packages. To fulfill this expectation our team...
Funding In total urllib3 received $26,615 USD in financial support and distributed $18,622 USD to maintainers and community contributors. We're thankful for the financial support we receive from o...
Some internet standards only support ASCII characters, but the world uses much more than the Latin alphabet. Thus, a mapping from Unicode to ASCII for use in domain names is required. NamePrep was...
What do you think about when writing a new function in Python? The function name, parameter names, optional/required parameters, and default arguments are all on the list. Here is a simple Python f...
This critical role would not be possible without funding from the OpenSSF Alpha-Omega Project. Massive thank-you to Alpha-Omega for investing in the security of the Python ecosystem! Python ...
LLM and AI companies seem to all be in a race to breathe the last breath of air in every room they stumble into. This practice started with larger websites, ones that already had protection from ma...
Announcing urllib3's bounty program The urllib3 team is excited to announce the start of our bounty program! We’ve recognized that one of the biggest challenges to shipping v2.0 is not having e...