<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

  <title>PyCoder’s Weekly</title>
  <link href="https://pycoders.com/feed" rel="self"/>
  <link href="https://pycoders.com/"/>
  <updated>2026-10-06T19:30:00+00:00</updated>
  <id>https://pycoders.com/</id>
  <author>
    <name>PyCoder’s Weekly</name>
  </author>

  
    <entry>
      <title>Issue #755: 3.15 Gets an RC3, New Feature Rundown, Sampling Profiler, and More (2026-10-06)</title>
      <id>https://pycoders.com/issues/755</id>
      <link href="https://pycoders.com/issues/755"/>
      <updated>2026-10-06T19:30:00+00:00</updated>
      
      <content type="html">
         &lt;p&gt; &lt;span&gt;#755 – OCTOBER 6, 2026&lt;/span&gt;&lt;br&gt; &lt;span&gt;&lt;a href=&quot;https://pycoders.com/issues/755/feed&quot;&gt;View in Browser »&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://pycoders.com&quot;&gt;&lt;img alt=&quot;The PyCoder&amp;rsquo;s Weekly Logo&quot; src=&quot;https://cdn.pycoders.com/37bdf31dc645f968ffb90196e5d38ff5&quot; style=&quot;max-width: 100%;&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;hr&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17183/feed&quot; target=&quot;_blank&quot;&gt;Python Adds a Release: 3.15.0rc3&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; Due to issues found in the new lazy loading features, an emergency Release Candidate has been adding, delaying Python 3.15 by a week.&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17183/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;PYTHON.ORG&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17181/feed&quot; target=&quot;_blank&quot;&gt;Python 3.15: Cool New Features for You to Try&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; Learn what&amp;rsquo;s new in Python 3.15, from lazy imports, frozendict, and sentinels to a sampling profiler and friendlier error messages. Also available as a &lt;a href=&quot;https://pycoders.com/link/17202/feed&quot; target=&quot;_blank&quot;&gt;video course&lt;/a&gt;.&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17181/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;REAL PYTHON&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17179/feed&quot; target=&quot;_blank&quot;&gt;Quiz: Python 3.15: Cool New Features for You to Try&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17179/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;REAL PYTHON&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17208/feed&quot; target=&quot;_blank&quot;&gt;Connect Python AI Agents to Real-Time ClickHouse&lt;/a&gt;&lt;/h3&gt; &lt;a href=&quot;https://pycoders.com/link/17208/feed&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;float:right; margin-left: 16px; margin-top: 7px; width: 17%;&quot; src=&quot;https://cdn.pycoders.com/54f401fd73bcc6539dbdd720a34b568d&quot; alt&gt;&lt;/a&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; Give your Python AI agents and memory systems low-latency access to analytical data. Tinybird turns high-volume event streams into sub-100ms REST APIs with native Python SDKs, CLI tooling, &amp;amp; MCP support. Skip building data pipelines and feed real-time context directly into your Python agent workflow &lt;a href=&quot;https://pycoders.com/link/17208/feed&quot; target=&quot;_blank&quot;&gt;Start Building Free with Python SDK&lt;/a&gt;&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17208/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;TINYBIRD&lt;/a&gt;&lt;/span&gt; &lt;span style=&quot;color: #AAAAAA;text-transform:uppercase;padding:1px 4px;border:1px solid #dddddd;margin-left:4px;font-size:0.8em;border-radius:2px;background-color:#ffffe0;&quot;&gt;sponsor&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17185/feed&quot; target=&quot;_blank&quot;&gt;Tachyon, Python 3.15&amp;rsquo;s Built-in Sampling Profiler&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; Talk Python interviews László Kiss Kollár and Pablo Galindo Salgado, key contributors to the new sampling profiler code named &amp;ldquo;Tachyon&amp;rdquo; which has been added to Python 3.15.&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17185/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;TALK PYTHON&lt;/a&gt;&lt;/span&gt; &lt;span style=&quot;color: #AAAAAA;text-transform:uppercase;padding:1px 4px;border:1px solid #dddddd;margin-left:4px;font-size:0.8em;border-radius:2px;&quot;&gt;podcast&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17196/feed&quot; target=&quot;_blank&quot;&gt;Python 3.15 Preview: Sentinel Values&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; Learn how to create a Python sentinel value with the new built-in in Python 3.15 and get readable signatures, type hints, and safe copying and pickling.&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17196/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;REAL PYTHON&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17180/feed&quot; target=&quot;_blank&quot;&gt;Quiz: Python 3.15 Preview: Sentinel Values&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; Test your grasp of Python 3.15&amp;rsquo;s new sentinel built-in, from readable signatures and type hints to safe copying, pickling, and when to use one.&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17180/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;REAL PYTHON&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17203/feed&quot; target=&quot;_blank&quot;&gt;PEP 824: None-Coalescing Operators (Draft)&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17203/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;PYTHON.ORG&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17177/feed&quot; target=&quot;_blank&quot;&gt;PEP 823: None-Aware Access Operators (Draft)&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17177/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;PYTHON.ORG&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17176/feed&quot; target=&quot;_blank&quot;&gt;Python 3.10.22, 3.11.17, 3.12.15, 3.13.16 and 3.14.8 Released&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17176/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;PYTHON.ORG&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17192/feed&quot; target=&quot;_blank&quot;&gt;The Python Documentation Is Now Available in Persian&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17192/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;PYTHON.ORG&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;h2&gt;Articles &amp;amp; Tutorials&lt;/h2&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17205/feed&quot; target=&quot;_blank&quot;&gt;Protocol or ABC? Designing a Pluggable Provider Interface&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; Designing a CLI tool that talks to two different image-generation backends. Same inputs from the user, two different SDKs underneath. How best to define the shared contract: an abstract base class, or a typing.Protocol? This article looks at both options.&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17205/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;BELDERBOS.DEV&lt;/a&gt; • Shared by &lt;a href=&quot;https://pycoders.com/link/17198/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;Bob Belderbos&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17182/feed&quot; target=&quot;_blank&quot;&gt;PyScript Is in Maintenance Mode&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; PyScript entered maintenance mode last month — the API is frozen, and only Pyodide updates continue. This piece walks through the honest landscape of Python-in-the-browser tools now that the default answer has stopped moving.&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17182/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;DEV.TO&lt;/a&gt; • Shared by Aswanth R&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17209/feed&quot; target=&quot;_blank&quot;&gt;Stop Falling Behind on AI. Catch Up in Five Minutes&lt;/a&gt;&lt;/h3&gt; &lt;a href=&quot;https://pycoders.com/link/17209/feed&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;float:right; margin-left: 16px; margin-top: 7px; width: 17%;&quot; src=&quot;https://cdn.pycoders.com/55d8e8e20e17c3f2bf901934322c05af&quot; alt&gt;&lt;/a&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; New models, new prices, new agent tools, all the time. Real Python&amp;rsquo;s new AI newsletter gives you the handful of stories you actually need as a developer. Tell us how often you want it (daily, weekly, or monthly) and save your spot. &lt;a href=&quot;https://pycoders.com/link/17209/feed&quot; target=&quot;_blank&quot;&gt;Get the Free Roundup →&lt;/a&gt;&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17209/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;REAL PYTHON&lt;/a&gt;&lt;/span&gt; &lt;span style=&quot;color: #AAAAAA;text-transform:uppercase;padding:1px 4px;border:1px solid #dddddd;margin-left:4px;font-size:0.8em;border-radius:2px;background-color:#ffffe0;&quot;&gt;sponsor&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17191/feed&quot; target=&quot;_blank&quot;&gt;Working With AI Agents: Focused Live Courses for Python Developers&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; Five focused live courses for Python developers who use AI agents: predict what they&amp;rsquo;ll do, check what they wrote, direct them on a real project, run them as a team, and trust them unattended.&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17191/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;REAL PYTHON&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17193/feed&quot; target=&quot;_blank&quot;&gt;Python Language Summit 2026&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; The 2026 Python Language Summit was hosted in Kraków, Poland as part of EuroPython 2026. There were 15 talks covering free-threading, Rust, garbage collection, type annotations, and more.&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17193/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;SETH LARSON&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17190/feed&quot; target=&quot;_blank&quot;&gt;Tracing &lt;code&gt;np.add&lt;/code&gt;, All the Way Down&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; NumPy&amp;rsquo;s &lt;code&gt;add&lt;/code&gt; method does what you&amp;rsquo;d expect: it adds two objects together. Under the covers there is a lot going on. This deep dive shows you just what is happening behind the scenes.&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17190/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;VEIT HELLER&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17174/feed&quot; target=&quot;_blank&quot;&gt;The Export Keyword (PEPs 842 and 843)&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; There have been multiple PEPs recently proposing different ways of managing what is and isn&amp;rsquo;t visible outside of a module. This post runs down the various proposals.&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17174/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;ANDRE ROBERGE&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17206/feed&quot; target=&quot;_blank&quot;&gt;Undocumented Django: Generating a SECRET_KEY&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; Exploring the &amp;ldquo;hidden features&amp;rdquo; lurking in Django&amp;rsquo;s codebase that allow you to generate a secret key along with some advice on how to keep it secret.&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17206/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;LEARN DJANGO&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17188/feed&quot; target=&quot;_blank&quot;&gt;Pipenv: A Guide to the Python Packaging Tool&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; Pipenv replaces pip, virtualenv, and requirements.txt with a single tool. See what it solves and how to manage dependencies with it.&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17188/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;REAL PYTHON&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17178/feed&quot; target=&quot;_blank&quot;&gt;Object-Oriented Programming (OOP) in Python&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; Learn object-oriented programming in Python: the OOP paradigm, classes and inheritance, and how to instantiate objects from a class.&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17178/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;REAL PYTHON&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;h2&gt;Projects &amp;amp; Code&lt;/h2&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17195/feed&quot; target=&quot;_blank&quot;&gt;Ciaren: Visual ETL That Exports pandas and Polars&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17195/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;GITHUB.COM/CIAREN-LABS&lt;/a&gt; • Shared by Ciaren Labs (submitted by an assistant)&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17175/feed&quot; target=&quot;_blank&quot;&gt;proxy-benchmark: Benchmarks for Proxies &amp;amp; Browsers&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17175/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;GITHUB.COM/NODEMAVEN&lt;/a&gt; • Shared by Alexandr&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17186/feed&quot; target=&quot;_blank&quot;&gt;RightWayUp: Find Up in an Image From Python or CLI&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17186/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;GITHUB.COM/ORTUSAITECH&lt;/a&gt; • Shared by &lt;a href=&quot;https://pycoders.com/link/17194/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;Vladimir Ilyash&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17173/feed&quot; target=&quot;_blank&quot;&gt;Flowfile: Turn Polars Style Code Into an ETL Pipeline&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17173/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;GITHUB.COM/EDWARDVANEECHOUD&lt;/a&gt; • Shared by Edward van Eechoud&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17197/feed&quot; target=&quot;_blank&quot;&gt;FlexViz: Interactive Exploration of 1 Billion Data Points&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17197/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;GITHUB.COM/FLEX-ANALYTICS&lt;/a&gt; • Shared by Jeroen Van Der Donckt&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;h2&gt;Events&lt;/h2&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17204/feed&quot; target=&quot;_blank&quot;&gt;PyCon Africa 2026&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; October 7 to October 12, 2026&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17204/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;PYCON.ORG&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17200/feed&quot; target=&quot;_blank&quot;&gt;Weekly Real Python Office Hours Q&amp;amp;A (Virtual)&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; October 7, 2026&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17200/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;REALPYTHON.COM&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17207/feed&quot; target=&quot;_blank&quot;&gt;PyEducation: IPAF&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; October 8 to October 9, 2026&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17207/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;PYCON.ORG&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17201/feed&quot; target=&quot;_blank&quot;&gt;Python Atlanta&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; October 8 to October 9, 2026&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17201/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;MEETUP.COM&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17189/feed&quot; target=&quot;_blank&quot;&gt;DFW Pythoneers 2nd Saturday Teaching Meeting&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; October 10, 2026&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17189/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;MEETUP.COM&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17187/feed&quot; target=&quot;_blank&quot;&gt;PyCon Greece 2026&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; October 12 to October 14, 2026&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17187/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;PYCON.GR&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17199/feed&quot; target=&quot;_blank&quot;&gt;PyCon NL 2026&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; October 15 to October 16, 2026&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17199/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;PYCON-NL.ORG&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17184/feed&quot; target=&quot;_blank&quot;&gt;PyCon Taiwan&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; October 17 to October 19, 2026&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17184/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;PYCON.ORG&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;hr&gt; &lt;p&gt;Happy Pythoning!&lt;br&gt;This was PyCoder&amp;rsquo;s Weekly Issue #755.&lt;br&gt;&lt;a href=&quot;https://pycoders.com/issues/755/feed&quot;&gt;View in Browser »&lt;/a&gt;&lt;/p&gt; &lt;img src=&quot;https://pycoders.com/issues/755/open/feed&quot; width=&quot;1&quot; height=&quot;1&quot; alt&gt; 
        &lt;hr /&gt;
        &lt;p&gt;&lt;em&gt;[ Subscribe to 🐍 PyCoder&amp;rsquo;s Weekly 💌 – Get the best Python news, articles, and tutorials delivered to your inbox once a week &lt;a href=&quot;https://pycoders.com/?utm_source=pycoders&amp;amp;utm_medium=feed&amp;amp;utm_campaign=footer&quot;&gt;&amp;gt;&amp;gt; Click here to learn more&lt;/a&gt; ]&lt;/em&gt;&lt;/p&gt;
      </content>
    </entry>
  
    <entry>
      <title>Issue #754: Jev, PyO3, Temp Files, and More (2026-09-29)</title>
      <id>https://pycoders.com/issues/754</id>
      <link href="https://pycoders.com/issues/754"/>
      <updated>2026-09-29T19:30:00+00:00</updated>
      
      <content type="html">
         &lt;p&gt; &lt;span&gt;#754 – SEPTEMBER 29, 2026&lt;/span&gt;&lt;br&gt; &lt;span&gt;&lt;a href=&quot;https://pycoders.com/issues/754/feed&quot;&gt;View in Browser »&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://pycoders.com&quot;&gt;&lt;img alt=&quot;The PyCoder&amp;rsquo;s Weekly Logo&quot; src=&quot;https://cdn.pycoders.com/37bdf31dc645f968ffb90196e5d38ff5&quot; style=&quot;max-width: 100%;&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;hr&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17121/feed&quot; target=&quot;_blank&quot;&gt;How to Get Started With Jev in Python&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; Connect a Python script to the Jev model with the TypeSafe SDK and OpenRouter, then replace brittle input checks with Noul, Score, and Choice answers.&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17121/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;REAL PYTHON&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17130/feed&quot; target=&quot;_blank&quot;&gt;Quiz: How to Get Started With Jev in Python&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17130/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;REAL PYTHON&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17140/feed&quot; target=&quot;_blank&quot;&gt;MCP Auth That Passes the Security Review&lt;/a&gt;&lt;/h3&gt; &lt;a href=&quot;https://pycoders.com/link/17140/feed&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;float:right; margin-left: 16px; margin-top: 7px; width: 17%;&quot; src=&quot;https://cdn.pycoders.com/012e0a1cbc39d888c748f46d3b3a4e1a&quot; alt&gt;&lt;/a&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; When your customers connect AI agents to your product, their security team will have questions. PropelAuth has the answers built in: role-gated scopes, enterprise SSO through Okta and Entra ID, phishing-resistant consent screens, and an audit log of every agent connection. &lt;a href=&quot;https://pycoders.com/link/17140/feed&quot; target=&quot;_blank&quot;&gt;Learn More →&lt;/a&gt;&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17140/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;PROPELAUTH&lt;/a&gt;&lt;/span&gt; &lt;span style=&quot;color: #AAAAAA;text-transform:uppercase;padding:1px 4px;border:1px solid #dddddd;margin-left:4px;font-size:0.8em;border-radius:2px;background-color:#ffffe0;&quot;&gt;sponsor&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17131/feed&quot; target=&quot;_blank&quot;&gt;How Libraries Run Rust Inside Python (With PyO3)&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; How do libraries run Rust inside Python? It all comes down to 4 steps: 1. Write Rust code, 2. Annotate it with PyO3 macros, 3. Let maturin compile and install it, 4. Import the result. See this in action for a hand-rolled JSON parser in this article.&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17131/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;BELDERBOS.DEV&lt;/a&gt; • Shared by &lt;a href=&quot;https://pycoders.com/link/17136/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;Bob Belderbos&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17135/feed&quot; target=&quot;_blank&quot;&gt;Creating Temporary Files in Python&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; How to create temporary files and directories in Python using the tempfile module&amp;rsquo;s &lt;code&gt;NamedTemporaryFile&lt;/code&gt; and &lt;code&gt;TemporaryDirectory&lt;/code&gt;.&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17135/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;TREY HUNNER&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17137/feed&quot; target=&quot;_blank&quot;&gt;PEP 849: More Expressive Type Expressions (Draft)&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17137/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;PYTHON.ORG&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17118/feed&quot; target=&quot;_blank&quot;&gt;PEP 848: Generational Incremental Garbage Collection (Draft)&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17118/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;PYTHON.ORG&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17120/feed&quot; target=&quot;_blank&quot;&gt;PyPy v8.0.0 Released&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17120/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;PYPY.ORG&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;h2&gt;Articles &amp;amp; Tutorials&lt;/h2&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17128/feed&quot; target=&quot;_blank&quot;&gt;Navigating AI in Open Source: Insights From Wagtail&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; How should you manage AI contributions to an open-source project? How do you measure the impact of using AI tools for development, and what generative features do end users want from a content management system? This week on the show, we speak with Thibaud Colas and Meagen Voss from Wagtail about the complex considerations software organizations are currently facing.&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17128/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;REAL PYTHON&lt;/a&gt;&lt;/span&gt; &lt;span style=&quot;color: #AAAAAA;text-transform:uppercase;padding:1px 4px;border:1px solid #dddddd;margin-left:4px;font-size:0.8em;border-radius:2px;&quot;&gt;podcast&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17114/feed&quot; target=&quot;_blank&quot;&gt;How BMLL Processes 1.5 TB of Data in Under 4 Minutes&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; BMLL Technologies processes petabytes of nanosecond-precision market data for the world&amp;rsquo;s most sophisticated trading teams. In this case study, they share what a 48x performance improvement from Polars over pandas looks like in practice, and what it means for execution analysis at scale.&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17114/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;POLA.RS&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17142/feed&quot; target=&quot;_blank&quot;&gt;Agent Memory for Wherever Your AI Is Running&lt;/a&gt;&lt;/h3&gt; &lt;a href=&quot;https://pycoders.com/link/17142/feed&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;float:right; margin-left: 16px; margin-top: 7px; width: 17%;&quot; src=&quot;https://cdn.pycoders.com/7a5e5f9b598e29d5d178e3f62f45bf04&quot; alt&gt;&lt;/a&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; Ship VectorAI DB to your edge device, factory floor, air-gapped facility, or enterprise data center and get a portable multimodal vector database that moves with your stack. Start on a laptop, validate retrieval quality against your workload, and promote the same pattern to production. &lt;a href=&quot;https://pycoders.com/link/17142/feed&quot; target=&quot;_blank&quot;&gt;Get Started Free →&lt;/a&gt;&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17142/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;ACTIAN&lt;/a&gt;&lt;/span&gt; &lt;span style=&quot;color: #AAAAAA;text-transform:uppercase;padding:1px 4px;border:1px solid #dddddd;margin-left:4px;font-size:0.8em;border-radius:2px;background-color:#ffffe0;&quot;&gt;sponsor&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17133/feed&quot; target=&quot;_blank&quot;&gt;Python Statistics Fundamentals: How to Describe Your Data&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; In this step-by-step tutorial, you&amp;rsquo;ll learn the fundamentals of descriptive statistics and how to calculate them in Python. You&amp;rsquo;ll find out how to describe, summarize, and represent your data visually using NumPy, SciPy, pandas, Matplotlib, and the built-in Python statistics library.&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17133/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;REAL PYTHON&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17111/feed&quot; target=&quot;_blank&quot;&gt;EVE Online Departs for Python 3&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; The game EVE has run on Python 2 since it launched in 2003, all 2.4 million lines of it, on a custom Stackless interpreter that stopped at 3.8. That is in the process of changing. Talk Python interviews three EVE developers about this process.&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17111/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;TALK PYTHON&lt;/a&gt;&lt;/span&gt; &lt;span style=&quot;color: #AAAAAA;text-transform:uppercase;padding:1px 4px;border:1px solid #dddddd;margin-left:4px;font-size:0.8em;border-radius:2px;&quot;&gt;podcast&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17127/feed&quot; target=&quot;_blank&quot;&gt;I Is for Immutable: Python a to Z&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; The first thing most people learn in programming is that you can save data in variables and change their values. For Juha-Matti, learning about immutable data structures and functional programming was a painful but important shift in schema.&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17127/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;JUHA-MATTI SANTALA&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17141/feed&quot; target=&quot;_blank&quot;&gt;Your Personal Python Mentor&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; Real Python Mentor AI works alongside you. It sees the tutorial, lesson, or exercise you’re on, knows what you’ve been learning, and helps you understand, practice, and keep moving forward.&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17141/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;REAL PYTHON&lt;/a&gt;&lt;/span&gt; &lt;span style=&quot;color: #AAAAAA;text-transform:uppercase;padding:1px 4px;border:1px solid #dddddd;margin-left:4px;font-size:0.8em;border-radius:2px;background-color:#ffffe0;&quot;&gt;sponsor&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17138/feed&quot; target=&quot;_blank&quot;&gt;7 Python Mistakes Beginners Make&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; Some mistakes are because Python did exactly what you asked it to do. This article covers seven of them. For each one you get the hidden cause, plus the first thing worth checking.&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17138/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;NAHLA DAVIES&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17113/feed&quot; target=&quot;_blank&quot;&gt;Speeding Up a Python Service With CinderX&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; CinderX is Meta&amp;rsquo;s CPython extension: a method JIT, Static Python, and a parallel garbage collector. The article measures all three against stock CPython 3.14 and its tier 2 JIT&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17113/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;TIMOFEI IVANKOV&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17122/feed&quot; target=&quot;_blank&quot;&gt;Cursor vs Copilot: Which AI Editor Is Better for Python?&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; Compare Cursor vs GitHub Copilot by building a Python project, testing agent workflows, debugging code, and evaluating AI-assisted development.&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17122/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;REAL PYTHON&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17115/feed&quot; target=&quot;_blank&quot;&gt;Quiz: Cursor vs Copilot: Which AI Editor Is Better for Python?&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17115/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;REAL PYTHON&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17119/feed&quot; target=&quot;_blank&quot;&gt;Using the Claude API in Python&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; Learn how to use the Claude API in Python to send prompts, control responses with system instructions, and get structured output.&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17119/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;REAL PYTHON&lt;/a&gt;&lt;/span&gt; &lt;span style=&quot;color: #AAAAAA;text-transform:uppercase;padding:1px 4px;border:1px solid #dddddd;margin-left:4px;font-size:0.8em;border-radius:2px;&quot;&gt;course&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17134/feed&quot; target=&quot;_blank&quot;&gt;Quiz: Using the Claude API in Python&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17134/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;REAL PYTHON&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;h2&gt;Projects &amp;amp; Code&lt;/h2&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17129/feed&quot; target=&quot;_blank&quot;&gt;pyfastlogging: A Lightning Fast Logger, Written in Rust&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17129/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;PYPI.ORG&lt;/a&gt; • Shared by Martin Bammer&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17108/feed&quot; target=&quot;_blank&quot;&gt;Renart: A Local Workspace for SQL and Python Data Pipelines&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17108/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;GITHUB.COM/RENART-DATA&lt;/a&gt; • Shared by Lukas Senicourt&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17132/feed&quot; target=&quot;_blank&quot;&gt;Pyxel Code Maker: Retro Python Games in Your Browser&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17132/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;KITAO.GITHUB.IO&lt;/a&gt; • Shared by &lt;a href=&quot;https://pycoders.com/link/17123/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;Takashi Kitao&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17125/feed&quot; target=&quot;_blank&quot;&gt;flowsint: Extensible Graph-Based Investigation Tool&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17125/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;GITHUB.COM/RECONURGE&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17112/feed&quot; target=&quot;_blank&quot;&gt;bashautom: Persistent, Stateful Bash Sessions for Python&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17112/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;GITHUB.COM/HUSKAGO&lt;/a&gt; • Shared by Tiago&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;h2&gt;Events&lt;/h2&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17110/feed&quot; target=&quot;_blank&quot;&gt;Weekly Real Python Office Hours Q&amp;amp;A (Virtual)&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; Septempber 30, 2026&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17110/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;REALPYTHON.COM&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17116/feed&quot; target=&quot;_blank&quot;&gt;Real Python Live: Release Radar: Python 3.15&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; Septempber 30, 2026&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17116/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;REALPYTHON.COM&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17109/feed&quot; target=&quot;_blank&quot;&gt;Canberra Python Meetup&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; October 1, 2026&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17109/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;MEETUP.COM&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17117/feed&quot; target=&quot;_blank&quot;&gt;Sydney Python User Group (SyPy)&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; October 1, 2026&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17117/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;SYPY.ORG&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17124/feed&quot; target=&quot;_blank&quot;&gt;PyBay 2026&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; October 3 to October 4, 2026&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17124/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;PYBAY.ORG&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17126/feed&quot; target=&quot;_blank&quot;&gt;PyCon Africa 2026&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; October 7 to October 12, 2026&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17126/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;PYCON.ORG&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17107/feed&quot; target=&quot;_blank&quot;&gt;PyEducation: IPAF&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; October 8 to October 9, 2026&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17107/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;PYCON.ORG&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;hr&gt; &lt;p&gt;Happy Pythoning!&lt;br&gt;This was PyCoder&amp;rsquo;s Weekly Issue #754.&lt;br&gt;&lt;a href=&quot;https://pycoders.com/issues/754/feed&quot;&gt;View in Browser »&lt;/a&gt;&lt;/p&gt; &lt;img src=&quot;https://pycoders.com/issues/754/open/feed&quot; width=&quot;1&quot; height=&quot;1&quot; alt&gt; 
        &lt;hr /&gt;
        &lt;p&gt;&lt;em&gt;[ Subscribe to 🐍 PyCoder&amp;rsquo;s Weekly 💌 – Get the best Python news, articles, and tutorials delivered to your inbox once a week &lt;a href=&quot;https://pycoders.com/?utm_source=pycoders&amp;amp;utm_medium=feed&amp;amp;utm_campaign=footer&quot;&gt;&amp;gt;&amp;gt; Click here to learn more&lt;/a&gt; ]&lt;/em&gt;&lt;/p&gt;
      </content>
    </entry>
  
    <entry>
      <title>Issue #753: frozendict, pytest Plugins, re.prefixmatch(), and More (2026-09-22)</title>
      <id>https://pycoders.com/issues/753</id>
      <link href="https://pycoders.com/issues/753"/>
      <updated>2026-09-22T19:30:00+00:00</updated>
      
      <content type="html">
         &lt;p&gt; &lt;span&gt;#753 – SEPTEMBER 22, 2026&lt;/span&gt;&lt;br&gt; &lt;span&gt;&lt;a href=&quot;https://pycoders.com/issues/753/feed&quot;&gt;View in Browser »&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://pycoders.com&quot;&gt;&lt;img alt=&quot;The PyCoder&amp;rsquo;s Weekly Logo&quot; src=&quot;https://cdn.pycoders.com/37bdf31dc645f968ffb90196e5d38ff5&quot; style=&quot;max-width: 100%;&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;hr&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17077/feed&quot; target=&quot;_blank&quot;&gt;Python 3.15 Preview: &lt;code&gt;frozendict&lt;/code&gt;&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; Preview Python 3.15&amp;rsquo;s frozendict: build immutable mappings you can hash, cache, and share across threads, and learn where the freeze stops.&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17077/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;REAL PYTHON&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17104/feed&quot; target=&quot;_blank&quot;&gt;Quiz: Python 3.15 Preview: &lt;code&gt;frozendict&lt;/code&gt;&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17104/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;REAL PYTHON&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17106/feed&quot; target=&quot;_blank&quot;&gt;claude -p “migrate our CI config to RWX”&lt;/a&gt;&lt;/h3&gt; &lt;a href=&quot;https://pycoders.com/link/17106/feed&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;float:right; margin-left: 16px; margin-top: 7px; width: 17%;&quot; src=&quot;https://cdn.pycoders.com/04300b61ae0294a36430ce870a393c92&quot; alt&gt;&lt;/a&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; Python is powering AI. Your build platform should keep up. RWX is CI/CD rebuilt for the agentic dev cycle: content-based caching, graph-based task execution, and agent sandboxes that share config and cache with CI. Teams at Honeycomb, ClickFunnels, and Verkada have already switched. &lt;a href=&quot;https://pycoders.com/link/17106/feed&quot; target=&quot;_blank&quot;&gt;See Why Engineers Love RWX → rwx.com&lt;/a&gt;&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17106/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;RWX (READWRITEEXECUTE)&lt;/a&gt;&lt;/span&gt; &lt;span style=&quot;color: #AAAAAA;text-transform:uppercase;padding:1px 4px;border:1px solid #dddddd;margin-left:4px;font-size:0.8em;border-radius:2px;background-color:#ffffe0;&quot;&gt;sponsor&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17089/feed&quot; target=&quot;_blank&quot;&gt;pytest Plugins That Actually Change How You Test in 2026&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; Seven pytest plugins beyond the built-ins that changed how Peyton tests: pytest-httpx for HTTP mocking, pytest-randomly for order-dependency detection, anyio&amp;rsquo;s built-in pytest plugin for backend-agnostic async tests, syrupy for snapshot testing, pytest-watch for continuous feedback, freezegun for deterministic time, pytest-cov for coverage enforcement.&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17089/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;PEYTON GREEN&lt;/a&gt; • Shared by Anonymous&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17075/feed&quot; target=&quot;_blank&quot;&gt;Soft-Deprecating &lt;code&gt;re.match()&lt;/code&gt;&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; To provide consistency with other languages, Python 3.15 is soft-deprecating &lt;code&gt;re.match()&lt;/code&gt; and introducing &lt;code&gt;re.prefixmatch()&lt;/code&gt; instead. This article explains why.&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17075/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;HUGO VAN KEMENADE&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17102/feed&quot; target=&quot;_blank&quot;&gt;PEP 847: Problem Details for the Simple Repository API (Draft)&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17102/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;PYTHON.ORG&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17101/feed&quot; target=&quot;_blank&quot;&gt;PEP 846: Docstrings for Type Aliases (Draft)&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17101/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;PYTHON.ORG&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17080/feed&quot; target=&quot;_blank&quot;&gt;PEP 845: Leading-Dot Value Patterns (Draft)&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17080/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;PYTHON.ORG&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17100/feed&quot; target=&quot;_blank&quot;&gt;Share How You Use Django With Django Probe&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17100/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;TIM SCHILLING&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17087/feed&quot; target=&quot;_blank&quot;&gt;2026 PSF Board Election Results&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17087/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;PYTHON SOFTWARE FOUNDATION&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17097/feed&quot; target=&quot;_blank&quot;&gt;2026 Python Packaging Council Election Results!&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17097/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;PYTHON SOFTWARE FOUNDATION&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;h2&gt;Articles &amp;amp; Tutorials&lt;/h2&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17091/feed&quot; target=&quot;_blank&quot;&gt;Serve the Change Password Well-Known URL&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; When a password manager detects that a user’s password has been leaked, it can prompt them to change it, but the password change URL varies by site. The answer to such discovery problems is &lt;code&gt;.well-known/&lt;/code&gt; URL namespace. This article talks about how to build it in Django.&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17091/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;ADAM JOHNSON&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17099/feed&quot; target=&quot;_blank&quot;&gt;Getting Started With Rust as Python Devs&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; Talk Python discusses Rust for Pythonistas with guest Christopher Trudeau. Learn why Rust is a go-to language for Python tools and extensions and how you can get started writing Python modules with PyO3.&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17099/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;TALK PYTHON&lt;/a&gt;&lt;/span&gt; &lt;span style=&quot;color: #AAAAAA;text-transform:uppercase;padding:1px 4px;border:1px solid #dddddd;margin-left:4px;font-size:0.8em;border-radius:2px;&quot;&gt;podcast&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17095/feed&quot; target=&quot;_blank&quot;&gt;Make Public API Tests Repeatable in Python&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; Network-dependent API tests can be slow and flaky. This article shows how VCR.py records real HTTP interactions once and replays them for fast, repeatable, offline tests. Use cases include GitHub API client and pytest, CI-safe testing, and live API tests.&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17095/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;CODECUT.AI&lt;/a&gt; • Shared by &lt;a href=&quot;https://pycoders.com/link/17084/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;Khuyen Tran&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17088/feed&quot; target=&quot;_blank&quot;&gt;Primer on Jinja Templating&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; With Jinja, you can build rich templates that power the front end of your web applications. But you can use Jinja without a web framework running in the background. Anytime you want to create text files with programmatic content, Jinja can help you out.&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17088/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;REAL PYTHON&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17073/feed&quot; target=&quot;_blank&quot;&gt;Announcing the PSF Strategic Plan 2026&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; In May, the Python Software Foundation (PSF) shared the high-level goals of their Strategic Plan. It was sent out for community feedback and now has been adopted. It is a five-year plan covering 2026 to 2031.&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17073/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;PYTHON SOFTWARE FOUNDATION&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17072/feed&quot; target=&quot;_blank&quot;&gt;&lt;code&gt;UnboundLocalError&lt;/code&gt;: It&amp;rsquo;s Scope Decided in Advance&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; The variable has a value elsewhere in your program, just not in the scope Python already decided this line belongs to. Here&amp;rsquo;s how Python actually assigns scope, and why the fix usually isn&amp;rsquo;t &lt;code&gt;global&lt;/code&gt;.&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17072/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;SYSTEM CRAFT PRESS&lt;/a&gt; • Shared by Bob Morrison&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17081/feed&quot; target=&quot;_blank&quot;&gt;Functionally Zen&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; Practical tenets for Python simplicity: why pure functions, immutable data, and composition reduce complexity, cut mocking overhead, and keep side effects contained.&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17081/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;KYLE ADAMS&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17078/feed&quot; target=&quot;_blank&quot;&gt;How to Review AI-Generated Python Code Efficiently&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; Learn an efficient workflow to review AI-generated code in Python: run ruff, mypy, bandit, and pytest, then catch the bugs agents get wrong.&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17078/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;REAL PYTHON&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17098/feed&quot; target=&quot;_blank&quot;&gt;Agentic Engineering in Python: From Vibes to Evidence&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; Move from vibe coding to agentic engineering in Python, using tests, types, and code review to prove an AI agent&amp;rsquo;s changes are safe to keep.&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17098/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;REAL PYTHON&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17090/feed&quot; target=&quot;_blank&quot;&gt;Automating EDA With &lt;code&gt;fg-data-profiling&lt;/code&gt;&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; Automate exploratory data analysis by transforming DataFrames into interactive reports with one command from fg-data-profiling.&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17090/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;REAL PYTHON&lt;/a&gt;&lt;/span&gt; &lt;span style=&quot;color: #AAAAAA;text-transform:uppercase;padding:1px 4px;border:1px solid #dddddd;margin-left:4px;font-size:0.8em;border-radius:2px;&quot;&gt;course&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17103/feed&quot; target=&quot;_blank&quot;&gt;5 Design Patterns Used in My New Habit Tracker App&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; Bob has built a Django + HTMX based habit tracker. This article covers five small Python and design patterns used in his code.&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17103/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;BOB BELDERBOS&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;h2&gt;Projects &amp;amp; Code&lt;/h2&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17082/feed&quot; target=&quot;_blank&quot;&gt;fastapi-security-headers: OWASP Security Headers for FastAPI&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17082/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;GITHUB.COM/ALEJANDROTG-CODE&lt;/a&gt; • Shared by Alejandro Tacoronte González&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17086/feed&quot; target=&quot;_blank&quot;&gt;citry: Frontend Web Framework for Python&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17086/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;GITHUB.COM/CITRY-DEV&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17092/feed&quot; target=&quot;_blank&quot;&gt;tonio: A Multi-Threaded Async Runtime for Python&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17092/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;GITHUB.COM/GI0BARO&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17076/feed&quot; target=&quot;_blank&quot;&gt;django-absurd: Django Integration for Postgres Absurd&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17076/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;GITHUB.COM/LINCOLNLOOP&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17096/feed&quot; target=&quot;_blank&quot;&gt;securo: OSS Personal Finance Manager&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17096/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;GITHUB.COM/SECURO-FINANCE&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;h2&gt;Events&lt;/h2&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17094/feed&quot; target=&quot;_blank&quot;&gt;Weekly Real Python Office Hours Q&amp;amp;A (Virtual)&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; September 23, 2026&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17094/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;REALPYTHON.COM&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17083/feed&quot; target=&quot;_blank&quot;&gt;Django on the Med 2026&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; September 23 to September 26, 2026&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17083/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;DJANGOMED.EU&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17079/feed&quot; target=&quot;_blank&quot;&gt;PythonCamp Rügen 2026&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; September 26 to September 28, 2026&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17079/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;BARCAMPS.EU&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17093/feed&quot; target=&quot;_blank&quot;&gt;Python Sheffield&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; September 29, 2026&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17093/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;GOOGLE.COM&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17074/feed&quot; target=&quot;_blank&quot;&gt;Python Southwest Florida (PySWFL)&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; September 30, 2026&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17074/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;MEETUP.COM&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;div&gt; &lt;h3 style=&quot;margin-bottom: 0;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17085/feed&quot; target=&quot;_blank&quot;&gt;PyBay 2026&lt;/a&gt;&lt;/h3&gt; &lt;p style=&quot;margin-bottom: 0;&quot;&gt; October 3 to October 4, 2026&lt;br&gt; &lt;span style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:0.8em;text-transform:normal;&quot;&gt;&lt;a href=&quot;https://pycoders.com/link/17085/feed&quot; style=&quot;color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;&quot; target=&quot;_blank&quot;&gt;PYBAY.ORG&lt;/a&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; &lt;hr&gt; &lt;p&gt;Happy Pythoning!&lt;br&gt;This was PyCoder&amp;rsquo;s Weekly Issue #753.&lt;br&gt;&lt;a href=&quot;https://pycoders.com/issues/753/feed&quot;&gt;View in Browser »&lt;/a&gt;&lt;/p&gt; &lt;img src=&quot;https://pycoders.com/issues/753/open/feed&quot; width=&quot;1&quot; height=&quot;1&quot; alt&gt; 
        &lt;hr /&gt;
        &lt;p&gt;&lt;em&gt;[ Subscribe to 🐍 PyCoder&amp;rsquo;s Weekly 💌 – Get the best Python news, articles, and tutorials delivered to your inbox once a week &lt;a href=&quot;https://pycoders.com/?utm_source=pycoders&amp;amp;utm_medium=feed&amp;amp;utm_campaign=footer&quot;&gt;&amp;gt;&amp;gt; Click here to learn more&lt;/a&gt; ]&lt;/em&gt;&lt;/p&gt;
      </content>
    </entry>
  

</feed>
