Sign in

Quentin Pradet

@quentin.pradet.me
1.2K followers 164 following 152 posts

I like maintaining things: the Elasticsearch Python clients by day, urllib3 and trustme by night. I write about #Python, HTTP, async/await, open source and performance! he/him

PostsRepliesMedia
Reposted by Quentin Pradet
Seth Larson @sethmlarson.dev · 11h
I've just published 10 blog posts detailing the #Python Language Summit 2026. The Language Summit was held in Kraków, Poland and included discussions about free-threading, #Rust, garbage collectors, and type annotations. Please enjoy and thank you for your patience: blog.python.org/2026/09/lang...
Group photo of the attendees of the 2026 Python Language Summit. Notably, Larry Hastings is laying flat on the ground with his eyes closed.
1106
Reposted by Quentin Pradet
Marcelo Trylesinski @marcelotryle.bsky.social · 29/05/2026
Last week I published a security advisory for Starlette, and the project got hit with a wave of negative press. So I wrote down my perspective as the maintainer. marcelotryle.com/blog/2026/05...
marcelotryle.com
CVE-2026-48710: A Maintainer's Perspective - Marcelo Trylesinski
052
Reposted by Quentin Pradet
Loren @lorencrary.bsky.social · 27/10/2025
@sethmlarson.dev and I went through months of intense, complex work to climb a steep and slippery learning curve, only to be stopped short at the very end by a hard ethical line we couldn't cross—it was gut-wrenching. I'm proud of what we did and I'm proud of what we didn't do.
45714
Reposted by Quentin Pradet
Seth Larson @sethmlarson.dev · 01/10/2025
This post was 5 years in the making, @shazow.net and I made a bet about whether "six", the Python 2/3 compatibility shim, would still be a popular package in 2025: sethmlarson.dev/winning-a-be...
sethmlarson.dev
Winning a bet about “six”, the Python 2 compatibility shim
Exactly five years ago today Andrey Petrov and I made a bet about whether “six”, the compatibility shim for Python 2 and 3 APIs, would still be in the top 20 daily downloads on PyPI. I said it woul...
083
Reposted by Quentin Pradet
Cult.Repo @cultrepo.bsky.social · 29/08/2025
Our Python doc is officially out in the wild! 🐍 Thanks to everyone who joined the premiere 🙌 such a good vibe. Here’s the link so you can watch it on repeat youtu.be/GfH4QL4VqJ0
youtu.be
Python: The Documentary | An origin story
YouTube video by CultRepo (formerly Honeypot)
57735
Quentin Pradet @quentin.pradet.me · 12/08/2025
Since PyCon Africa is affected by the PSF Grants pause, I am hopeful that donation tickets can make a difference.
021
Quentin Pradet @quentin.pradet.me · 05/08/2025
Disqus showing ads on my blog was the last straw for me. I thought about storing comments on GitHub with utterances/giscus, but ended up on Commento. They have a generous free tier, don't track their users, and are trusted by Mozilla. Switching took only 10 minutes! commento.io
commento.io
Commento
Add comments to your website with Commento. It's fast, modern, and privacy-focused.
050
Quentin Pradet @quentin.pradet.me · 29/07/2025
I wrote this to share everything I know about building great SDKs! open.substack.com/pub/pragmati...
open.substack.com
Building great SDKs
A guide to creating SDKs that devs – and LLMs – will find a breeze to use, plus an overview of modern approaches for building and maintaining SDKs. By veteran SDK engineer, Quentin Pradet
170
Quentin Pradet @quentin.pradet.me · 16/06/2025
Exciting! Free-Threading builds are here to stay. The adoption has been incredibly fast so far. (urllib3 works with free-threading, but still need cryptography to add support before we can test it in CI.)
100
Quentin Pradet @quentin.pradet.me · 12/06/2025
This talk is incredible. In 30 minutes, a binary search implementation is sped up by 25x using profiling tools, including L1 cache and pipeline stall analysis. While the tools are Apple-specific, the concepts are general and apply everywhere. developer.apple.com/videos/play/...
developer.apple.com
Optimize CPU performance with Instruments - WWDC25 - Videos - Apple Developer
Learn how to optimize your app for Apple silicon with two new hardware-assisted tools in Instruments. We'll start by covering how to...
071
Quentin Pradet @quentin.pradet.me · 09/06/2025
In the past nine months, three companies (Speakeasy, Stainless, and Fern) have collectively raised $49M to bring SDK and docs generation to everyone. Why now? I have no idea. After all, this has nothing to do with AI, and OpenAPI Generator has been popular for years.
010
Quentin Pradet @quentin.pradet.me · 26/05/2025
It looks like mapping the new syntax to the Elasticsearch DSL, which natively supports nested queries and boolean operators, was the easy part. Elasticsearch has lots of features, yes, but it is to support advanced usages like this one!
010
Quentin Pradet @quentin.pradet.me · 25/05/2025
OpenAPI is incredibly popular and useful, but it is also flawed as a general-purpose API description tool. We hit many issues when using it to describe Elasticsearch APIs.
211
Quentin Pradet @quentin.pradet.me · 01/05/2025
AGPL continues to get more popular as companies want the open source label for their product! Elastic did the same thing last year.
031
Reposted by Quentin Pradet
Anthony Shaw @anthonypjshaw.bsky.social · 30/04/2025
Facebook are launching a new type checker written in rust. pyrefly.org
pyrefly.org
Pyrefly: A Static Type Checker for Python | Pyrefly
1121
Reposted by Quentin Pradet
Andrey Petrov @shazow.net · 15/04/2025
Thank you @americanexpress.bsky.social for sponsoring urllib3 and helping improve critical Python internet infrastructure. I know it takes a lot of activation energy for a large company to sponsor an amount like this, so I extra appreciate whoever did the leg work on this. 🙏
Screenshot: @urllib3 has a new $500.00 / month sponsor on GitHub Sponsors (@americanexpress)!
0204
Reposted by Quentin Pradet
Elastic @elastic.co · 18/02/2025
Elastic is now on BlueSky! Follow us here for the latest updates on all things search, observability, security and more.
1103
Reposted by Quentin Pradet
Brett Cannon @snarky.ca · 31/03/2025
PEP 751 has been accepted! peps.python.org/pep-0751/ This means #Python now has a lock file standard that can act as an export target for tools that can create some sort of lock file. And for some tools the format can act as their primary lock file format as well instead of some proprietary format.
peps.python.org
PEP 751 – A file format to record Python dependencies for installation reproducibility | peps.python.org
This PEP proposes a new file format for specifying dependencies to enable reproducible installation in a Python environment. The format is designed to be human-readable and machine-generated. Installe...
1213962
Reposted by Quentin Pradet
Sebastián Ramírez @tiangolo.com · 11/03/2025
Now I'm looking for someone with 7+ years of FastAPI experience 🤭 Jokes aside, I'm doing interesting new things and want some extra help full-time 🚀 I'm looking for tons of skills and knowledge in SRE / DevOps / Platform / Cloud / name-it ...and of course, FastAPI Email jobs@fastapilabs.com
2257
Reposted by Quentin Pradet
Seth Larson @sethmlarson.dev · 22/01/2025
It's here! The 2024 annual report for #urllib3, a relatively quiet year that included work on HTTP/2 and Web Assembly (WASM). $3,300 worth of bounty issues exist today! quentin.pradet.me/blog/urllib3...
quentin.pradet.me
urllib3 in 2024
1103
Reposted by Quentin Pradet
Adam Johnson @adamj.eu · 19/01/2025
#Git mini tip: Use '-' to refer to the previously checked-out branch with 'git switch' and 'git checkout'. It’s great for returning to a feature branch after pulling the main or toggling back and forth to compare.
'git switch -' switching to 'main', then back to 'more-goats'
3233
Quentin Pradet @quentin.pradet.me · 07/01/2025
Tidelift, @microsoft.com, LaunchDarkly, @sentry.io, @sourcegraph.com, Canva, and @codecov.bsky.social all supported urllib3 in 2024. Thank you!
170
Quentin Pradet @quentin.pradet.me · 04/01/2025
10 years ago, as part of my PhD, I launched a small PHP 5 application online. It's still up! Now using PHP 8. I intend to keep it online for a few more decades. Cool URIs don't change. Part of the trick is @alwaysdata.bsky.social, my hosting provider, which handles database and system upgrades.
190
Quentin Pradet @quentin.pradet.me · 22/12/2024
📦 urllib3 2.3.0 is now available! It supports the WebAssembly JSPI API (enabling experimental Node.js support) and adds `HTTPResponse.shutdown()` (thanks to LaunchDarkly for sponsoring this feature). github.com/urllib3/urll... Note that we're still raising funds for full HTTP/2 support!
github.com
Release 2.3.0 · urllib3/urllib3
🚀 urllib3 is fundraising for HTTP/2 support urllib3 is raising ~$40,000 USD to release HTTP/2 support and ensure long-term sustainable maintenance of the project after a sharp decline in financial ...
071
Quentin Pradet @quentin.pradet.me · 06/12/2024
@gergely.pragmaticengineer.com has this impressive page listing early trends he identified: blog.pragmaticengineer.com/early-trends/. Here's one more: GenAI tools are heavily subsidized (newsletter.pragmaticengineer.com/p/ide-that-s...), so we'll see more expensive subscriptions like ChatGPT Pro.
The only tool costing above $20/month is Augment Code, which charges $60/month, per developer. Assuming there’s a productivity boost from using this tool, even this lofty price tag would be a bargain.

