PageSourceSearch

https://pycoders.com/issues/754

html pycoders.com collected 2026-10-02 04:18:29 UTC 63,704 bytes, 538 lines download raw bytes

1
2
3<!doctype html>
4<html lang="en">
5  <head>
6    <meta charset="utf-8">
7    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
8    <meta name="author" content="PyCoder&rsquo;s Weekly">
9    <meta name="description" content="Jev, PyO3, Temp Files, and More">
10    <meta name="keywords" content="python,newsletter,news,email">
11    <title>PyCoder&rsquo;s Weekly | Issue #754</title>
12
13    
14
15    <link href="/static/favicon.1113bd59a25b.png" rel="icon">
16    <link href="https://pycoders.com/feed/qoQpzYXB" rel="alternate" title="Issue Feed (Atom)" type="application/atom+xml">
17
18    
19    
20      <link rel="canonical" href="https://pycoders.com/issues/754">
21
22      
23      
24        <meta name="twitter:card" content="summary_large_image">
25        <meta property="twitter:image" content="https://pycoders.com/static/social-default-image.614365f99598.png">
26        <meta property="og:image" content="https://pycoders.com/static/social-default-image.614365f99598.png">
27      
28      <meta name="twitter:creator" content="@pycoders">
29      <meta name="twitter:site" content="@pycoders">
30      <meta property="og:title" content="PyCoder&rsquo;s Weekly | Issue #754">
31      <meta property="og:type" content="article">
32      <meta property="og:url" content="https://pycoders.com/issues/754">
33      <meta property="og:description" content="Jev, PyO3, Temp Files, and More">
34    
35
36    
37
38    
39      <link rel="stylesheet" href="/static/main-v5.min.220eaeaa0111.css">
40    
41
42    
42<script src="https://www.googleoptimize.com/optimize.js?id=OPT-T3N8C33"></script>
42
43    
43<script>
vendor: 359 bytes, lines 43-49
43
44      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
45      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
46      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
47      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
48
49      ga('create', '
49UA-1990784-2
vendor: 46 bytes, lines 49-51
49', 'auto');
50      ga('send', 'pageview');
51    
51</script>
51
52  </head>
53  <body class="bg-brand-gradient content-page" data-turnstile-site-key="0x4AAAAAAAQQT_Zp5jwmOmsJ">
54    
55
56
57  
58
59<nav class="navbar navbar-dark navbar-expand-lg bg-brand-nav w-100 px-3">
60  <div class="container-fluid">
61
62    <a class="navbar-brand my-3" href="/" style="max-width: 75%;">
63      <img src="/static/pycoders-logo-white.678e5152c941.png" alt="Pycoder&rsquo;s Weekly" style="max-height: 24px;max-width: 100%;vertical-align:text-bottom;">
64    </a>
65
66
67    <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
68      <span class="navbar-toggler-icon"></span>
69    </button>
70
71    <div class="collapse navbar-collapse" id="navbarNav">
72      <ul class="navbar-nav m-0">
73        <li class="nav-item">
74          <a class="nav-link active" href="/latest">Latest Issue</a>
75        </li>
76        <li class="nav-item">
77          <a class="nav-link " href="/issues">Archives</a>
78        </li>
79        <li class="nav-item">
80          <a class="nav-link " href="/submissions">Submit a Link</a>
81        </li>
82        <li class="nav-item">
83          <a class="nav-link " href="/feed/jZOXYvZk" target="_blank">RSS</a>
84        </li>
85      </ul>
86    </div>
87
88
89  </div>
90</nav>
91
92
93
94<div class="container pt-5">
95  <h1 class="text-center mb-1 display-4">Issue #754</h1>
96  <h2 class="text-center mt-0 text-muted h4">Jev, PyO3, Temp Files, and More</h2>
97  <p class="text-center h5 mt-0 mb-4 text-muted">Sept. 29, 2026</p>
98
99  
100  
101
102  <form class="my-4" method="post" action="/subscriptions">
103  <input type="hidden" name="csrfmiddlewaretoken" value="l1rjhqXq4RYrSCJTDYHnzIzLEXVodP2zLv1QAjSDC7JpMUoTAcfuScEjMAPWEQRw">
104  <div class="row">
105    <div class="col-12 col-md pe-3">
106      <input type="email" name="email" class="form-control form-control-lg mb-2 mt-2" placeholder="Want to Subscribe? Enter Your Email Address Here" autofocus required>
107    </div>
108    <div class="col-auto p-0 mx-auto">
109      <button type="submit" class="form-control form-control-lg btn btn-primary px-5 mt-2">Subscribe »</button>
110    </div>
111  </div>
112</form>
113
114
115  <div class="row mb-3">
116  <div class="col">
117    
118      <p class="text-start m-0"><a href="/issues/753">« Previous Issue</a></p>
119    
120  </div>
121  <div class="col">
122    
123  </div>
124</div>
125
126
127  
128
129  
130    <div>
131      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"> <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Jev, PyO3, Temp Files, and More</title><style type="text/css">
132      body,#bodyTable,#bodyCell{
133      height:100% !important;
134      margin:0;
135      padding:0;
136      width:100% !important;
137      }
138      table{
139      border-collapse:collapse;
140      }
141      img,a img{
142      border:0;
143      outline:none;
144      text-decoration:none;
145      }
146      h1,h2,h3,h4,h5,h6{
147      margin:0;
148      padding:0;
149      }
150      p{
151      margin:1em 0;
152      padding:0;
153      }
154      a{
155      word-wrap:break-word;
156      }
157      .mcnPreviewText{
158      display:none !important;
159      }
160      .ReadMsgBody{
161      width:100%;
162      }
163      .ExternalClass{
164      width:100%;
165      }
166      .ExternalClass,.ExternalClass p,.ExternalClass span,.ExternalClass font,.ExternalClass td,.ExternalClass div{
167      line-height:100%;
168      }
169      table,td{
170      mso-table-lspace:0pt;
171      mso-table-rspace:0pt;
172      }
173      #outlook a{
174      padding:0;
175      }
176      img{
177      -ms-interpolation-mode:bicubic;
178      }
179      body,table,td,p,a,li,blockquote{
180      -ms-text-size-adjust:100%;
181      -webkit-text-size-adjust:100%;
182      }
183      #bodyCell{
184      padding:0;
185      }
186      .mcnImage,.mcnRetinaImage{
187      vertical-align:bottom;
188      }
189      .mcnTextContent img{
190      height:auto !important;
191      }
192      body,#bodyTable{
193      background-color:#F2F2F2;
194      }
195      #bodyCell{
196      border-top:0;
197      }
198      h1{
199      color:#555 !important;
200      display:block;
201      font-size:40px;
202      font-style:normal;
203      font-weight:bold;
204      line-height:125%;
205      letter-spacing:-1px;
206      margin:0;
207      text-align:left;
208      }
209      h2{
210      color:#404040 !important;
211      display:block;
212      font-size:26px;
213      font-style:normal;
214      font-weight:bold;
215      line-height:125%;
216      letter-spacing:-.75px;
217      margin:0;
218      text-align:left;
219      }
220      h3{
221      color:#555 !important;
222      display:block;
223      font-size:18px;
224      font-style:normal;
225      font-weight:bold;
226      line-height:125%;
227      letter-spacing:-.5px;
228      margin:0;
229      text-align:left;
230      }
231      h4{
232      color:#808080 !important;
233      display:block;
234      font-size:16px;
235      font-style:normal;
236      font-weight:bold;
237      line-height:125%;
238      letter-spacing:normal;
239      margin:0;
240      text-align:left;
241      }
242      #templatePreheader{
243      background-color:#3399cc;
244      border-top:0;
245      border-bottom:0;
246      }
247      .preheaderContainer .mcnTextContent,.preheaderContainer .mcnTextContent p{
248      color:#ffffff;
249      font-size:11px;
250      line-height:125%;
251      text-align:left;
252      }
253      .preheaderContainer .mcnTextContent a{
254      color:#ffffff;
255      font-weight:normal;
256      text-decoration:underline;
257      }
258      #templateHeader{
259      background-color:#FFFFFF;
260      border-top:0;
261      border-bottom:0;
262      }
263      .headerContainer .mcnTextContent,.headerContainer .mcnTextContent p{
264      color:#555;
265      font-size:15px;
266      line-height:150%;
267      text-align:left;
268      }
269      .headerContainer .mcnTextContent a{
270      color:#6DC6DD;
271      font-weight:normal;
272      text-decoration:underline;
273      }
274      #templateBody{
275      background-color:#FFFFFF;
276      border-top:0;
277      border-bottom:0;
278      }
279      .bodyContainer .mcnTextContent,.bodyContainer .mcnTextContent p{
280      color:#555;
281      font-size:16px;
282      line-height:150%;
283      text-align:left;
284      margin: 0 0 1em 0;
285      }
286      .bodyContainer .mcnTextContent a{
287      color:#6DC6DD;
288      font-weight:normal;
289      text-decoration:underline;
290      }
291      #templateFooter{
292      background-color:#F2F2F2;
293      border-top:0;
294      border-bottom:0;
295      }
296      .footerContainer .mcnTextContent,.footerContainer .mcnTextContent p{
297      color:#555;
298      font-size:11px;
299      line-height:125%;
300      text-align:left;
301      }
302      .footerContainer .mcnTextContent a{
303      color:#555;
304      font-weight:normal;
305      text-decoration:underline;
306      }
307      @media only screen and (max-width: 600px){
308      body,table,td,p,a,li,blockquote{
309      -webkit-text-size-adjust:none !important;
310      }
311      }   @media only screen and (max-width: 600px){
312      body{
313      width:100% !important;
314      min-width:100% !important;
315      }
316      }   @media only screen and (max-width: 600px){
317      .mcnRetinaImage{
318      max-width:100% !important;
319      }
320      }   @media only screen and (max-width: 600px){
321      table[class=mcnTextContentContainer]{
322      width:100% !important;
323      }
324      }   @media only screen and (max-width: 600px){
325      .mcnBoxedTextContentContainer{
326      max-width:100% !important;
327      min-width:100% !important;
328      width:100% !important;
329      }
330      }   @media only screen and (max-width: 600px){
331      table[class=mcpreview-image-uploader]{
332      width:100% !important;
333      display:none !important;
334      }
335      }   @media only screen and (max-width: 600px){
336      img[class=mcnImage]{
337      width:100% !important;
338      }
339      }   @media only screen and (max-width: 600px){
340      table[class=mcnImageGroupContentContainer]{
341      width:100% !important;
342      }
343      }   @media only screen and (max-width: 600px){
344      td[class=mcnImageGroupContent]{
345      padding:9px !important;
346      }
347      }   @media only screen and (max-width: 600px){
348      td[class=mcnImageGroupBlockInner]{
349      padding-bottom:0 !important;
350      padding-top:0 !important;
351      }
352      }   @media only screen and (max-width: 600px){
353      tbody[class=mcnImageGroupBlockOuter]{
354      padding-bottom:9px !important;
355      padding-top:9px !important;
356      }
357      }   @media only screen and (max-width: 600px){
358      table[class=mcnCaptionTopContent],table[class=mcnCaptionBottomContent]{
359      width:100% !important;
360      }
361      }   @media only screen and (max-width: 600px){
362      table[class=mcnCaptionLeftTextContentContainer],table[class=mcnCaptionRightTextContentContainer],table[class=mcnCaptionLeftImageContentContainer],table[class=mcnCaptionRightImageContentContainer],table[class=mcnImageCardLeftTextContentContainer],table[class=mcnImageCardRightTextContentContainer],.mcnImageCardLeftImageContentContainer,.mcnImageCardRightImageContentContainer{
363      width:100% !important;
364      }
365      }   @media only screen and (max-width: 600px){
366      td[class=mcnImageCardLeftImageContent],td[class=mcnImageCardRightImageContent]{
367      padding-right:18px !important;
368      padding-left:18px !important;
369      padding-bottom:0 !important;
370      }
371      }   @media only screen and (max-width: 600px){
372      td[class=mcnImageCardBottomImageContent]{
373      padding-bottom:9px !important;
374      }
375      }   @media only screen and (max-width: 600px){
376      td[class=mcnImageCardTopImageContent]{
377      padding-top:18px !important;
378      }
379      }   @media only screen and (max-width: 600px){
380      td[class=mcnImageCardLeftImageContent],td[class=mcnImageCardRightImageContent]{
381      padding-right:18px !important;
382      padding-left:18px !important;
383      padding-bottom:0 !important;
384      }
385      }   @media only screen and (max-width: 600px){
386      td[class=mcnImageCardBottomImageContent]{
387      padding-bottom:9px !important;
388      }
389      }   @media only screen and (max-width: 600px){
390      td[class=mcnImageCardTopImageContent]{
391      padding-top:18px !important;
392      }
393      }   @media only screen and (max-width: 600px){
394      table[class=mcnCaptionLeftContentOuter] td[class=mcnTextContent],table[class=mcnCaptionRightContentOuter] td[class=mcnTextContent]{
395      padding-top:9px !important;
396      }
397      }   @media only screen and (max-width: 600px){
398      td[class=mcnCaptionBlockInner] table[class=mcnCaptionTopContent]:last-child td[class=mcnTextContent],.mcnImageCardTopImageContent,.mcnCaptionBottomContent:last-child .mcnCaptionBottomImageContent{
399      padding-top:18px !important;
400      }
401      }   @media only screen and (max-width: 600px){
402      td[class=mcnBoxedTextContentColumn]{
403      padding-left:18px !important;
404      padding-right:18px !important;
405      }
406      }   @media only screen and (max-width: 600px){
407      td[class=mcnTextContent]{
408      padding-right:18px !important;
409      padding-left:18px !important;
410      }
411      }   @media only screen and (max-width: 600px){
412      table[class=templateContainer]{
413      max-width:600px !important;
414      width:100% !important;
415      }
416      }   @media only screen and (max-width: 600px){
417      h1{
418      font-size:24px !important;
419      line-height:125% !important;
420      }
421      }   @media only screen and (max-width: 600px){
422      h2{
423      font-size:20px !important;
424      line-height:125% !important;
425      }
426      }   @media only screen and (max-width: 600px){
427      h3{
428      font-size:18px !important;
429      line-height:125% !important;
430      }
431      }   @media only screen and (max-width: 600px){
432      h4{
433      font-size:16px !important;
434      line-height:125% !important;
435      }
436      }   @media only screen and (max-width: 600px){
437      table[class=mcnBoxedTextContentContainer] td[class=mcnTextContent],td[class=mcnBoxedTextContentContainer] td[class=mcnTextContent] p{
438      font-size:18px !important;
439      line-height:125% !important;
440      }
441      }   @media only screen and (max-width: 600px){
442      table[id=templatePreheader]{
443      display:block !important;
444      }
445      }   @media only screen and (max-width: 600px){
446      td[class=preheaderContainer] td[class=mcnTextContent],td[class=preheaderContainer] td[class=mcnTextContent] p{
447      font-size:14px !important;
448      line-height:115% !important;
449      }
450      }   @media only screen and (max-width: 600px){
451      td[class=headerContainer] td[class=mcnTextContent],td[class=headerContainer] td[class=mcnTextContent] p{
452      font-size:18px !important;
453      line-height:125% !important;
454      }
455      }   @media only screen and (max-width: 600px){
456      td[class=bodyContainer] td[class=mcnTextContent],td[class=bodyContainer] td[class=mcnTextContent] p{
457      font-size:18px !important;
458      line-height:125% !important;
459      }
460      }   @media only screen and (max-width: 600px){
461      td[class=footerContainer] td[class=mcnTextContent],td[class=footerContainer] td[class=mcnTextContent] p{
462      font-size:14px !important;
463      line-height:115% !important;
464      }
465      }   @media only screen and (max-width: 600px){
466      td[class=footerContainer] a[class=utilityLink]{
467      display:block !important;
468      }
469      }
470    </style></head> <body leftmargin="0" marginwidth="0" topmargin="0" marginheight="0" offset="0" style="margin: 0;padding: 0;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;background-color: #F2F2F2;height: 100% !important;width: 100% !important;"> <div itemscope itemtype="http://schema.org/EmailMessage"> <div itemprop="publisher" itemscope itemtype="http://schema.org/Organization"> <meta itemprop="name" content="PyCoder's Weekly"> <link itemprop="url" content="https://pycoders.com"> </div> <div itemprop="about" itemscope itemtype="http://schema.org/Offer"> <link itemprop="image" href="https://cdn.pycoders.com/37bdf31dc645f968ffb90196e5d38ff5"> </div> </div> <!--[if !gte mso 9]><!----><span class="mcnPreviewText" style="display:none; font-size:0px; line-height:0px; max-height:0px; max-width:0px; opacity:0; overflow:hidden; visibility:hidden; mso-hide:all;">How to Get Started With Jev in Python </span><!--<![endif]--> <center> <table align="center" border="0" cellpadding="0" cellspacing="0" height="100%" width="100%" id="bodyTable" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;margin: 0;padding: 0;background-color: #F2F2F2;height: 100% !important;width: 100% !important;"> <tr> <td align="center" valign="top" id="bodyCell" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;margin: 0;padding: 0;border-top: 0;height: 100% !important;width: 100% !important;"> <!-- BEGIN TEMPLATE // --> <table border="0" cellpadding="0" cellspacing="0" width="100%" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;"> <tr> <td align="center" valign="top" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;"> <!-- BEGIN PREHEADER // --> <table border="0" cellpadding="0" cellspacing="0" width="100%" id="templatePreheader" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;
470background-color: #3399cc;border-top: 0;border-bottom: 0;"> <tbody style="display: table; width: 100%;"> <tr> <td align="center" valign="top" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;"> <table border="0" cellpadding="0" cellspacing="0" width="600" class="templateContainer" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;"> <tr> <td valign="top" class="preheaderContainer" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;"> <table border="0" cellpadding="0" cellspacing="0" width="100%" class="mcnTextBlock" style="min-width: 100%;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;"> <tbody class="mcnTextBlockOuter"> <tr> <td valign="top" class="mcnTextBlockInner" style="padding-top: 9px;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;"> <!--[if mso]>
471                                        <table align="left" border="0" cellspacing="0" cellpadding="0" width="100%" style="width:100%;">
472                                          <tr>
473                                            <![endif]--> <!--[if mso]>
474                                            <td valign="top" width="390" style="width:390px;">
475                                              <![endif]--> <table align="left" border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" width="100%" class="mcnTextContentContainer"> <tbody> <tr> <td width="70%" valign="top" class="mcnTextContent" style="padding: 0px 18px 9px;color: #EEEEEE;font-family: Arial, &quot;Helvetica Neue&quot;, Helvetica, sans-serif;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size: 12px;line-height: 125%;text-align: left;"> #754 – SEPTEMBER 29, 2026 </td> <td width="30%" valign="top" class="mcnTextContent" style="padding: 0px 18px 9px;color: #FFFFFF;font-family: Arial, &quot;Helvetica Neue&quot;, Helvetica, sans-serif;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size: 12px;line-height: 125%;text-align: right;"> <a href="https://pycoders.com/issues/754/web" target="_blank" style="word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #EEEEEE;font-weight: normal;text-decoration: underline;">VIEW IN BROWSER</a> </td> </tr> </tbody> </table> <!--[if mso]>
476                                            </td>
477                                            <![endif]--> <!--[if mso]>
478                                          </tr>
479                                        </table>
480                                        <![endif]--> </td> </tr> </tbody> </table> </td> </tr> </table> </td> </tr> </tbody> </table> <!-- // END PREHEADER --> </td> </tr> <tr> <td align="center" valign="top" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;"> <!-- BEGIN HEADER // --> <table border="0" cellpadding="0" cellspacing="0" width="100%" id="templateHeader" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;background-color: #FFFFFF;border-top: 0;border-bottom: 0;"> <tr> <td align="center" valign="top" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;"> <table border="0" cellpadding="0" cellspacing="0" width="600" class="templateContainer" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;"> <tr> <td valign="top" class="headerContainer" style="padding-top: 10px;padding-bottom: 10px;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;"> <table border="0" cellpadding="0" cellspacing="0" width="100%" class="mcnImageBlock" style="min-width: 100%;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;"> <tbody class="mcnImageBlockOuter"> <tr> <td valign="top" style="padding: 9px;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" class="mcnImageBlockInner"> <table align="left" width="100%" border="0" cellpadding="0" cellspacing="0" class="mcnImageContentContainer" style="min-width: 100%;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;"> <tbody> <tr> <td class="mcnImageContent" valign="top" style="padding-right: 9px;padding-left: 9px;padding-top: 0;padding-bottom: 0;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;"> <a href="https://pycoders.com/issues/754/web" target="_blank"><img alt="The PyCoder&rsquo;s Weekly Logo" src="https://cdn.pycoders.com/37bdf31dc645f968ffb90196e5d38ff5" style="max-width: 100%;padding-bottom: 0;display: inline !important;vertical-align: bottom;border: 0;outline: none;text-decoration: none;-ms-interpolation-mode: bicubic;" class="mcnImage"></a> </td> </tr> </tbody> </table> </td> </tr> </tbody> </table> </td> </tr> </table> </td> </tr> </table> <!-- // END HEADER --> </td> </tr> <tr> <td align="center" valign="top" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;"> <!-- BEGIN BODY // --> <table border="0" cellpadding="0" cellspacing="0" width="100%" id="templateBody" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;background-color: #FFFFFF;border-top: 0;border-bottom: 0;"> <tr> <td align="center" valign="top" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;"> <table border="0" cellpadding="0" cellspacing="0" width="600" class="templateContainer" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;"> <tr> <td valign="top" class="bodyContainer" style="padding-top: 10px;padding-bottom: 10px;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;"> <table border="0" cellpadding="0" cellspacing="0" width="100%" class="mcnTextBlock" style="min-width: 100%;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;"> <tbody class="mcnTextBlockOuter"> <tr> <td valign="top" class="mcnTextBlockInner" style="padding-top: 9px;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;"> <!--[if mso]>
481                                      <table align="left" border="0" cellspacing="0" cellpadding="0" width="100%" style="width:100%;">
482                                        <tr>
483                                          <![endif]--> <!--[if mso]>
484                                          <td valign="top" width="600" style="width:600px;">
485                                            <![endif]--> <table align="left" border="0" cellpadding="0" cellspacing="0" style="max-width: 100%;min-width: 100%;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" width="100%" class="mcnTextContentContainer"> <tbody> <tr> <td valign="top" class="mcnTextContent" style="padding-top: 0;padding-right: 18px;padding-bottom: 9px;padding-left: 18px;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #555;font-family: Helvetica;font-size: 15px;line-height: 150%;text-align: left;"> <span style="color: #3399CC;font-family: georgia,serif;font-size: 20px;font-weight: normal;line-height: 1.2;text-decoration: none;"><a href="https://pycoders.com/link/17121/web" style="color: #3399CC;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">How to Get Started With Jev in Python</a></span><br> <span style="font-family:georgia,serif; font-size:16px; line-height:1.2">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.</span><br> <span style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:12px;text-transform:normal;"><a href="https://pycoders.com/link/17121/web" style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">
485REAL PYTHON</a></span> <br><br> <span style="color: #3399CC;font-family: georgia,serif;font-size: 20px;font-weight: normal;line-height: 1.2;text-decoration: none;"><a href="https://pycoders.com/link/17130/web" style="color: #3399CC;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">Quiz: How to Get Started With Jev in Python</a></span><br> <span style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:12px;text-transform:normal;"><a href="https://pycoders.com/link/17130/web" style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">REAL PYTHON</a></span> <br><br> <span style="color: #3399CC;font-family: georgia,serif;font-size: 20px;font-weight: normal;line-height: 1.2;text-decoration: none;"><a href="https://pycoders.com/link/17140/web" style="color: #3399CC;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">MCP Auth That Passes the Security Review</a></span><br> <a href="https://pycoders.com/link/17140/web" target="_blank"><img style="float:right; margin-left: 16px; margin-top: 7px; width: 17%;" src="https://cdn.pycoders.com/012e0a1cbc39d888c748f46d3b3a4e1a" alt></a> <span style="font-family:georgia,serif; font-size:16px; line-height:1.2">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. <a href="https://pycoders.com/link/17140/web" style="color: #3399CC;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">Learn More →</a></span><br> <span style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:12px;text-transform:normal;"><a href="https://pycoders.com/link/17140/web" style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">PROPELAUTH</a></span><span style="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;">sponsor</span> <br><br> <span style="color: #3399CC;font-family: georgia,serif;font-size: 20px;font-weight: normal;line-height: 1.2;text-decoration: none;"><a href="https://pycoders.com/link/17131/web" style="color: #3399CC;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">How Libraries Run Rust Inside Python (With PyO3)</a></span><br> <span style="font-family:georgia,serif; font-size:16px; line-height:1.2">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.</span><br> <span style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:12px;text-transform:normal;"><a href="https://pycoders.com/link/17131/web" style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">BELDERBOS.DEV</a> • Shared by <a href="https://pycoders.com/link/17136/web" style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">Bob Belderbos</a></span> <br><br> <span style="color: #3399CC;font-family: georgia,serif;font-size: 20px;font-weight: normal;line-height: 1.2;text-decoration: none;"><a href="https://pycoders.com/link/17135/web" style="color: #3399CC;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">Creating Temporary Files in Python</a></span><br> <span style="font-family:georgia,serif; font-size:16px; line-height:1.2">How to create temporary files and directories in Python using the tempfile module&rsquo;s <code>NamedTemporaryFile</code> and <code>TemporaryDirectory</code>.</span><br> <span style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:12px;text-transform:normal;"><a href="https://pycoders.com/link/17135/web" style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">TREY HUNNER</a></span> <br><br> <span style="color: #3399CC;font-family: georgia,serif;font-size: 20px;font-weight: normal;line-height: 1.2;text-decoration: none;"><a href="https://pycoders.com/link/17137/web" style="color: #3399CC;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">PEP 849: More Expressive Type Expressions (Draft)</a></span><br> <span style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:12px;text-transform:normal;"><a href="https://pycoders.com/link/17137/web" style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">PYTHON.ORG</a></span> <br><br> <span style="color: #3399CC;font-family: georgia,serif;font-size: 20px;font-weight: normal;line-height: 1.2;text-decoration: none;"><a href="https://pycoders.com/link/17118/web" style="color: #3399CC;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">PEP 848: Generational Incremental Garbage Collection (Draft)</a></span><br> <span style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:12px;text-transform:normal;"><a href="https://pycoders.com/link/17118/web" style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">PYTHON.ORG</a></span> <br><br> <span style="color: #3399CC;font-family: georgia,serif;font-size: 20px;font-weight: normal;line-height: 1.2;text-decoration: none;"><a href="https://pycoders.com/link/17120/web" style="color: #3399CC;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">PyPy v8.0.0 Released</a></span><br> <span style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:12px;text-transform:normal;"><a href="https://pycoders.com/link/17120/web" style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">PYPY.ORG</a></span> <br><br> <br><h2 style="margin: 0;padding: 0;display: block;font-family: Helvetica;font-size: 26px;font-style: normal;font-weight: bold;line-height: 125%;letter-spacing: -.5px;text-align: left;color: #707a87 !important; border-bottom: 3px solid #e5e8ea;">Articles &amp; Tutorials</h2><br> <span style="color: #3399CC;font-family: georgia,serif;font-size: 20px;font-weight: normal;line-height: 1.2;text-decoration: none;"><a href="https://pycoders.com/link/17128/web" style="color: #3399CC;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">Navigating AI in Open Source: Insights From Wagtail</a></span><br> <span style="font-family:georgia,serif; font-size:16px; line-height:1.2">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.</span><br> <span style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:12px;text-transform:normal;"><a href="https://pycoders.com/link/17128/web" style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">
485REAL PYTHON</a></span> <span style="color: #AAAAAA;text-transform:uppercase;padding:1px 4px;border:1px solid #dddddd;margin-left:4px;font-size:0.8em;border-radius:2px;">podcast</span> <br><br> <span style="color: #3399CC;font-family: georgia,serif;font-size: 20px;font-weight: normal;line-height: 1.2;text-decoration: none;"><a href="https://pycoders.com/link/17114/web" style="color: #3399CC;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">How BMLL Processes 1.5 TB of Data in Under 4 Minutes</a></span><br> <span style="font-family:georgia,serif; font-size:16px; line-height:1.2">BMLL Technologies processes petabytes of nanosecond-precision market data for the world&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.</span><br> <span style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:12px;text-transform:normal;"><a href="https://pycoders.com/link/17114/web" style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">POLA.RS</a></span> <br><br> <span style="color: #3399CC;font-family: georgia,serif;font-size: 20px;font-weight: normal;line-height: 1.2;text-decoration: none;"><a href="https://pycoders.com/link/17142/web" style="color: #3399CC;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">Agent Memory for Wherever Your AI Is Running</a></span><br> <a href="https://pycoders.com/link/17142/web" target="_blank"><img style="float:right; margin-left: 16px; margin-top: 7px; width: 17%;" src="https://cdn.pycoders.com/7a5e5f9b598e29d5d178e3f62f45bf04" alt></a> <span style="font-family:georgia,serif; font-size:16px; line-height:1.2">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. <a href="https://pycoders.com/link/17142/web" style="color: #3399CC;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">Get Started Free →</a></span><br> <span style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:12px;text-transform:normal;"><a href="https://pycoders.com/link/17142/web" style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">ACTIAN</a></span><span style="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;">sponsor</span> <br><br> <span style="color: #3399CC;font-family: georgia,serif;font-size: 20px;font-weight: normal;line-height: 1.2;text-decoration: none;"><a href="https://pycoders.com/link/17133/web" style="color: #3399CC;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">Python Statistics Fundamentals: How to Describe Your Data</a></span><br> <span style="font-family:georgia,serif; font-size:16px; line-height:1.2">In this step-by-step tutorial, you&rsquo;ll learn the fundamentals of descriptive statistics and how to calculate them in Python. You&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.</span><br> <span style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:12px;text-transform:normal;"><a href="https://pycoders.com/link/17133/web" style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">
485REAL PYTHON</a></span> <br><br> <span style="color: #3399CC;font-family: georgia,serif;font-size: 20px;font-weight: normal;line-height: 1.2;text-decoration: none;"><a href="https://pycoders.com/link/17111/web" style="color: #3399CC;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">EVE Online Departs for Python 3</a></span><br> <span style="font-family:georgia,serif; font-size:16px; line-height:1.2">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.</span><br> <span style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:12px;text-transform:normal;"><a href="https://pycoders.com/link/17111/web" style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">TALK PYTHON</a></span> <span style="color: #AAAAAA;text-transform:uppercase;padding:1px 4px;border:1px solid #dddddd;margin-left:4px;font-size:0.8em;border-radius:2px;">podcast</span> <br><br> <span style="color: #3399CC;font-family: georgia,serif;font-size: 20px;font-weight: normal;line-height: 1.2;text-decoration: none;"><a href="https://pycoders.com/link/17127/web" style="color: #3399CC;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">I Is for Immutable: Python a to Z</a></span><br> <span style="font-family:georgia,serif; font-size:16px; line-height:1.2">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.</span><br> <span style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:12px;text-transform:normal;"><a href="https://pycoders.com/link/17127/web" style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">JUHA-MATTI SANTALA</a></span> <br><br> <span style="color: #3399CC;font-family: georgia,serif;font-size: 20px;font-weight: normal;line-height: 1.2;text-decoration: none;"><a href="https://pycoders.com/link/17141/web" style="color: #3399CC;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">Your Personal Python Mentor</a></span><br> <span style="font-family:georgia,serif; font-size:16px; line-height:1.2">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.</span><br> <span style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:12px;text-transform:normal;"><a href="https://pycoders.com/link/17141/web" style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">REAL PYTHON</a></span><span style="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;">sponsor</span> <br><br> <span style="color: #3399CC;font-family: georgia,serif;font-size: 20px;font-weight: normal;line-height: 1.2;text-decoration: none;"><a href="https://pycoders.com/link/17138/web" style="color: #3399CC;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">7 Python Mistakes Beginners Make</a></span><br> <span style="font-family:georgia,serif; font-size:16px; line-height:1.2">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.</span><br> <span style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:12px;text-transform:normal;"><a href="https://pycoders.com/link/17138/web" style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">NAHLA DAVIES</a></span> <br><br> <span style="color: #3399CC;font-family: georgia,serif;font-size: 20px;font-weight: normal;line-height: 1.2;text-decoration: none;"><a href="https://pycoders.com/link/17113/web" style="color: #3399CC;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">Speeding Up a Python Service With CinderX</a></span><br> <span style="font-family:georgia,serif; font-size:16px; line-height:1.2">CinderX is Meta&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</span><br> <span style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:12px;text-transform:normal;"><a href="https://pycoders.com/link/17113/web" style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">TIMOFEI IVANKOV</a></span> <br><br> <span style="color: #3399CC;font-family: georgia,serif;font-size: 20px;font-weight: normal;line-height: 1.2;text-decoration: none;"><a href="https://pycoders.com/link/17122/web" style="color: #3399CC;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">Cursor vs Copilot: Which AI Editor Is Better for Python?</a></span><br> <span style="font-family:georgia,serif; font-size:16px; line-height:1.2">Compare Cursor vs GitHub Copilot by building a Python project, testing agent workflows, debugging code, and evaluating AI-assisted development.</span><br> <span style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:12px;text-transform:normal;"><a href="https://pycoders.com/link/17122/web" style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">
485REAL PYTHON</a></span> <br><br> <span style="color: #3399CC;font-family: georgia,serif;font-size: 20px;font-weight: normal;line-height: 1.2;text-decoration: none;"><a href="https://pycoders.com/link/17115/web" style="color: #3399CC;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">Quiz: Cursor vs Copilot: Which AI Editor Is Better for Python?</a></span><br> <span style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:12px;text-transform:normal;"><a href="https://pycoders.com/link/17115/web" style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">REAL PYTHON</a></span> <br><br> <span style="color: #3399CC;font-family: georgia,serif;font-size: 20px;font-weight: normal;line-height: 1.2;text-decoration: none;"><a href="https://pycoders.com/link/17119/web" style="color: #3399CC;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">Using the Claude API in Python</a></span><br> <span style="font-family:georgia,serif; font-size:16px; line-height:1.2">Learn how to use the Claude API in Python to send prompts, control responses with system instructions, and get structured output.</span><br> <span style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:12px;text-transform:normal;"><a href="https://pycoders.com/link/17119/web" style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">REAL PYTHON</a></span> <span style="color: #AAAAAA;text-transform:uppercase;padding:1px 4px;border:1px solid #dddddd;margin-left:4px;font-size:0.8em;border-radius:2px;">course</span> <br><br> <span style="color: #3399CC;font-family: georgia,serif;font-size: 20px;font-weight: normal;line-height: 1.2;text-decoration: none;"><a href="https://pycoders.com/link/17134/web" style="color: #3399CC;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">Quiz: Using the Claude API in Python</a></span><br> <span style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:12px;text-transform:normal;"><a href="https://pycoders.com/link/17134/web" style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">REAL PYTHON</a></span> <br><br> <br><h2 style="margin: 0;padding: 0;display: block;font-family: Helvetica;font-size: 26px;font-style: normal;font-weight: bold;line-height: 125%;letter-spacing: -.5px;text-align: left;color: #707a87 !important; border-bottom: 3px solid #e5e8ea;">Projects &amp; Code</h2><br> <a href="https://pycoders.com/link/17139/web" target="_blank"><img style="float:right; margin-left: 16px; width: 20%;" src="https://cdn.pycoders.com/7282536edb3a95cb625becb46a755dd7" alt></a> <span style="color: #3399CC;font-family: georgia,serif;font-size: 20px;font-weight: normal;line-height: 1.2;text-decoration: none;"><a href="https://pycoders.com/link/17139/web" style="font-family: Helvetica; color: #707a87;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">Brought to you by <strong>Real Python</strong></a></span><span style="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;">sponsor</span> <br> <span style="font-family:Helvetica; font-size:16px; line-height:1.2">Online Python Training Created by Experts →</span><br> <br> <span style="color: #3399CC;font-family: georgia,serif;font-size: 20px;font-weight: normal;line-height: 1.2;text-decoration: none;"><a href="https://pycoders.com/link/17129/web" style="color: #3399CC;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">pyfastlogging: A Lightning Fast Logger, Written in Rust</a></span><br> <span style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:12px;text-transform:normal;"><a href="https://pycoders.com/link/17129/web" style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">PYPI.ORG</a> • Shared by Martin Bammer</span> <br><br> <span style="color: #3399CC;font-family: georgia,serif;font-size: 20px;font-weight: normal;line-height: 1.2;text-decoration: none;"><a href="https://pycoders.com/link/17108/web" style="color: #3399CC;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">Renart: A Local Workspace for SQL and Python Data Pipelines</a></span><br> <span style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:12px;text-transform:normal;"><a href="https://pycoders.com/link/17108/web" style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">GITHUB.COM/RENART-DATA</a> • Shared by Lukas Senicourt</span> <br><br> <span style="color: #3399CC;font-family: georgia,serif;font-size: 20px;font-weight: normal;line-height: 1.2;text-decoration: none;"><a href="https://pycoders.com/link/17132/web" style="color: #3399CC;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">Pyxel Code Maker: Retro Python Games in Your Browser</a></span><br> <span style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:12px;text-transform:normal;"><a href="https://pycoders.com/link/17132/web" style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">KITAO.GITHUB.IO</a> • Shared by <a href="https://pycoders.com/link/17123/web" style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">Takashi Kitao</a></span> <br><br> <span style="color: #3399CC;font-family: georgia,serif;font-size: 20px;font-weight: normal;line-height: 1.2;text-decoration: none;"><a href="https://pycoders.com/link/17125/web" style="color: #3399CC;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">flowsint: Extensible Graph-Based Investigation Tool</a></span><br> <span style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:12px;text-transform:normal;"><a href="https://pycoders.com/link/17125/web" style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">GITHUB.COM/RECONURGE</a></span> <br><br> <span style="color: #3399CC;font-family: georgia,serif;font-size: 20px;font-weight: normal;line-height: 1.2;text-decoration: none;"><a href="https://pycoders.com/link/17112/web" style="color: #3399CC;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">bashautom: Persistent, Stateful Bash Sessions for Python</a></span><br> <span style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;font-size:12px;text-transform:normal;"><a href="https://pycoders.com/link/17112/web" style="color: #AAAAAA;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">GITHUB.COM/HUSKAGO</a> • Shared by Tiago</span> <br><br> <div style="background: #ffffde; padding: 1em;"> <h2 style="margin: 0;padding: 0;display: block;font-family: Helvetica;font-size: 18px;font-style: normal;font-weight: bold;line-height: 125%;letter-spacing: -.5px;text-align: left;color: #707a87 !important; border-bottom: 3px solid #e5e8ea;">📆🐍 Upcoming Python Events</h2><br> <span style="color: #3399CC;font-family: georgia,serif;font-size: 16px;font-weight: normal;line-height: 1.2;text-decoration: none;"><a href="https://pycoders.com/link/17110/web" style="color: #3399CC;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">Weekly Real Python Office Hours Q&amp;A (Virtual)</a><br></span><span style="font-family:georgia,serif; font-size:16px; line-height:1.2"> Septempber 30, 2026</span><br> <br> <span style="color: #3399CC;font-family: georgia,serif;font-size: 16px;font-weight: normal;line-height: 1.2;text-decoration: none;"><a href="https://pycoders.com/link/17116/web" style="color: #3399CC;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">Real Python Live: Release Radar: Python 3.15</a><br></span><span style="font-family:georgia,serif; font-size:16px; line-height:1.2"> Septempber 30, 2026</span><br> <br> <span style="color: #3399CC;font-family: georgia,serif;font-size: 16px;font-weight: normal;line-height: 1.2;text-decoration: none;"><a href="https://pycoders.com/link/17109/web" style="color: #3399CC;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">Canberra Python Meetup</a><br></span><span style="font-family:georgia,serif; font-size:16px; line-height:1.2"> October 1, 2026</span><br> <br> <span style="color: #3399CC;font-family: georgia,serif;font-size: 16px;font-weight: normal;line-height: 1.2;text-decoration: none;"><a href="https://pycoders.com/link/17117/web" style="color: #3399CC;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">Sydney Python User Group (SyPy)</a><br></span><span style="font-family:georgia,serif; font-size:16px; line-height:1.2"> October 1, 2026</span><br> <br> <span style="color: #3399CC;font-family: georgia,serif;font-size: 16px;font-weight: normal;line-height: 1.2;text-decoration: none;"><a href="https://pycoders.com/link/17124/web" style="color: #3399CC;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">PyBay 2026</a><br></span><span style="font-family:georgia,serif; font-size:16px; line-height:1.2"> October 3 to October 4, 2026</span><br> <br> <span style="color: #3399CC;font-family: georgia,serif;font-size: 16px;font-weight: normal;line-height: 1.2;text-decoration: none;"><a href="https://pycoders.com/link/17126/web" style="color: #3399CC;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">PyCon Africa 2026</a><br></span><span style="font-family:georgia,serif; font-size:16px; line-height:1.2"> October 7 to October 12, 2026</span><br> <br> <span style="color: #3399CC;font-family: georgia,serif;font-size: 16px;font-weight: normal;line-height: 1.2;text-decoration: none;"><a href="https://pycoders.com/link/17107/web" style="color: #3399CC;font-weight: normal;text-decoration: none;word-wrap: break-word;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" target="_blank">PyEducation: IPAF</a><br></span><span style="font-family:georgia,serif; font-size:16px; line-height:1.2"> October 8 to October 9, 2026</span><br> </div> </td> </tr> </tbody> </table> <!--[if mso]>
486                                          </td>
487                                          <![endif]--> <!--[if mso]>
488                                        </tr>
489                                      </table>
490                                      <![endif]--> </td> </tr> </tbody> </table> </td> </tr> </table> </td> </tr> </table> </td> </tr> </table> <!-- // END BODY --> </td> </tr> <tr> <td align="center" valign="top" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;"> <!-- BEGIN FOOTER // --> <table border="0" cellpadding="0" cellspacing="0" width="100%" id="templateFooter" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;background-color: #e5e8ea;border-top: 0;border-bottom: 0;"> <tr> <td align="center" valign="top" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;"> <table border="0" cellpadding="0" cellspacing="0" width="600" class="templateContainer" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;"> <tr> <td valign="top" class="footerContainer" style="padding-top: 10px;padding-bottom: 10px;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;"> <table border="0" cellpadding="0" cellspacing="0" width="100%" class="mcnTextBlock" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;"> <tbody class="mcnTextBlockOuter"> <tr> <td valign="top" class="mcnTextBlockInner" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;"> <table align="left" border="0" cellpadding="0" cellspacing="0" width="600" class="mcnTextContentContainer" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;"> <tbody> <tr> <td valign="top" class="mcnTextContent" style="padding-top: 9px;padding-right: 18px;padding-bottom: 9px;padding-left: 18px;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #555;font-family: Helvetica;font-size: 11px;line-height: 125%;text-align: left;"> Happy Pythoning!<br> <em>Copyright © 2026 PyCoder&rsquo;s Weekly, All rights reserved.</em><br> </td> </tr> </tbody> </table> </td> </tr> </tbody> </table> </td> </tr> </table> </td> </tr> </table> <!-- // END FOOTER --> </td> </tr> </table> <!-- // END TEMPLATE --> </center> <img src="https://pycoders.com/issues/754/open/web" width="1" height="1" alt> </body> </html> 
491    </div>
492  
493
494  <div class="row mb-3">
495  <div class="col">
496    
497      <p class="text-start m-0"><a href="/issues/753">« Previous Issue</a></p>
498    
499  </div>
500  <div class="col">
501    
502  </div>
503</div>
504
505
506  <form class="my-4" method="post" action="/subscriptions">
507  <input type="hidden" name="csrfmiddlewaretoken" value="l1rjhqXq4RYrSCJTDYHnzIzLEXVodP2zLv1QAjSDC7JpMUoTAcfuScEjMAPWEQRw">
508  <div class="row">
509    <div class="col-12 col-md pe-3">
510      <input type="email" name="email" class="form-control form-control-lg mb-2 mt-2" placeholder="Want to Subscribe? Enter Your Email Address Here"  required>
511    </div>
512    <div class="col-auto p-0 mx-auto">
513      <button type="submit" class="form-control form-control-lg btn btn-primary px-5 mt-2">Subscribe »</button>
514    </div>
515  </div>
516</form>
517
518</div>
519
520<footer class="footer">
521  <div class="container">
522    <p class="my-3 text-center text-muted small">❤️ Happy Pythoning!<br>© 2012–2026 PyCoder&rsquo;s Weekly ⋅ <a class="text-muted" href="https://twitter.com/pycoders" target="_blank">Twitter</a> ⋅ <a class="text-muted" href="mailto:[email protected]" target="_b
522lank">Email</a> ⋅ <a class="text-muted" href="https://www.pythonjobshq.com" target="_blank">Job Board</a> ⋅ <a class="text-muted" href="/advertise">Advertise</a> ⋅ <a class="text-muted" href="/submissions">Submit a Link</a></p>
523  </div>
524</footer>
525
526
527
528
529    
530    
530<script src="/static/bootstrap.min.1d3fef5019c9.js"></script>
530
531
532    
532<script src="/static/captcha.28d7cc53fe1f.js" async></script>
532
533
534    
535
536
537  </body>
538</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.