<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, 14 Jun 2026 04:07:26 +0000</lastBuildDate><atom:link href="https://hnrss.org/newest?q=python" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[Python 3.14 garbage collection rigamarole]]></title><description><![CDATA[
<p>Article URL: <a href="https://theconsensus.dev/p/2026/06/06/python-3-14-garbage-collection-rigamarole.html">https://theconsensus.dev/p/2026/06/06/python-3-14-garbage-collection-rigamarole.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48518385">https://news.ycombinator.com/item?id=48518385</a></p>
<p>Points: 4</p>
<p># Comments: 0</p>
]]></description><pubDate>Sat, 13 Jun 2026 15:43:17 +0000</pubDate><link>https://theconsensus.dev/p/2026/06/06/python-3-14-garbage-collection-rigamarole.html</link><dc:creator>azhenley</dc:creator><comments>https://news.ycombinator.com/item?id=48518385</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48518385</guid></item><item><title><![CDATA[Zero Trust for Python Security: A Practical Checklist]]></title><description><![CDATA[
<p>Article URL: <a href="https://medium.com/@maikelmardjan/zero-trust-for-python-security-a-practical-checklist-fab2f50c12c0">https://medium.com/@maikelmardjan/zero-trust-for-python-security-a-practical-checklist-fab2f50c12c0</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48517578">https://news.ycombinator.com/item?id=48517578</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Sat, 13 Jun 2026 14:14:28 +0000</pubDate><link>https://medium.com/@maikelmardjan/zero-trust-for-python-security-a-practical-checklist-fab2f50c12c0</link><dc:creator>runningmike</dc:creator><comments>https://news.ycombinator.com/item?id=48517578</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48517578</guid></item><item><title><![CDATA[Zero Install: The future of FOSS Python static application security testing]]></title><description><![CDATA[
<p>Article URL: <a href="https://nocomplexity.substack.com/p/zero-install-the-future-of-foss-python">https://nocomplexity.substack.com/p/zero-install-the-future-of-foss-python</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48509839">https://news.ycombinator.com/item?id=48509839</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 12 Jun 2026 21:49:20 +0000</pubDate><link>https://nocomplexity.substack.com/p/zero-install-the-future-of-foss-python</link><dc:creator>runningmike</dc:creator><comments>https://news.ycombinator.com/item?id=48509839</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48509839</guid></item><item><title><![CDATA[Show HN: Montmark – A lightweight, fast pure-Python Markdown parser]]></title><description><![CDATA[
<p>Hi HN!<p>This is a pet project that is still a little bit rough around the edges, but I would love to hear some feedback.<p>I write this code by hand, out of love for Markdown and for the joy of solving every CommonMark test case like a puzzle.<p>Cheers</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48509573">https://news.ycombinator.com/item?id=48509573</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 12 Jun 2026 21:22:02 +0000</pubDate><link>https://github.com/desgeeko/montmark</link><dc:creator>desgeeko</dc:creator><comments>https://news.ycombinator.com/item?id=48509573</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48509573</guid></item><item><title><![CDATA[Show HN: Modern AWS SDK for Python]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/kap-sh/aws-sdk-python">https://github.com/kap-sh/aws-sdk-python</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48504031">https://news.ycombinator.com/item?id=48504031</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 12 Jun 2026 13:48:53 +0000</pubDate><link>https://github.com/kap-sh/aws-sdk-python</link><dc:creator>karpetrosyan</dc:creator><comments>https://news.ycombinator.com/item?id=48504031</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48504031</guid></item><item><title><![CDATA[Please Switch to Python. Or R. Or Anything. Just Not Stata, SAS, SPSS, or Matlab]]></title><description><![CDATA[
<p>Article URL: <a href="https://presentofcoding.substack.com/p/please-switch-to-python">https://presentofcoding.substack.com/p/please-switch-to-python</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48503020">https://news.ycombinator.com/item?id=48503020</a></p>
<p>Points: 12</p>
<p># Comments: 5</p>
]]></description><pubDate>Fri, 12 Jun 2026 12:00:40 +0000</pubDate><link>https://presentofcoding.substack.com/p/please-switch-to-python</link><dc:creator>heterodoxjedi</dc:creator><comments>https://news.ycombinator.com/item?id=48503020</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48503020</guid></item><item><title><![CDATA[Python 3.14 garbage collection rigamarole]]></title><description><![CDATA[
<p>Article URL: <a href="https://theconsensus.dev/p/2026/06/06/python-3-14-garbage-collection-rigamarole.html">https://theconsensus.dev/p/2026/06/06/python-3-14-garbage-collection-rigamarole.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48503009">https://news.ycombinator.com/item?id=48503009</a></p>
<p>Points: 15</p>
<p># Comments: 9</p>
]]></description><pubDate>Fri, 12 Jun 2026 11:59:40 +0000</pubDate><link>https://theconsensus.dev/p/2026/06/06/python-3-14-garbage-collection-rigamarole.html</link><dc:creator>eatonphil</dc:creator><comments>https://news.ycombinator.com/item?id=48503009</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48503009</guid></item><item><title><![CDATA[Genblaze: Open-Source Python SDK for Multi-Provider Generative Media Pipelines]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.backblaze.com/blog/introducing-genblaze-a-python-sdk-for-generative-media-pipelines/">https://www.backblaze.com/blog/introducing-genblaze-a-python-sdk-for-generative-media-pipelines/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48501641">https://news.ycombinator.com/item?id=48501641</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 12 Jun 2026 08:59:01 +0000</pubDate><link>https://www.backblaze.com/blog/introducing-genblaze-a-python-sdk-for-generative-media-pipelines/</link><dc:creator>LaSombra</dc:creator><comments>https://news.ycombinator.com/item?id=48501641</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48501641</guid></item><item><title><![CDATA[Show HN: MicroECS – entity component system library in Python/NumPy]]></title><description><![CDATA[
<p>Hi, in the last ~month I've learned a lot about ECS [1,2].<p>I'm currently developing a robotics simulator from scratch (python+raylib) and, due to lack of game dev experience I went "full OOP" on it. A SceneObject with a lot of inherited interfaces (e.g. Collidable, Movable etc.). These are inherited and fixed at run time.<p>The main loop inevitably became:<p><pre><code>  for scene_object in sim.scene_objects:
    scene_object.update(...)
  for scene_object in sim.scene_objects:
    scene_object.draw(...)
