<!DOCTYPE html><html><head><title></title><style type="text/css">#qt ,#qt #qt-bodyTable,#qt #qt-bodyCell{margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;height:100% !important;width:100% !important;}
#qt table{border-collapse:collapse;}
#qt img,#qt a img{border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-top-style:initial;border-right-style:initial;border-bottom-style:initial;border-left-style:initial;border-top-color:initial;border-right-color:initial;border-bottom-color:initial;border-left-color:initial;border-image-source:initial;border-image-slice:initial;border-image-width:initial;border-image-outset:initial;border-image-repeat:initial;outline-color:initial;outline-style:none;outline-width:initial;text-decoration:none;}
#qt h2{margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}
#qt a{word-wrap:break-word;}
#qt .qt-mcnPreviewText{display:none !important;}
#qt ,#qt table,#qt td,#qt a{-webkit-text-size-adjust:100%;}
#qt #qt-bodyCell{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}
#qt .qt-mcnImage{vertical-align:bottom;}
#qt .qt-mcnTextContent img{height:auto !important;}
#qt ,#qt #qt-bodyTable{background-color:rgb(242, 242, 242);}
#qt #qt-bodyCell{border-top-width:0px;border-top-style:initial;border-top-color:initial;}
#qt h2{display:block;font-size:26px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:-0.75px;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;text-align:left;color:rgb(64, 64, 64) !important;}
#qt #qt-templatePreheader{background-color:rgb(51, 153, 204);border-top-width:0px;border-top-style:initial;border-top-color:initial;border-bottom-width:0px;border-bottom-style:initial;border-bottom-color:initial;}
#qt .qt-preheaderContainer .qt-mcnTextContent{color:rgb(255, 255, 255);font-size:11px;line-height:125%;text-align:left;}
#qt .qt-preheaderContainer .qt-mcnTextContent a{color:rgb(255, 255, 255);font-weight:normal;text-decoration:underline;}
#qt #qt-templateBody,#qt #qt-templateHeader{background-color:rgb(255, 255, 255);border-top-width:0px;border-top-style:initial;border-top-color:initial;border-bottom-width:0px;border-bottom-style:initial;border-bottom-color:initial;}
#qt .qt-bodyContainer .qt-mcnTextContent{color:rgb(85, 85, 85);font-size:16px;line-height:150%;text-align:left;margin-top:0px;margin-right:0px;margin-bottom:1em;margin-left:0px;}
#qt .qt-bodyContainer .qt-mcnTextContent a{color:rgb(109, 198, 221);font-weight:normal;text-decoration:underline;}
#qt #qt-templateFooter{background-color:rgb(242, 242, 242);border-top-width:0px;border-top-style:initial;border-top-color:initial;border-bottom-width:0px;border-bottom-style:initial;border-bottom-color:initial;}
#qt .qt-footerContainer .qt-mcnTextContent{color:rgb(85, 85, 85);font-size:11px;line-height:125%;text-align:left;}
#qt .qt-footerContainer .qt-mcnTextContent a{color:rgb(85, 85, 85);font-weight:normal;text-decoration:underline;}
@media only screen and (max-width: 600px){
#qt ,#qt table,#qt td,#qt a{-webkit-text-size-adjust:none !important;}
}
@media only screen and (max-width: 600px){
#qt {width:100% !important;min-width:100% !important;}
}
@media only screen and (max-width: 600px){
}
@media only screen and (max-width: 600px){
#qt table[class="qt-mcnTextContentContainer"]{width:100% !important;}
}
@media only screen and (max-width: 600px){
}
@media only screen and (max-width: 600px){
}
@media only screen and (max-width: 600px){
#qt img[class="qt-mcnImage"]{width:100% !important;}
}
@media only screen and (max-width: 600px){
}
@media only screen and (max-width: 600px){
}
@media only screen and (max-width: 600px){
}
@media only screen and (max-width: 600px){
}
@media only screen and (max-width: 600px){
}
@media only screen and (max-width: 600px){
}
@media only screen and (max-width: 600px){
}
@media only screen and (max-width: 600px){
}
@media only screen and (max-width: 600px){
}
@media only screen and (max-width: 600px){
}
@media only screen and (max-width: 600px){
}
@media only screen and (max-width: 600px){
}
@media only screen and (max-width: 600px){
}
@media only screen and (max-width: 600px){
#qt td[class="qt-mcnCaptionBlockInner"] table[class="qt-mcnCaptionTopContent"]:last-child td[class="qt-mcnTextContent"],#qt .qt-mcnCaptionBottomContent:last-child .qt-mcnCaptionBottomImageContent{padding-top:18px !important;}
}
@media only screen and (max-width: 600px){
}
@media only screen and (max-width: 600px){
#qt td[class="qt-mcnTextContent"]{padding-right:18px !important;padding-left:18px !important;}
}
@media only screen and (max-width: 600px){
#qt table[class="qt-templateContainer"]{max-width:600px !important;width:100% !important;}
}
@media only screen and (max-width: 600px){
}
@media only screen and (max-width: 600px){
#qt h2{font-size:20px !important;line-height:125% !important;}
}
@media only screen and (max-width: 600px){
}
@media only screen and (max-width: 600px){
}
@media only screen and (max-width: 600px){
}
@media only screen and (max-width: 600px){
#qt table[id="qt-templatePreheader"]{display:block !important;}
}
@media only screen and (max-width: 600px){
#qt td[class="qt-preheaderContainer"] td[class="qt-mcnTextContent"]{font-size:14px !important;line-height:115% !important;}
}
@media only screen and (max-width: 600px){
}
@media only screen and (max-width: 600px){
#qt td[class="qt-bodyContainer"] td[class="qt-mcnTextContent"]{font-size:18px !important;line-height:125% !important;}
}
@media only screen and (max-width: 600px){
#qt td[class="qt-footerContainer"] td[class="qt-mcnTextContent"]{font-size:14px !important;line-height:115% !important;}
}
@media only screen and (max-width: 600px){
#qt td[class="qt-footerContainer"] a[class="qt-utilityLink"]{display:block !important;}
}