As such, these prices feel heavily subsidized by vendors, who may be offering capabilities at a loss. Giving away GenAI functionality for free or at a low price, means vendors must fund the infrastructure powering these models from sources other than revenue.

There is a reasonable expectation that over time, the cost of generating tokens will decrease. However, right now, any engineer making heavy usage of code generation is likely getting good value for money, in terms of the compute required for code generation on larger codebases.
0145
Quentin Pradet @quentin.pradet.me · 04/12/2024
What this also means is that urllib3 works great with free-threaded Python! 🎉 I am sure it will expose some subtle concurrency bugs that exist already. But before we can have CI, we need cryptography wheels as we use it to generate test certificates.
151
Reposted by Quentin Pradet
David Pilato 🇪🇺🇫🇷 @pilato.fr · 04/12/2024
📣 @quentin.pradet.me wrote 'Does the #Elasticsearch #Python client works with free-threaded Python (no-GIL)?' for the @elastic #AdventCalendar ▶️ discuss.elastic.co/t/370392. 🎅🏼🎄🎁
082
Quentin Pradet @quentin.pradet.me · 30/11/2024
Trying #Python 3.13 free-threading builds with uv is as easy as specifying `--python 3.13t`. If you don't have such an interpreter available, uv will download a standalone build for you! The full list of options to install 3.13t builds is here: py-free-threading.github.io/installing_c...
$ uv run --python 3.13t python
Using CPython 3.13.0
Creating virtual environment at: .venv
Installed 4 packages in 16ms
Python 3.13.0 experimental free-threading build (main, Oct 16 2024, 08:24:33) [Clang 18.1.8 ] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
39713
Quentin Pradet @quentin.pradet.me · 25/11/2024
I really enjoyed this talk and the fun anecdotes around #Python packaging! The highlight for me was @burntsushi.net making `uv pip compile` 3x faster by representing most versions as a single u64 integer, making comparisons much cheaper.
050
Quentin Pradet @quentin.pradet.me · 18/11/2024
Time flies: urllib3 is fully type annotated since 2021! sethmlarson.dev/tests-arent-... Since then, maintaining the types has been easy despite our growth. And they kept paying dividends, just like our decision of enforcing 100% coverage. #Python #SoftwareEngineering
sethmlarson.dev
Tests aren’t enough: Case study after adding type hints to urllib3
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...
372
Reposted by Quentin Pradet
Iulia Feroli @iuliaferoli.com · 18/11/2024
Our #elastic community is growing on bsky 🫎🔎 💙🩵🩷💚💛
113
Quentin Pradet @quentin.pradet.me · 17/11/2024
I can highly recommend following @gergely.pragmaticengineer.com for the useful software engineering insights and info on the latest industry trends!
040
Quentin Pradet @quentin.pradet.me · 15/11/2024
If anyone has a reason to hype up language interfaces and LLMs, it’s @inesmontani.bsky.social—founder of Explosion, the company behind the Python NLP tools spaCy and Prodigy. But her take? Sometimes, a simple form does the job better. Let’s build more alarm clocks and less automated window knockers!
073
Reposted by Quentin Pradet
Armin Ronacher @mitsuhiko.at · 12/11/2024
Happy to say that this year we're up to 750k USD in paying Open Source maintainers. blog.sentry.io/we-just-gave...
blog.sentry.io
We Just Gave $750,000 to Open Source Maintainers
In honor of the 4th year of our Open Source Pledge, we’re excited to continue driving this important conversation. See what we’ve accomplished in 2024 here.
210213
Quentin Pradet @quentin.pradet.me · 07/11/2024
This is your periodic reminder that you should use trustme for your test TLS certificates. They're compatible with all major operating systems while passing all the checks introduced by the `VERIFY_X509_STRICT` validation that was enabled in Python 3.13! trustme.readthedocs.io/en/latest/
trustme.readthedocs.io
trustme: #1 quality TLS certs while you wait — trustme 1.2.0+dev documentation
052
Reposted by Quentin Pradet
Savannah Ostrowski @savannah.dev · 02/11/2024
go.bsky.app/LAkKWpR If you’re a Python person, wave frantically so I can add you to my Python starter pack!
21423182