</code></pre>
Well, it turns out that this can become a bottleneck if you have many scene objects because computers love contiguous memory for caching, physics/math vectorization and so on.<p>Having recently learned more about ECS[1,2], I started doing a bunch of experiments in a sandbox with turning the update() function into ECS. The idea is that the data is stored in columnar numpy arrays (components) + a lot of data structure optimizations for querying scene objects and fast access e.g.<p><pre><code>  qr = scene.query(HasMotion, HasPosition) # query result acting like a np array of (N, ...) shape
  qr.position += ... # operate like numpy / vectorized
</code></pre>
In any case, the standalone library only needs python and numpy. Raylib is only for rendering, but the raw data structures don't need it.<p>I'd love some feedback on it, e.g. what is it missing or what are gotchas I'll find out later on during the simulator development.<p>As an anecdote: I used Claude as an 'engineering manager', I wrote the code myself, it did the code review, tasks management and tests (super useful for corner cases).<p>[1] <a href="https://www.youtube.com/watch?v=qglU107_DA4" rel="nofollow">https://www.youtube.com/watch?v=qglU107_DA4</a> hytale's ECS video (great for beginners)<p>[2] Casey Muratori's latest video about the first ECS in the game industry (<a href="https://www.youtube.com/watch?v=73Do0OScoOU" rel="nofollow">https://www.youtube.com/watch?v=73Do0OScoOU</a>)</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48500561">https://news.ycombinator.com/item?id=48500561</a></p>
<p>Points: 4</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 12 Jun 2026 06:21:24 +0000</pubDate><link>https://github.com/Meehai/microecs</link><dc:creator>meehai</dc:creator><comments>https://news.ycombinator.com/item?id=48500561</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48500561</guid></item><item><title><![CDATA[Financial Model in Python – Tootsie Roll]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/Orcaset/orcaset-py/tree/main/examples/tr">https://github.com/Orcaset/orcaset-py/tree/main/examples/tr</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48496843">https://news.ycombinator.com/item?id=48496843</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 11 Jun 2026 21:43:24 +0000</pubDate><link>https://github.com/Orcaset/orcaset-py/tree/main/examples/tr</link><dc:creator>jrdnocs</dc:creator><comments>https://news.ycombinator.com/item?id=48496843</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48496843</guid></item><item><title><![CDATA[Genblaze: Python SDK for Generative Media Pipelines]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.backblaze.com/blog/introducing-genblaze-a-python-sdk-for-generative-media-pipelines/">https://www.backblaze.com/blog/introducing-genblaze-a-python-sdk-for-generative-media-pipelines/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48496359">https://news.ycombinator.com/item?id=48496359</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 11 Jun 2026 21:02:13 +0000</pubDate><link>https://www.backblaze.com/blog/introducing-genblaze-a-python-sdk-for-generative-media-pipelines/</link><dc:creator>ingve</dc:creator><comments>https://news.ycombinator.com/item?id=48496359</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48496359</guid></item><item><title><![CDATA[Show HN: NalityAI – desktop voice assistant with 9 personalities built in Python]]></title><description><![CDATA[
<p>Article URL: <a href="https://nalityai.com/">https://nalityai.com/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48496085">https://news.ycombinator.com/item?id=48496085</a></p>
<p>Points: 1</p>
<p># Comments: 1</p>
]]></description><pubDate>Thu, 11 Jun 2026 20:38:23 +0000</pubDate><link>https://nalityai.com/</link><dc:creator>Lashaga</dc:creator><comments>https://news.ycombinator.com/item?id=48496085</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48496085</guid></item><item><title><![CDATA[NeuroMemor –- open source Python AI]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/erabytse/NeuroMemor">https://github.com/erabytse/NeuroMemor</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48493020">https://news.ycombinator.com/item?id=48493020</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 11 Jun 2026 17:02:22 +0000</pubDate><link>https://github.com/erabytse/NeuroMemor</link><dc:creator>takouzlo</dc:creator><comments>https://news.ycombinator.com/item?id=48493020</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48493020</guid></item><item><title><![CDATA[Single File Virtualenv-Native Sandboxed Python Execution Environment]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/nzjrs/sandbubble">https://github.com/nzjrs/sandbubble</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48492184">https://news.ycombinator.com/item?id=48492184</a></p>
<p>Points: 1</p>
<p># Comments: 1</p>
]]></description><pubDate>Thu, 11 Jun 2026 16:01:13 +0000</pubDate><link>https://github.com/nzjrs/sandbubble</link><dc:creator>nzjrs</dc:creator><comments>https://news.ycombinator.com/item?id=48492184</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48492184</guid></item><item><title><![CDATA[Python tool for converting files and office documents to Markdown]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/microsoft/markitdown">https://github.com/microsoft/markitdown</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48489166">https://news.ycombinator.com/item?id=48489166</a></p>
<p>Points: 5</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 11 Jun 2026 11:57:29 +0000</pubDate><link>https://github.com/microsoft/markitdown</link><dc:creator>mooreds</dc:creator><comments>https://news.ycombinator.com/item?id=48489166</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48489166</guid></item><item><title><![CDATA[Show HN: Llmbuffer – Python library for cache-optimized LLM conversation history]]></title><description><![CDATA[
<p>I was not getting good cache utilization when including dynamic context in agent threads. After a lot of experimentation, I found a good pattern that minimizes how often long lived conversation history gets modified while still supporting dynamic context. It has flexible hooks for doing things like truncating or summarizing tool outputs when transitioning messages to the long term history. And I'm seeing >>90% of tokens hitting the cache for my agents despite including a lot of dynamic user context.<p>There are a wide range of agent prompting strategies so I'd love to hear where this library works well and where there are patterns that don't fit well into the current API!</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48483607">https://news.ycombinator.com/item?id=48483607</a></p>
<p>Points: 7</p>
<p># Comments: 1</p>
]]></description><pubDate>Wed, 10 Jun 2026 22:26:11 +0000</pubDate><link>https://github.com/scottpurdy/llmbuffer</link><dc:creator>scottmp10</dc:creator><comments>https://news.ycombinator.com/item?id=48483607</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48483607</guid></item><item><title><![CDATA[Finops-scan: Free CLI to scan AWS Cost Explorer for waste (open source, Python)]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/kamsteph/finops-scan">https://github.com/kamsteph/finops-scan</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48476717">https://news.ycombinator.com/item?id=48476717</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 10 Jun 2026 14:20:36 +0000</pubDate><link>https://github.com/kamsteph/finops-scan</link><dc:creator>kamsteph</dc:creator><comments>https://news.ycombinator.com/item?id=48476717</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48476717</guid></item><item><title><![CDATA[Slixmpp 1.16.0 – XMPP/Jabber Library for Python – SleekXMPP]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.mathieui.net/en/slixmpp-1-16.html">https://blog.mathieui.net/en/slixmpp-1-16.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48475568">https://news.ycombinator.com/item?id=48475568</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 10 Jun 2026 12:53:14 +0000</pubDate><link>https://blog.mathieui.net/en/slixmpp-1-16.html</link><dc:creator>neustradamus</dc:creator><comments>https://news.ycombinator.com/item?id=48475568</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48475568</guid></item><item><title><![CDATA[Show HN: Statanim – Animate Statistics in Python]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/rishabhbhartiya/STATANIM">https://github.com/rishabhbhartiya/STATANIM</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48471569">https://news.ycombinator.com/item?id=48471569</a></p>
<p>Points: 2</p>
<p># Comments: 1</p>
]]></description><pubDate>Wed, 10 Jun 2026 04:51:14 +0000</pubDate><link>https://github.com/rishabhbhartiya/STATANIM</link><dc:creator>rishabhbhartiya</dc:creator><comments>https://news.ycombinator.com/item?id=48471569</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48471569</guid></item><item><title><![CDATA[Pydbdict – an embedded Python dictionary database backed by SQLite]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/arthwang/pydbdict">https://github.com/arthwang/pydbdict</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48470494">https://news.ycombinator.com/item?id=48470494</a></p>
<p>Points: 2</p>
<p># Comments: 1</p>
]]></description><pubDate>Wed, 10 Jun 2026 02:15:38 +0000</pubDate><link>https://github.com/arthwang/pydbdict</link><dc:creator>arthurwang59</dc:creator><comments>https://news.ycombinator.com/item?id=48470494</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48470494</guid></item></channel></rss>