<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><description>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</description><link>https://bsky.app/profile/quentin.pradet.me</link><title>@quentin.pradet.me - Quentin Pradet</title><item><link>https://bsky.app/profile/quentin.pradet.me/post/3lw6ywqwmn22e</link><description>Since PyCon Africa is affected by the PSF Grants pause, I am hopeful that donation tickets can make a difference.&#xA;&#xA;[contains quote post or other embedded content]</description><pubDate>12 Aug 2025 09:32 +0000</pubDate><guid isPermaLink="false">at://did:plc:exqluv56liuk3k6plbiejvey/app.bsky.feed.post/3lw6ywqwmn22e</guid></item><item><link>https://bsky.app/profile/quentin.pradet.me/post/3lvnker5a4s2j</link><description>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&#39;t track their users, and are trusted by Mozilla. Switching took only 10 minutes!&#xA;&#xA;commento.io&#xA;https://commento.io/</description><pubDate>05 Aug 2025 10:57 +0000</pubDate><guid isPermaLink="false">at://did:plc:exqluv56liuk3k6plbiejvey/app.bsky.feed.post/3lvnker5a4s2j</guid></item><item><link>https://bsky.app/profile/quentin.pradet.me/post/3lv4fwv45b22q</link><description>I wrote this to share everything I know about building great SDKs! https://open.substack.com/pub/pragmaticengineer/p/building-great-sdks&#xA;https://open.substack.com/pub/pragmaticengineer/p/building-great-sdks?r=aunqp&amp;utm_medium=ios</description><pubDate>29 Jul 2025 15:22 +0000</pubDate><guid isPermaLink="false">at://did:plc:exqluv56liuk3k6plbiejvey/app.bsky.feed.post/3lv4fwv45b22q</guid></item><item><link>https://bsky.app/profile/quentin.pradet.me/post/3lrp4pzsr5222</link><description>Exciting! Free-Threading builds are here to stay. The adoption has been incredibly fast so far.&#xA;&#xA;(urllib3 works with free-threading, but still need cryptography to add support before we can test it in CI.)&#xA;&#xA;[contains quote post or other embedded content]</description><pubDate>16 Jun 2025 04:17 +0000</pubDate><guid isPermaLink="false">at://did:plc:exqluv56liuk3k6plbiejvey/app.bsky.feed.post/3lrp4pzsr5222</guid></item><item><link>https://bsky.app/profile/quentin.pradet.me/post/3lrghyak6ic2i</link><description>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.&#xA;&#xA;https://developer.apple.com/videos/play/wwdc2025/308/</description><pubDate>12 Jun 2025 17:44 +0000</pubDate><guid isPermaLink="false">at://did:plc:exqluv56liuk3k6plbiejvey/app.bsky.feed.post/3lrghyak6ic2i</guid></item><item><link>https://bsky.app/profile/quentin.pradet.me/post/3lr755gxo5k2p</link><description>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.</description><pubDate>09 Jun 2025 19:42 +0000</pubDate><guid isPermaLink="false">at://did:plc:exqluv56liuk3k6plbiejvey/app.bsky.feed.post/3lr755gxo5k2p</guid></item><item><link>https://bsky.app/profile/quentin.pradet.me/post/3lq24vy4sic2s</link><description>It looks like mapping the new syntax to the Elasticsearch DSL, which natively supports nested queries and boolean operators, was the easy part.&#xA;&#xA;Elasticsearch has lots of features, yes, but it is to support advanced usages like this one!&#xA;&#xA;[contains quote post or other embedded content]</description><pubDate>26 May 2025 02:29 +0000</pubDate><guid isPermaLink="false">at://did:plc:exqluv56liuk3k6plbiejvey/app.bsky.feed.post/3lq24vy4sic2s</guid></item><item><link>https://bsky.app/profile/quentin.pradet.me/post/3lpzcbottmk2s</link><description>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.</description><pubDate>25 May 2025 18:32 +0000</pubDate><guid isPermaLink="false">at://did:plc:exqluv56liuk3k6plbiejvey/app.bsky.feed.post/3lpzcbottmk2s</guid></item><item><link>https://bsky.app/profile/quentin.pradet.me/post/3lo4snfdejs22</link><description>AGPL continues to get more popular as companies want the &#xA;open source label for their product! Elastic did the same thing last year.&#xA;&#xA;[contains quote post or other embedded content]</description><pubDate>01 May 2025 17:13 +0000</pubDate><guid isPermaLink="false">at://did:plc:exqluv56liuk3k6plbiejvey/app.bsky.feed.post/3lo4snfdejs22</guid></item><item><link>https://bsky.app/profile/quentin.pradet.me/post/3lf6ii3avtc2s</link><description>Tidelift, @microsoft.com, LaunchDarkly, @sentry.io, @sourcegraph.com, Canva, and @codecov.bsky.social all supported urllib3 in 2024. Thank you!</description><pubDate>07 Jan 2025 20:30 +0000</pubDate><guid isPermaLink="false">at://did:plc:exqluv56liuk3k6plbiejvey/app.bsky.feed.post/3lf6ii3avtc2s</guid></item><item><link>https://bsky.app/profile/quentin.pradet.me/post/3levehclshs2a</link><description>10 years ago, as part of my PhD, I launched a small PHP 5 application online. It&#39;s still up! Now using PHP 8. I intend to keep it online for a few more decades. Cool URIs don&#39;t change.&#xA;&#xA;Part of the trick is @alwaysdata.bsky.social, my hosting provider, which handles database and system upgrades.</description><pubDate>04 Jan 2025 05:24 +0000</pubDate><guid isPermaLink="false">at://did:plc:exqluv56liuk3k6plbiejvey/app.bsky.feed.post/3levehclshs2a</guid></item><item><link>https://bsky.app/profile/quentin.pradet.me/post/3ldux6k3ui22f</link><description>📦 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).&#xA;&#xA;https://github.com/urllib3/urllib3/releases/tag/2.3.0&#xA;&#xA;Note that we&#39;re still raising funds for full HTTP/2 support!</description><pubDate>22 Dec 2024 08:01 +0000</pubDate><guid isPermaLink="false">at://did:plc:exqluv56liuk3k6plbiejvey/app.bsky.feed.post/3ldux6k3ui22f</guid></item><item><link>https://bsky.app/profile/quentin.pradet.me/post/3lcna62h5dk2r</link><description>@gergely.pragmaticengineer.com has this impressive page listing early trends he identified: blog.pragmaticengineer.com/early-trends/.&#xA;&#xA;Here&#39;s one more: GenAI tools are heavily subsidized (https://newsletter.pragmaticengineer.com/p/ide-that-software-engineers-love), so we&#39;ll see more expensive subscriptions like ChatGPT Pro.</description><pubDate>06 Dec 2024 12:55 +0000</pubDate><guid isPermaLink="false">at://did:plc:exqluv56liuk3k6plbiejvey/app.bsky.feed.post/3lcna62h5dk2r</guid></item><item><link>https://bsky.app/profile/quentin.pradet.me/post/3lcikybcvwc2c</link><description>What this also means is that urllib3 works great with free-threaded Python! 🎉&#xA;&#xA;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.&#xA;&#xA;[contains quote post or other embedded content]</description><pubDate>04 Dec 2024 16:25 +0000</pubDate><guid isPermaLink="false">at://did:plc:exqluv56liuk3k6plbiejvey/app.bsky.feed.post/3lcikybcvwc2c</guid></item><item><link>https://bsky.app/profile/quentin.pradet.me/post/3lc5flcpeks2l</link><description>Trying #Python 3.13 free-threading builds with uv is as easy as specifying `--python 3.13t`. If you don&#39;t have such an interpreter available, uv will download a standalone build for you!&#xA;&#xA;The full list of options to install 3.13t builds is here: https://py-free-threading.github.io/installing_cpython/</description><pubDate>30 Nov 2024 05:49 +0000</pubDate><guid isPermaLink="false">at://did:plc:exqluv56liuk3k6plbiejvey/app.bsky.feed.post/3lc5flcpeks2l</guid></item><item><link>https://bsky.app/profile/quentin.pradet.me/post/3lbrekjwsik2g</link><description>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.&#xA;&#xA;[contains quote post or other embedded content]</description><pubDate>25 Nov 2024 10:59 +0000</pubDate><guid isPermaLink="false">at://did:plc:exqluv56liuk3k6plbiejvey/app.bsky.feed.post/3lbrekjwsik2g</guid></item><item><link>https://bsky.app/profile/quentin.pradet.me/post/3lbai6k55r22b</link><description>Time flies: urllib3 is fully type annotated since 2021! https://sethmlarson.dev/tests-arent-enough-case-study-after-adding-types-to-urllib3&#xA;&#xA;Since then, maintaining the types has been easy despite our growth. And they kept paying dividends, just like our decision of enforcing 100% coverage.&#xA;&#xA;#Python #SoftwareEngineering</description><pubDate>18 Nov 2024 17:49 +0000</pubDate><guid isPermaLink="false">at://did:plc:exqluv56liuk3k6plbiejvey/app.bsky.feed.post/3lbai6k55r22b</guid></item><item><link>https://bsky.app/profile/quentin.pradet.me/post/3lb5noi4jhs2m</link><description>I can highly recommend following @gergely.pragmaticengineer.com for the useful software engineering insights and info on the latest industry trends!&#xA;&#xA;[contains quote post or other embedded content]</description><pubDate>17 Nov 2024 14:49 +0000</pubDate><guid isPermaLink="false">at://did:plc:exqluv56liuk3k6plbiejvey/app.bsky.feed.post/3lb5noi4jhs2m</guid></item></channel></rss>