p.MsoNormal,p.MsoNoSpacing{margin:0}</style></head><body><div>I get this newsletter, and I figured I would share. There are some great projects here!</div><div><br></div><div>----- Original message -----<br></div><div>From: PyCoder's Weekly <<a href="mailto:admin@pycoders.com">admin@pycoders.com</a>><br></div><div>To: <a href="mailto:snelzing@fastmail.com">snelzing@fastmail.com</a><br></div><div>Subject: Flashcards in Django, Persistent Auth in CLIs, Replace These Libraries, and More<br></div><div>Date: Tuesday, July 26, 2022 4:01 PM<br></div><div><br></div><div type="cite" id="qt" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;-webkit-text-size-adjust:100%;background-color:rgb(242, 242, 242);width:100% !important;"><div><div><br></div><div><br></div></div><div><span class="qt-mcnPreviewText" style="display:none;line-height:0px;max-height:0px;max-width:0px;opacity:0;overflow-x:hidden;overflow-y:hidden;visibility:hidden;"><span class="size" style="font-size:0px;">Build a Flashcards App With Django </span></span>  <br></div><table align="center" border="0" cellpadding="0" cellspacing="0" height="100%" width="100%" id="qt-bodyTable" style="border-collapse:collapse;-webkit-text-size-adjust:100%;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;background-color:rgb(242, 242, 242);height:100% !important;width:100% !important;"><tbody><tr><td align="center" valign="top" id="qt-bodyCell" style="-webkit-text-size-adjust:100%;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-top-style:initial;border-top-color:initial;height:100% !important;width:100% !important;"><table border="0" cellpadding="0" cellspacing="0" width="100%" style="border-collapse:collapse;-webkit-text-size-adjust:100%;"><tbody><tr><td align="center" valign="top" style="-webkit-text-size-adjust:100%;"><table border="0" cellpadding="0" cellspacing="0" width="100%" id="qt-templatePreheader" style="border-collapse:collapse;-webkit-text-size-adjust:100%;background-color:rgb(51, 153, 204);border-top-width:0px;border-top-style:initial;border-top-color:initial;border-bottom-width:0px;border-bottom-style:initial;border-bottom-color:initial;"><tbody style="display:table;width:100%;"><tr><td align="center" valign="top" style="-webkit-text-size-adjust:100%;"><table border="0" cellpadding="0" cellspacing="0" width="600" class="qt-templateContainer" style="border-collapse:collapse;-webkit-text-size-adjust:100%;"><tbody><tr><td valign="top" class="qt-preheaderContainer" style="-webkit-text-size-adjust:100%;"><table border="0" cellpadding="0" cellspacing="0" width="100%" class="qt-mcnTextBlock" style="min-width:100%;border-collapse:collapse;-webkit-text-size-adjust:100%;"><tbody class="qt-mcnTextBlockOuter"><tr><td valign="top" class="qt-mcnTextBlockInner" style="padding-top:9px;-webkit-text-size-adjust:100%;"><table align="left" border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;-webkit-text-size-adjust:100%;" width="100%" class="qt-mcnTextContentContainer"><tbody><tr><td width="70%" valign="top" class="qt-mcnTextContent" style="padding-top:0px;padding-right:18px;padding-bottom:9px;padding-left:18px;color:rgb(238, 238, 238);font-family:Arial, "Helvetica Neue", Helvetica, sans-serif;-webkit-text-size-adjust:100%;font-size:12px;line-height:125%;text-align:left;">#535 – JULY 26, 2022<br></td><td width="30%" valign="top" class="qt-mcnTextContent" style="padding-top:0px;padding-right:18px;padding-bottom:9px;padding-left:18px;color:rgb(255, 255, 255);font-family:Arial, "Helvetica Neue", Helvetica, sans-serif;-webkit-text-size-adjust:100%;font-size:12px;line-height:125%;text-align:right;"><a href="https://pycoders.com/issues/535" target="_blank" style="word-wrap:break-word;-webkit-text-size-adjust:100%;color:rgb(238, 238, 238);font-weight:normal;text-decoration:underline;">VIEW IN BROWSER</a><br></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></td></tr><tr><td align="center" valign="top" style="-webkit-text-size-adjust:100%;"><table border="0" cellpadding="0" cellspacing="0" width="100%" id="qt-templateHeader" style="border-collapse:collapse;-webkit-text-size-adjust:100%;background-color:rgb(255, 255, 255);border-top-width:0px;border-top-style:initial;border-top-color:initial;border-bottom-width:0px;border-bottom-style:initial;border-bottom-color:initial;"><tbody><tr><td align="center" valign="top" style="-webkit-text-size-adjust:100%;"><table border="0" cellpadding="0" cellspacing="0" width="600" class="qt-templateContainer" style="border-collapse:collapse;-webkit-text-size-adjust:100%;"><tbody><tr><td valign="top" class="qt-headerContainer" style="padding-top:10px;padding-bottom:10px;-webkit-text-size-adjust:100%;"><table border="0" cellpadding="0" cellspacing="0" width="100%" class="qt-mcnImageBlock" style="min-width:100%;border-collapse:collapse;-webkit-text-size-adjust:100%;"><tbody class="qt-mcnImageBlockOuter"><tr><td valign="top" style="padding-top:9px;padding-right:9px;padding-bottom:9px;padding-left:9px;-webkit-text-size-adjust:100%;" class="qt-mcnImageBlockInner"><table align="left" width="100%" border="0" cellpadding="0" cellspacing="0" class="qt-mcnImageContentContainer" style="min-width:100%;border-collapse:collapse;-webkit-text-size-adjust:100%;"><tbody><tr><td class="qt-mcnImageContent" valign="top" style="padding-right:9px;padding-left:9px;padding-top:0px;padding-bottom:0px;-webkit-text-size-adjust:100%;"><a href="https://pycoders.com"><img alt="The PyCoder’s Weekly Logo" src="https://cdn.pycoders.com/37bdf31dc645f968ffb90196e5d38ff5" style="max-width:100%;padding-bottom:0px;vertical-align:bottom;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-top-style:initial;border-right-style:initial;border-bottom-style:initial;border-left-style:initial;border-top-color:initial;border-right-color:initial;border-bottom-color:initial;border-left-color:initial;border-image-source:initial;border-image-slice:initial;border-image-width:initial;border-image-outset:initial;border-image-repeat:initial;outline-color:initial;outline-style:none;outline-width:initial;text-decoration:none;display:inline !important;" class="qt-mcnImage"></a><br></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></td></tr><tr><td align="center" valign="top" style="-webkit-text-size-adjust:100%;"><table border="0" cellpadding="0" cellspacing="0" width="100%" id="qt-templateBody" style="border-collapse:collapse;-webkit-text-size-adjust:100%;background-color:rgb(255, 255, 255);border-top-width:0px;border-top-style:initial;border-top-color:initial;border-bottom-width:0px;border-bottom-style:initial;border-bottom-color:initial;"><tbody><tr><td align="center" valign="top" style="-webkit-text-size-adjust:100%;"><table border="0" cellpadding="0" cellspacing="0" width="600" class="qt-templateContainer" style="border-collapse:collapse;-webkit-text-size-adjust:100%;"><tbody><tr><td valign="top" class="qt-bodyContainer" style="padding-top:10px;padding-bottom:10px;-webkit-text-size-adjust:100%;"><table border="0" cellpadding="0" cellspacing="0" width="100%" class="qt-mcnTextBlock" style="min-width:100%;border-collapse:collapse;-webkit-text-size-adjust:100%;"><tbody class="qt-mcnTextBlockOuter"><tr><td valign="top" class="qt-mcnTextBlockInner" style="padding-top:9px;-webkit-text-size-adjust:100%;"><table align="left" border="0" cellpadding="0" cellspacing="0" style="max-width:100%;min-width:100%;border-collapse:collapse;-webkit-text-size-adjust:100%;" width="100%" class="qt-mcnTextContentContainer"><tbody><tr><td valign="top" class="qt-mcnTextContent" style="padding-top:0px;padding-right:18px;padding-bottom:9px;padding-left:18px;-webkit-text-size-adjust:100%;color:rgb(85, 85, 85);font-family:Helvetica;font-size:15px;line-height:150%;text-align:left;"><div><span style="color:rgb(51, 153, 204);font-weight:normal;line-height:1.2;text-decoration:none;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:20px;"><a href="https://pycoders.com/link/9168/d0x43eitah" style="color:rgb(51, 153, 204);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">Build a Flashcards App With Django</a></span></span></span><br></div><div> <span style="line-height:1.2;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:16px;">Create your own flashcards app to help you to learn a new language. In this step-by-step project, you’ll replicate a spaced repetition system with the Django web framework. If you want to learn a new topic while sharpening your Django and Python skills, this tutorial is the perfect match for you!</span></span></span><br></div><div> <span style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;"><span class="size" style="font-size:12px;"><a href="https://pycoders.com/link/9168/d0x43eitah" style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">REAL PYTHON</a></span></span> <br></div><div><br></div><div> <span style="color:rgb(51, 153, 204);font-weight:normal;line-height:1.2;text-decoration:none;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:20px;"><a href="https://pycoders.com/link/9174/d0x43eitah" style="color:rgb(51, 153, 204);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">Building a Persistently Authenticated Python CLI</a></span></span></span><br></div><div> <span style="line-height:1.2;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:16px;">When building a command line program that authenticates to a service, you may not want the user to have to enter their password every single time. This article shows you how to manage authentication tokens to make you user’s life easier. The Twitter API is used as the example data source.</span></span></span><br></div><div> <span style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;"><span class="size" style="font-size:12px;"><a href="https://pycoders.com/link/9174/d0x43eitah" style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">CHRISTOPHER FLEETWOOD</a></span></span> <br></div><div><br></div><div> <span style="color:rgb(51, 153, 204);font-weight:normal;line-height:1.2;text-decoration:none;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:20px;"><a href="https://pycoders.com/link/9166/d0x43eitah" style="color:rgb(51, 153, 204);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">Generating Fake Security Data With Python and Faker-Security</a></span></span></span><br></div><div> <a href="https://pycoders.com/link/9166/d0x43eitah" target="_blank"><img style="float:right;margin-left:16px;margin-top:7px;width:17%;" src="https://cdn.pycoders.com/55d3a9d68dbf1f0cba3f212622ddaddf" alt=""></a> <span style="line-height:1.2;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:16px;">Snyk recently open sourced the faker-security Python package to help anyone working with security data. Learn more about what a Python package is and how to use it in combination with factory_boy to <a href="https://pycoders.com/link/9166/d0x43eitah" style="color:rgb(51, 153, 204);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">generate fake security data →</a></span></span></span><br></div><div> <span style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;"><span class="size" style="font-size:12px;"><a href="https://pycoders.com/link/9166/d0x43eitah" style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">SNYK.IO</a></span></span><span style="color:rgb(170, 170, 170);text-transform:uppercase;padding-top:1px;padding-right:4px;padding-bottom:1px;padding-left:4px;border-top-width:1px;border-right-width:1px;border-bottom-width:1px;border-left-width:1px;border-top-style:solid;border-right-style:solid;border-bottom-style:solid;border-left-style:solid;border-top-color:rgb(221, 221, 221);border-right-color:rgb(221, 221, 221);border-bottom-color:rgb(221, 221, 221);border-left-color:rgb(221, 221, 221);border-image-source:initial;border-image-slice:initial;border-image-width:initial;border-image-outset:initial;border-image-repeat:initial;margin-left:4px;border-top-left-radius:2px;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:2px;background-color:rgb(255, 255, 224);"><span class="size" style="font-size:0.8em;">sponsor</span></span> <br></div><div><br></div><div> <span style="color:rgb(51, 153, 204);font-weight:normal;line-height:1.2;text-decoration:none;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:20px;"><a href="https://pycoders.com/link/9188/d0x43eitah" style="color:rgb(51, 153, 204);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">Say Goodbye to These Obsolete Python Libraries</a></span></span></span><br></div><div> <span style="line-height:1.2;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:16px;">It’s time to say goodbye to <code>os.path</code>, <code>random</code>, <code>pytz</code>, <code>namedtuple</code> and many more obsolete Python libraries. Start using the latest and greatest ones instead.</span></span></span><br></div><div> <span style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;"><span class="size" style="font-size:12px;"><a href="https://pycoders.com/link/9188/d0x43eitah" style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">MARTIN HEINZ</a> • Shared by <a href="https://pycoders.com/link/9180/d0x43eitah" style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">Martin Heinz</a></span></span> <br></div><div><br></div><div> <span style="color:rgb(51, 153, 204);font-weight:normal;line-height:1.2;text-decoration:none;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:20px;"><a href="https://pycoders.com/link/9183/d0x43eitah" style="color:rgb(51, 153, 204);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">PEP 695: Type Parameter Syntax (Draft)</a></span></span></span><br></div><div> <span style="line-height:1.2;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:16px;">This Python Enhancement Proposals (PEP) draft describes an improved syntax for specifying type parameters within a generic class, function, or type alias. For example: <code>class ClassA[T: str]:</code> It also introduces a new statement for declaring type aliases.</span></span></span><br></div><div> <span style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;"><span class="size" style="font-size:12px;"><a href="https://pycoders.com/link/9183/d0x43eitah" style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">PYTHON.ORG</a></span></span> <br></div><div><br></div><div> <span style="color:rgb(51, 153, 204);font-weight:normal;line-height:1.2;text-decoration:none;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:20px;"><a href="https://pycoders.com/link/9184/d0x43eitah" style="color:rgb(51, 153, 204);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">Django 4.1 Release Candidate 1 Available</a></span></span></span><br></div><div> <span style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;"><span class="size" style="font-size:12px;"><a href="https://pycoders.com/link/9184/d0x43eitah" style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">DJANGO SOFTWARE FOUNDATION</a></span></span> <br></div><div><br></div><div> <br></div><h2 style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;display:block;font-family:Helvetica;font-size:26px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:-0.5px;text-align:left;border-bottom-width:3px;border-bottom-style:solid;border-bottom-color:rgb(229, 232, 234);color:rgb(112, 122, 135) !important;">Discussions<br></h2><div><br></div><div><span style="color:rgb(51, 153, 204);font-weight:normal;line-height:1.2;text-decoration:none;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:20px;"><a href="https://pycoders.com/link/9199/d0x43eitah" style="color:rgb(51, 153, 204);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">What Are Some Cool but Obscure Data Structures?</a></span></span></span><br></div><div> <span style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;"><span class="size" style="font-size:12px;"><a href="https://pycoders.com/link/9199/d0x43eitah" style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">HACKER NEWS</a></span></span> <br></div><div><br></div><div> <span style="color:rgb(51, 153, 204);font-weight:normal;line-height:1.2;text-decoration:none;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:20px;"><a href="https://pycoders.com/link/9198/d0x43eitah" style="color:rgb(51, 153, 204);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">Is Having a Personal Blog/Brand Worth It for You?</a></span></span></span><br></div><div> <span style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;"><span class="size" style="font-size:12px;"><a href="https://pycoders.com/link/9198/d0x43eitah" style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">HACKER NEWS</a></span></span> <br></div><div><br></div><div> <br></div><h2 style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;display:block;font-family:Helvetica;font-size:26px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:-0.5px;text-align:left;border-bottom-width:3px;border-bottom-style:solid;border-bottom-color:rgb(229, 232, 234);color:rgb(112, 122, 135) !important;">Python Jobs<br></h2><div><br></div><div><span style="color:rgb(51, 153, 204);font-weight:normal;line-height:1.2;text-decoration:none;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:20px;"><a href="https://pycoders.com/link/9175/d0x43eitah" style="color:rgb(51, 153, 204);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">Backend Engineering Manager</a></span></span></span><br></div><div> <a href="https://pycoders.com/link/9175/d0x43eitah" style="font-weight:normal;color:rgb(170, 170, 170);text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;font-size:12px;background-color:rgb(255, 255, 224);" target="_blank">CLOSE 📍 ANYWHERE</a><br></div><div><br></div><div> <span style="color:rgb(51, 153, 204);font-weight:normal;line-height:1.2;text-decoration:none;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:20px;"><a href="https://pycoders.com/link/9176/d0x43eitah" style="color:rgb(51, 153, 204);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">Remote US, Python/JavaScript Full-Stack Engineers</a></span></span></span><br></div><div> <a href="https://pycoders.com/link/9176/d0x43eitah" style="font-weight:normal;color:rgb(170, 170, 170);text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;font-size:12px;background-color:rgb(255, 255, 224);" target="_blank">UNITED STATES SENATE SERGEANT AT ARMS 📍 ANYWHERE</a><br></div><div><br></div><div> <span style="color:rgb(51, 153, 204);font-weight:normal;line-height:1.2;text-decoration:none;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:20px;"><a href="https://pycoders.com/link/9179/d0x43eitah" style="color:rgb(51, 153, 204);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">Senior Python Software Engineer</a></span></span></span><br></div><div> <a href="https://pycoders.com/link/9179/d0x43eitah" style="font-weight:normal;color:rgb(170, 170, 170);text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;font-size:12px;background-color:rgb(255, 255, 224);" target="_blank">MYOME 📍 SAN FRANCISCO, CA, USA</a><br></div><div><br></div><div> <span style="color:rgb(51, 153, 204);font-weight:normal;line-height:1.2;text-decoration:none;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:20px;"><a href="https://pycoders.com/link/9178/d0x43eitah" style="color:rgb(51, 153, 204);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">Senior Data Engineer - Java/Python - Remote</a></span></span></span><br></div><div> <a href="https://pycoders.com/link/9178/d0x43eitah" style="font-weight:normal;color:rgb(170, 170, 170);text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;font-size:12px;" target="_blank">INFINITY CONSULTING 📍 DALLAS, TX, USA</a><br></div><div><br></div><div> <span style="color:rgb(51, 153, 204);font-weight:normal;line-height:1.2;text-decoration:none;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:20px;"><a href="https://pycoders.com/link/9170/d0x43eitah" style="color:rgb(51, 153, 204);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">Data Engineer - Data Bricks, Snowflake, Python, Remote</a></span></span></span><br></div><div> <a href="https://pycoders.com/link/9170/d0x43eitah" style="font-weight:normal;color:rgb(170, 170, 170);text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;font-size:12px;" target="_blank">ADDISON GROUP 📍 OKLAHOMA CITY, OK, USA</a><br></div><div><br></div><div> <a href="https://www.pythonjobshq.com?utm_source=newsletter&utm_campaign=pycoders535&utm_medium=email" style="color:rgb(51, 153, 204);text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;font-weight:normal;" target="_blank"><span style="line-height:1.2;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:20px;">More Python Jobs >>></span></span></span></a><br></div><div><br></div><div> <br></div><h2 style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;display:block;font-family:Helvetica;font-size:26px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:-0.5px;text-align:left;border-bottom-width:3px;border-bottom-style:solid;border-bottom-color:rgb(229, 232, 234);color:rgb(112, 122, 135) !important;">Articles & Tutorials<br></h2><div><br></div><div><span style="color:rgb(51, 153, 204);font-weight:normal;line-height:1.2;text-decoration:none;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:20px;"><a href="https://pycoders.com/link/9171/d0x43eitah" style="color:rgb(51, 153, 204);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank"><code>map()</code> vs <code>submit()</code> With the <code>ProcessPoolExecutor</code> in Python</a></span></span></span><br></div><div> <span style="line-height:1.2;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:16px;">In this tutorial you will learn the difference between <code>map()</code> and <code>submit()</code> when executing tasks with the <code>ProcessPoolExecutor</code> in Python. You’ll see how to use <code>map()</code> to convert a <code>for</code>-loop into processes and when to replace it with <code>submit()</code> to gain more control.</span></span></span><br></div><div> <span style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;"><span class="size" style="font-size:12px;"><a href="https://pycoders.com/link/9171/d0x43eitah" style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">JASON BROWNLEE</a></span></span> <br></div><div><br></div><div> <span style="color:rgb(51, 153, 204);font-weight:normal;line-height:1.2;text-decoration:none;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:20px;"><a href="https://pycoders.com/link/9197/d0x43eitah" style="color:rgb(51, 153, 204);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">Meet the Python Steering Council</a></span></span></span><br></div><div> <span style="line-height:1.2;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:16px;">Once Guido gave up his title of Benevolent Dictator for Life, a five-person team became responsible for steering the development of Python. Improvements are rarely straightforward, changes that help some may hurt others.</span></span></span><br></div><div> <span style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;"><span class="size" style="font-size:12px;"><a href="https://pycoders.com/link/9197/d0x43eitah" style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">JOEL KHALILI</a></span></span> <br></div><div><br></div><div> <span style="color:rgb(51, 153, 204);font-weight:normal;line-height:1.2;text-decoration:none;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:20px;"><a href="https://pycoders.com/link/9186/d0x43eitah" style="color:rgb(51, 153, 204);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">Pretty Maps in Python</a></span></span></span><br></div><div> <span style="line-height:1.2;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:16px;">The <code>prettymaps</code> project allows you to create an aesthetically pleasing map image from real data. It does this in only 425 lines of Python through the use of 3rd party packages. Learn how to use it and how it works.</span></span></span><br></div><div> <span style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;"><span class="size" style="font-size:12px;"><a href="https://pycoders.com/link/9186/d0x43eitah" style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">MARK LITWINTSCHIK</a></span></span> <br></div><div><br></div><div> <span style="color:rgb(51, 153, 204);font-weight:normal;line-height:1.2;text-decoration:none;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:20px;"><a href="https://pycoders.com/link/9194/d0x43eitah" style="color:rgb(51, 153, 204);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">Typing Your Way Into Safety</a></span></span></span><br></div><div> <span style="line-height:1.2;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:16px;">Type annotations help catch errors in your code. Their correct usage can even stop malicious use of your scripts. Learn how the <code>Literal</code> type can prevent users from sending values that could break your code.</span></span></span><br></div><div> <span style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;"><span class="size" style="font-size:12px;"><a href="https://pycoders.com/link/9194/d0x43eitah" style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">ISRAËL HALLÉ</a></span></span> <br></div><div><br></div><div> <span style="color:rgb(51, 153, 204);font-weight:normal;line-height:1.2;text-decoration:none;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:20px;"><a href="https://pycoders.com/link/9193/d0x43eitah" style="color:rgb(51, 153, 204);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">Using the Python <code>not</code> Operator</a></span></span></span><br></div><div> <span style="line-height:1.2;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:16px;">In this course, you’ll learn how Python’s <code>not</code> operator works and how to use it in your code. You’ll get to know its features and see what kind of programming problems you can solve by using <code>not</code> in Python.</span></span></span><br></div><div> <span style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;"><span class="size" style="font-size:12px;"><a href="https://pycoders.com/link/9193/d0x43eitah" style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">REAL PYTHON</a></span></span> <span style="color:rgb(170, 170, 170);text-transform:uppercase;padding-top:1px;padding-right:4px;padding-bottom:1px;padding-left:4px;border-top-width:1px;border-right-width:1px;border-bottom-width:1px;border-left-width:1px;border-top-style:solid;border-right-style:solid;border-bottom-style:solid;border-left-style:solid;border-top-color:rgb(221, 221, 221);border-right-color:rgb(221, 221, 221);border-bottom-color:rgb(221, 221, 221);border-left-color:rgb(221, 221, 221);border-image-source:initial;border-image-slice:initial;border-image-width:initial;border-image-outset:initial;border-image-repeat:initial;margin-left:4px;border-top-left-radius:2px;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:2px;"><span class="size" style="font-size:0.8em;">course</span></span> <br></div><div><br></div><div> <span style="color:rgb(51, 153, 204);font-weight:normal;line-height:1.2;text-decoration:none;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:20px;"><a href="https://pycoders.com/link/9169/d0x43eitah" style="color:rgb(51, 153, 204);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">Technical Writing for Developers</a></span></span></span><br></div><div> <span style="line-height:1.2;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:16px;">“The way we write about and around code is arguably as important as the code itself.” This article outlines how programming and writing come together to take your developer skills to the next level.</span></span></span><br></div><div> <span style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;"><span class="size" style="font-size:12px;"><a href="https://pycoders.com/link/9169/d0x43eitah" style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">CSS-TRICKS.COM</a></span></span> <br></div><div><br></div><div> <span style="color:rgb(51, 153, 204);font-weight:normal;line-height:1.2;text-decoration:none;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:20px;"><a href="https://pycoders.com/link/9167/d0x43eitah" style="color:rgb(51, 153, 204);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">Find Your Next Tech Job Through Hired</a></span></span></span><br></div><div> <span style="line-height:1.2;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:16px;">Hired has 1000s of companies ranging from startups to Fortune 500s that are actively hiring developers, data scientists, mobile engineers, and more. Create a profile with your skills and preferences for hiring managers to reach you. Sign up today!</span></span></span><br></div><div> <span style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;"><span class="size" style="font-size:12px;"><a href="https://pycoders.com/link/9167/d0x43eitah" style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">HIRED</a></span></span><span style="color:rgb(170, 170, 170);text-transform:uppercase;padding-top:1px;padding-right:4px;padding-bottom:1px;padding-left:4px;border-top-width:1px;border-right-width:1px;border-bottom-width:1px;border-left-width:1px;border-top-style:solid;border-right-style:solid;border-bottom-style:solid;border-left-style:solid;border-top-color:rgb(221, 221, 221);border-right-color:rgb(221, 221, 221);border-bottom-color:rgb(221, 221, 221);border-left-color:rgb(221, 221, 221);border-image-source:initial;border-image-slice:initial;border-image-width:initial;border-image-outset:initial;border-image-repeat:initial;margin-left:4px;border-top-left-radius:2px;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:2px;background-color:rgb(255, 255, 224);"><span class="size" style="font-size:0.8em;">sponsor</span></span> <br></div><div><br></div><div> <span style="color:rgb(51, 153, 204);font-weight:normal;line-height:1.2;text-decoration:none;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:20px;"><a href="https://pycoders.com/link/9200/d0x43eitah" style="color:rgb(51, 153, 204);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">Custom Python Dictionaries: Inheriting From <code>dict</code> vs <code>UserDict</code></a></span></span></span><br></div><div> <span style="line-height:1.2;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:16px;">In this tutorial, you’ll learn how to create custom dictionary-like classes in Python by inheriting from the built-in <code>dict</code> class or by subclassing <code>UserDict</code> from the collections module.</span></span></span><br></div><div> <span style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;"><span class="size" style="font-size:12px;"><a href="https://pycoders.com/link/9200/d0x43eitah" style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">REAL PYTHON</a></span></span> <br></div><div><br></div><div> <span style="color:rgb(51, 153, 204);font-weight:normal;line-height:1.2;text-decoration:none;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:20px;"><a href="https://pycoders.com/link/9181/d0x43eitah" style="color:rgb(51, 153, 204);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">To Ruby From Python</a></span></span></span><br></div><div> <span style="line-height:1.2;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:16px;">Thinking of picking up another programming language? This quick list shows you what is similar and what is different between Ruby and Python.</span></span></span><br></div><div> <span style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;"><span class="size" style="font-size:12px;"><a href="https://pycoders.com/link/9181/d0x43eitah" style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">RUBY-LANG.ORG</a></span></span> <br></div><div><br></div><div> <br></div><h2 style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;display:block;font-family:Helvetica;font-size:26px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:-0.5px;text-align:left;border-bottom-width:3px;border-bottom-style:solid;border-bottom-color:rgb(229, 232, 234);color:rgb(112, 122, 135) !important;">Projects & Code<br></h2><div><br></div><div><span style="color:rgb(51, 153, 204);font-weight:normal;line-height:1.2;text-decoration:none;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:20px;"><a href="https://pycoders.com/link/9192/d0x43eitah" style="font-family:Helvetica;color:rgb(112, 122, 135);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">Brought to you by <b>Real Python for Teams</b></a></span></span></span><span style="color:rgb(170, 170, 170);text-transform:uppercase;padding-top:1px;padding-right:4px;padding-bottom:1px;padding-left:4px;border-top-width:1px;border-right-width:1px;border-bottom-width:1px;border-left-width:1px;border-top-style:solid;border-right-style:solid;border-bottom-style:solid;border-left-style:solid;border-top-color:rgb(221, 221, 221);border-right-color:rgb(221, 221, 221);border-bottom-color:rgb(221, 221, 221);border-left-color:rgb(221, 221, 221);border-image-source:initial;border-image-slice:initial;border-image-width:initial;border-image-outset:initial;border-image-repeat:initial;margin-left:4px;border-top-left-radius:2px;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:2px;background-color:rgb(255, 255, 224);"><span class="size" style="font-size:0.8em;">sponsor</span></span> <br></div><div> <span style="line-height:1.2;"><span class="font" style="font-family:Helvetica;"><span class="size" style="font-size:16px;">Online Python training created by a community of experts. Give your team the <a href="https://pycoders.com/link/9192/d0x43eitah" style="color:rgb(51, 153, 204);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">real-world Python skills they need to succeed →</a></span></span></span><br></div><div> <br></div><div> <span style="color:rgb(51, 153, 204);font-weight:normal;line-height:1.2;text-decoration:none;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:20px;"><a href="https://pycoders.com/link/9182/d0x43eitah" style="color:rgb(51, 153, 204);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">pywhen: Wrapper for date/time parsing</a></span></span></span><br></div><div> <span style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;"><span class="size" style="font-size:12px;"><a href="https://pycoders.com/link/9182/d0x43eitah" style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">GITHUB.COM/CLTRUDEAU</a></span></span> <br></div><div><br></div><div> <span style="color:rgb(51, 153, 204);font-weight:normal;line-height:1.2;text-decoration:none;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:20px;"><a href="https://pycoders.com/link/9172/d0x43eitah" style="color:rgb(51, 153, 204);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">unzip-http: Get Files From <code>.zip</code> Without Downloading It All</a></span></span></span><br></div><div> <span style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;"><span class="size" style="font-size:12px;"><a href="https://pycoders.com/link/9172/d0x43eitah" style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">GITHUB.COM/SAULPW</a></span></span> <br></div><div><br></div><div> <span style="color:rgb(51, 153, 204);font-weight:normal;line-height:1.2;text-decoration:none;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:20px;"><a href="https://pycoders.com/link/9185/d0x43eitah" style="color:rgb(51, 153, 204);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">cleanlab: AI Package for Cleaning Your ML Data</a></span></span></span><br></div><div> <span style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;"><span class="size" style="font-size:12px;"><a href="https://pycoders.com/link/9185/d0x43eitah" style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">GITHUB.COM/CLEANLAB</a></span></span> <br></div><div><br></div><div> <span style="color:rgb(51, 153, 204);font-weight:normal;line-height:1.2;text-decoration:none;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:20px;"><a href="https://pycoders.com/link/9189/d0x43eitah" style="color:rgb(51, 153, 204);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">sympy: A Computer Algebra System Written in Pure Python</a></span></span></span><br></div><div> <span style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;"><span class="size" style="font-size:12px;"><a href="https://pycoders.com/link/9189/d0x43eitah" style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">GITHUB.COM/SYMPY</a></span></span> <br></div><div><br></div><div> <span style="color:rgb(51, 153, 204);font-weight:normal;line-height:1.2;text-decoration:none;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:20px;"><a href="https://pycoders.com/link/9190/d0x43eitah" style="color:rgb(51, 153, 204);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">jetfuel: Python Performance Profiling for Production</a></span></span></span><br></div><div> <span style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;"><span class="size" style="font-size:12px;"><a href="https://pycoders.com/link/9190/d0x43eitah" style="color:rgb(170, 170, 170);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">GITHUB.COM/JETFUEL-DEV</a></span></span> <br></div><div><br></div><div> <br></div><div style="background-image:initial;background-position-x:initial;background-position-y:initial;background-size:initial;background-attachment:initial;background-origin:initial;background-clip:initial;background-color:rgb(255, 255, 222);padding-top:1em;padding-right:1em;padding-bottom:1em;padding-left:1em;"><h2 style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;display:block;font-family:Helvetica;font-size:18px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:-0.5px;text-align:left;border-bottom-width:3px;border-bottom-style:solid;border-bottom-color:rgb(229, 232, 234);color:rgb(112, 122, 135) !important;">📆🐍 Upcoming Python Events<br></h2><div><br></div><div><span style="color:rgb(51, 153, 204);font-weight:normal;line-height:1.2;text-decoration:none;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:16px;"><a href="https://pycoders.com/link/9195/d0x43eitah" style="color:rgb(51, 153, 204);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">PyKla Monthly Meetup</a><br></span></span></span><span style="line-height:1.2;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:16px;"> July 27, 2022</span></span></span></div><div> <br></div><div> <span style="color:rgb(51, 153, 204);font-weight:normal;line-height:1.2;text-decoration:none;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:16px;"><a href="https://pycoders.com/link/9187/d0x43eitah" style="color:rgb(51, 153, 204);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">Heidelberg Python Meetup</a><br></span></span></span><span style="line-height:1.2;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:16px;"> July 27, 2022</span></span></span></div><div> <br></div><div> <span style="color:rgb(51, 153, 204);font-weight:normal;line-height:1.2;text-decoration:none;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:16px;"><a href="https://pycoders.com/link/9177/d0x43eitah" style="color:rgb(51, 153, 204);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">Weekly Real Python Office Hours Q&A (Virtual)</a><br></span></span></span><span style="line-height:1.2;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:16px;"> July 27, 2022</span></span></span></div><div> <br></div><div> <span style="color:rgb(51, 153, 204);font-weight:normal;line-height:1.2;text-decoration:none;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:16px;"><a href="https://pycoders.com/link/9191/d0x43eitah" style="color:rgb(51, 153, 204);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">SPb Python Drinkup</a><br></span></span></span><span style="line-height:1.2;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:16px;"> July 28, 2022</span></span></span></div><div> <br></div><div> <span style="color:rgb(51, 153, 204);font-weight:normal;line-height:1.2;text-decoration:none;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:16px;"><a href="https://pycoders.com/link/9173/d0x43eitah" style="color:rgb(51, 153, 204);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">PyDelhi User Group Meetup</a><br></span></span></span><span style="line-height:1.2;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:16px;"> July 30, 2022</span></span></span></div><div> <br></div><div> <span style="color:rgb(51, 153, 204);font-weight:normal;line-height:1.2;text-decoration:none;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:16px;"><a href="https://pycoders.com/link/9196/d0x43eitah" style="color:rgb(51, 153, 204);font-weight:normal;text-decoration:none;word-wrap:break-word;-webkit-text-size-adjust:100%;" target="_blank">PythOnRio Meetup</a><br></span></span></span><span style="line-height:1.2;"><span class="font" style="font-family:georgia, serif;"><span class="size" style="font-size:16px;"> July 30, 2022</span></span></span></div></div></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></td></tr><tr><td align="center" valign="top" style="-webkit-text-size-adjust:100%;"><table border="0" cellpadding="0" cellspacing="0" width="100%" id="qt-templateFooter" style="border-collapse:collapse;-webkit-text-size-adjust:100%;background-color:rgb(229, 232, 234);border-top-width:0px;border-top-style:initial;border-top-color:initial;border-bottom-width:0px;border-bottom-style:initial;border-bottom-color:initial;"><tbody><tr><td align="center" valign="top" style="-webkit-text-size-adjust:100%;"><table border="0" cellpadding="0" cellspacing="0" width="600" class="qt-templateContainer" style="border-collapse:collapse;-webkit-text-size-adjust:100%;"><tbody><tr><td valign="top" class="qt-footerContainer" style="padding-top:10px;padding-bottom:10px;-webkit-text-size-adjust:100%;"><table border="0" cellpadding="0" cellspacing="0" width="100%" class="qt-mcnTextBlock" style="border-collapse:collapse;-webkit-text-size-adjust:100%;"><tbody class="qt-mcnTextBlockOuter"><tr><td valign="top" class="qt-mcnTextBlockInner" style="-webkit-text-size-adjust:100%;"><table align="left" border="0" cellpadding="0" cellspacing="0" width="600" class="qt-mcnTextContentContainer" style="border-collapse:collapse;-webkit-text-size-adjust:100%;"><tbody><tr><td valign="top" class="qt-mcnTextContent" style="padding-top:9px;padding-right:18px;padding-bottom:9px;padding-left:18px;-webkit-text-size-adjust:100%;color:rgb(85, 85, 85);font-family:Helvetica;font-size:11px;line-height:125%;text-align:left;"><div>Happy Pythoning!<br></div><div> <i>Copyright © 2022 PyCoder’s Weekly, All rights reserved.</i><br></div><div> You are receiving this email because you opted in on our website at <a href="https://pycoders.com" style="text-decoration:none;color:rgb(85, 85, 85);">pycoders.com</a><br></div><div> Our mailing address: <a href="https://pycoders.com" style="text-decoration:none;color:rgb(85, 85, 85);">DevCademy Media Inc. · #720-999 West Broadway, Vancouver BC V5Z 1K5, Canada</a><br></div><div> <br></div><div> <a class="qt-utilityLink" href="https://pycoders.com/subscriptions/d0x43eitah/cancel" style="word-wrap:break-word;-webkit-text-size-adjust:100%;color:rgb(85, 85, 85);font-weight:normal;text-decoration:underline;">Unsubscribe</a> | <a class="qt-utilityLink" href="https://pycoders.com/subscriptions/d0x43eitah/edit" style="word-wrap:break-word;-webkit-text-size-adjust:100%;color:rgb(85, 85, 85);font-weight:normal;text-decoration:underline;">Update Email Address</a><br></div></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table><div><img src="https://pycoders.com/issues/535/open/d0x43eitah" width="1" height="1" alt=""><br></div></div><div><br></div></body></html>