<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News - Newest: &#34;python&#34;</title><link>https://news.ycombinator.com/newest</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 24 May 2026 14:32:15 +0000</lastBuildDate><atom:link href="https://hnrss.org/newest?q=python" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[Show HN: Fleet – Python supervisor for running coding agents in parallel]]></title><description><![CDATA[
<p>AMD submitted a bug on the Claude Code repo where they complained about coding quality and described that they are running a fleet of 50+ Claude Code sessions using beads — <a href="https://github.com/anthropics/claude-code/issues/42796" rel="nofollow">https://github.com/anthropics/claude-code/issues/42796</a>. This was pretty exciting; I was curious how it could be done. It turned out to be simpler than it looks.<p>First I created a simple multi-session implementation using beads and a bit of bash only — <a href="https://news.ycombinator.com/item?id=48204719">https://news.ycombinator.com/item?id=48204719</a>. A bash loop monitors the beads queue, claims a task, and passes it into claude -p.<p>This worked fine, and I decided to make the implementation more capable, so I created fleet — a Python supervisor for running coding agents in parallel: <a href="https://github.com/sermakarevich/fleet" rel="nofollow">https://github.com/sermakarevich/fleet</a>.<p>A few core ideas:<p>- The beads DB is centralized — it lives in ~/.fleet. No need to init it in every project where you want to run agents. fleet bd create records the cwd where the task was created, and the agent is spawned in that same location. beads is a git-backed issue tracker that gives agents a shared queue of tasks with dependencies, statuses, and priorities — so multiple sessions can claim, work on, and hand off tasks without stepping on each other.<p>- fleet supports 3 coders: claude, agy (Antigravity), and codex, and adding a new one is a matter of minutes. I tested claude extensively, agy briefly, and I don't have a subscription for codex — so it's implemented but not tested yet.<p>- fleet can spawn as many coding agents as you like. fleet config set max_concurrent=10 and keep adding tasks with fleet bd create --title "..." --description "...", or with a specific coder/model per task: fleet bd create --coder agy --model opus --title "..." --description "...". When I started, 3 parallel coding sessions were enough for me; now I can manage 10+. The reason for max_concurrent=3 default is to not hit session limits.<p>- fleet has few useful cli command to help with navigation:<p>-- fleet tasks - display tasks in progress, what coder is used, what context consumption is<p>-- fleet task <task-id> log | plan | knowledge<p>-- fleet config show | set<p>This works nicely for me. fleet also pairs well with a spec-driven approach: <a href="https://news.ycombinator.com/item?id=48231575">https://news.ycombinator.com/item?id=48231575</a>. Tokens are the bottleneck now — I have a few Claude subscriptions and rotate between them when one is exhausted. I also cleaned up all my plugins, skills, and CLAUDE.md files to stop polluting the context — I found that some plugins were installed multiple times and loading the same skills twice, doubling their token cost.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48256389">https://news.ycombinator.com/item?id=48256389</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Sun, 24 May 2026 11:21:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=48256389</link><dc:creator>sermakarevich</dc:creator><comments>https://news.ycombinator.com/item?id=48256389</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48256389</guid></item><item><title><![CDATA[Python Streaming JSON Formatter That Works with Existing Serializers]]></title><description><![CDATA[
<p>Article URL: <a href="https://medium.com/@yair.lenga/a-streaming-json-formatter-that-works-with-existing-serializers-eced220da37d">https://medium.com/@yair.lenga/a-streaming-json-formatter-that-works-with-existing-serializers-eced220da37d</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48255982">https://news.ycombinator.com/item?id=48255982</a></p>
<p>Points: 1</p>
<p># Comments: 1</p>
]]></description><pubDate>Sun, 24 May 2026 09:58:37 +0000</pubDate><link>https://medium.com/@yair.lenga/a-streaming-json-formatter-that-works-with-existing-serializers-eced220da37d</link><dc:creator>yairlenga</dc:creator><comments>https://news.ycombinator.com/item?id=48255982</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48255982</guid></item><item><title><![CDATA[From source code 2 LLM constraints:a semantic extractor for Python, SwiftUI, Lua]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/whitecell-dev/Semantic-Extractor/tree/main">https://github.com/whitecell-dev/Semantic-Extractor/tree/main</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48255601">https://news.ycombinator.com/item?id=48255601</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Sun, 24 May 2026 08:31:38 +0000</pubDate><link>https://github.com/whitecell-dev/Semantic-Extractor/tree/main</link><dc:creator>MaykonMan</dc:creator><comments>https://news.ycombinator.com/item?id=48255601</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48255601</guid></item><item><title><![CDATA[A maintainability ratchet for AI-assisted Python]]></title><description><![CDATA[
<p>Article URL: <a href="https://kayhan.dev/posts/014-letting-agents-write-code-without-ratcheting-up-risk/">https://kayhan.dev/posts/014-letting-agents-write-code-without-ratcheting-up-risk/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48255553">https://news.ycombinator.com/item?id=48255553</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Sun, 24 May 2026 08:23:11 +0000</pubDate><link>https://kayhan.dev/posts/014-letting-agents-write-code-without-ratcheting-up-risk/</link><dc:creator>keynha</dc:creator><comments>https://news.ycombinator.com/item?id=48255553</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48255553</guid></item><item><title><![CDATA[Python 1.0.0 is out (1994)]]></title><description><![CDATA[
<p>Article URL: <a href="https://groups.google.com/g/comp.lang.misc/c/_QUzdEGFwCo">https://groups.google.com/g/comp.lang.misc/c/_QUzdEGFwCo</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48250848">https://news.ycombinator.com/item?id=48250848</a></p>
<p>Points: 4</p>
<p># Comments: 1</p>
]]></description><pubDate>Sat, 23 May 2026 19:54:36 +0000</pubDate><link>https://groups.google.com/g/comp.lang.misc/c/_QUzdEGFwCo</link><dc:creator>downbad_</dc:creator><comments>https://news.ycombinator.com/item?id=48250848</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48250848</guid></item><item><title><![CDATA[Marimo: A Reactive Python Notebook]]></title><description><![CDATA[
<p>Article URL: <a href="https://marimo.io">https://marimo.io</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48250452">https://news.ycombinator.com/item?id=48250452</a></p>
<p>Points: 4</p>
<p># Comments: 0</p>
]]></description><pubDate>Sat, 23 May 2026 19:17:18 +0000</pubDate><link>https://marimo.io</link><dc:creator>pmaddams</dc:creator><comments>https://news.ycombinator.com/item?id=48250452</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48250452</guid></item><item><title><![CDATA[Opaque Types in Python]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.glyph.im/2026/05/opaque-types-in-python.html">https://blog.glyph.im/2026/05/opaque-types-in-python.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48247416">https://news.ycombinator.com/item?id=48247416</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Sat, 23 May 2026 13:17:39 +0000</pubDate><link>https://blog.glyph.im/2026/05/opaque-types-in-python.html</link><dc:creator>lumpa</dc:creator><comments>https://news.ycombinator.com/item?id=48247416</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48247416</guid></item><item><title><![CDATA[Python Articles]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.pythonmorsels.com/articles/">https://www.pythonmorsels.com/articles/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48247132">https://news.ycombinator.com/item?id=48247132</a></p>
<p>Points: 6</p>
<p># Comments: 0</p>
]]></description><pubDate>Sat, 23 May 2026 12:35:54 +0000</pubDate><link>https://www.pythonmorsels.com/articles/</link><dc:creator>slow_typist</dc:creator><comments>https://news.ycombinator.com/item?id=48247132</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48247132</guid></item><item><title><![CDATA[Show HN: Mercury v3 – Convert Python Notebooks to Web Apps]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/mljar/mercury">https://github.com/mljar/mercury</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48236428">https://news.ycombinator.com/item?id=48236428</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 22 May 2026 14:32:03 +0000</pubDate><link>https://github.com/mljar/mercury</link><dc:creator>pplonski86</dc:creator><comments>https://news.ycombinator.com/item?id=48236428</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48236428</guid></item><item><title><![CDATA[Building Context-Aware Search in Python with LLM Embeddings and Metadata]]></title><description><![CDATA[
<p>Article URL: <a href="https://machinelearningmastery.com/building-context-aware-search-in-python-with-llm-embeddings-metadata/">https://machinelearningmastery.com/building-context-aware-search-in-python-with-llm-embeddings-metadata/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48235888">https://news.ycombinator.com/item?id=48235888</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 22 May 2026 13:52:44 +0000</pubDate><link>https://machinelearningmastery.com/building-context-aware-search-in-python-with-llm-embeddings-metadata/</link><dc:creator>eigenBasis</dc:creator><comments>https://news.ycombinator.com/item?id=48235888</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48235888</guid></item><item><title><![CDATA[Show HN: Stainless replacement – paste OpenAPI, get TS/Python/Go SDK ZIP in 1.5s]]></title><description><![CDATA[
<p>Article URL: <a href="https://sdk-gen-mvp.vercel.app">https://sdk-gen-mvp.vercel.app</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48233412">https://news.ycombinator.com/item?id=48233412</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 22 May 2026 08:35:53 +0000</pubDate><link>https://sdk-gen-mvp.vercel.app</link><dc:creator>ianymu</dc:creator><comments>https://news.ycombinator.com/item?id=48233412</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48233412</guid></item><item><title><![CDATA[Opaque Types in Python]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.glyph.im/2026/05/opaque-types-in-python.html">https://blog.glyph.im/2026/05/opaque-types-in-python.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48233410">https://news.ycombinator.com/item?id=48233410</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 22 May 2026 08:35:37 +0000</pubDate><link>https://blog.glyph.im/2026/05/opaque-types-in-python.html</link><dc:creator>ingve</dc:creator><comments>https://news.ycombinator.com/item?id=48233410</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48233410</guid></item><item><title><![CDATA[Bytewax: Stream processing library built using Python and Rust]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/bytewax/bytewax">https://github.com/bytewax/bytewax</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48233186">https://news.ycombinator.com/item?id=48233186</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 22 May 2026 07:54:18 +0000</pubDate><link>https://github.com/bytewax/bytewax</link><dc:creator>rzk</dc:creator><comments>https://news.ycombinator.com/item?id=48233186</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48233186</guid></item><item><title><![CDATA[Check DNS bind configuration with Sparrow and Python]]></title><description><![CDATA[
<p>Article URL: <a href="https://sparky.sparrowhub.io/report/scc/29082#Report/">https://sparky.sparrowhub.io/report/scc/29082#Report/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48232693">https://news.ycombinator.com/item?id=48232693</a></p>
<p>Points: 1</p>
<p># Comments: 1</p>
]]></description><pubDate>Fri, 22 May 2026 06:32:24 +0000</pubDate><link>https://sparky.sparrowhub.io/report/scc/29082#Report/</link><dc:creator>melezhik</dc:creator><comments>https://news.ycombinator.com/item?id=48232693</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48232693</guid></item><item><title><![CDATA[PopPy: Opportunistically Exploiting Parallelism in Python Compound AI Apps]]></title><description><![CDATA[
<p>Article URL: <a href="https://arxiv.org/abs/2605.18697">https://arxiv.org/abs/2605.18697</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48232340">https://news.ycombinator.com/item?id=48232340</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 22 May 2026 05:27:34 +0000</pubDate><link>https://arxiv.org/abs/2605.18697</link><dc:creator>matt_d</dc:creator><comments>https://news.ycombinator.com/item?id=48232340</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48232340</guid></item><item><title><![CDATA[Erlang_Python – Combine Python's ML/AI Ecosystem with Erlang's Concurrency]]></title><description><![CDATA[
<p>Article URL: <a href="https://hexdocs.pm/erlang_python/readme.html">https://hexdocs.pm/erlang_python/readme.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48229798">https://news.ycombinator.com/item?id=48229798</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 21 May 2026 22:52:14 +0000</pubDate><link>https://hexdocs.pm/erlang_python/readme.html</link><dc:creator>rzk</dc:creator><comments>https://news.ycombinator.com/item?id=48229798</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48229798</guid></item><item><title><![CDATA[Show HN: Filorithm – Expressive eDSL for File and Folder Management in Python]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/ghetea-patrick/filorithm">https://github.com/ghetea-patrick/filorithm</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48226690">https://news.ycombinator.com/item?id=48226690</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 21 May 2026 18:03:10 +0000</pubDate><link>https://github.com/ghetea-patrick/filorithm</link><dc:creator>patrick-ghetea</dc:creator><comments>https://news.ycombinator.com/item?id=48226690</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48226690</guid></item><item><title><![CDATA[Python 3.15: features that didn't make the headlines]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.changs.co.uk/python-315-features-that-didnt-make-the-headlines.html">https://blog.changs.co.uk/python-315-features-that-didnt-make-the-headlines.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48220696">https://news.ycombinator.com/item?id=48220696</a></p>
<p>Points: 426</p>
<p># Comments: 217</p>
]]></description><pubDate>Thu, 21 May 2026 11:10:11 +0000</pubDate><link>https://blog.changs.co.uk/python-315-features-that-didnt-make-the-headlines.html</link><dc:creator>rbanffy</dc:creator><comments>https://news.ycombinator.com/item?id=48220696</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48220696</guid></item><item><title><![CDATA[Python is weird – Maciej Kowalski]]></title><description><![CDATA[
<p>Article URL: <a href="https://kowal.dev/blog/python-is-weird">https://kowal.dev/blog/python-is-weird</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48220622">https://news.ycombinator.com/item?id=48220622</a></p>
<p>Points: 2</p>
<p># Comments: 1</p>
]]></description><pubDate>Thu, 21 May 2026 11:00:40 +0000</pubDate><link>https://kowal.dev/blog/python-is-weird</link><dc:creator>rbanffy</dc:creator><comments>https://news.ycombinator.com/item?id=48220622</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48220622</guid></item><item><title><![CDATA[Async Python client for private DeepSeek API]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/boykopovar/aiodeepseek">https://github.com/boykopovar/aiodeepseek</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48220405">https://news.ycombinator.com/item?id=48220405</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 21 May 2026 10:32:42 +0000</pubDate><link>https://github.com/boykopovar/aiodeepseek</link><dc:creator>boykopovar</dc:creator><comments>https://news.ycombinator.com/item?id=48220405</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48220405</guid></item></channel></rss>