Issue #571 (April 4, 2023)

#571 – APRIL 4, 2023

Build a Maze Solver in Python Using Graphs

In this step-by-step project, you’ll build a maze solver in Python using graph algorithms from the NetworkX library. Along the way, you’ll design a binary file format for the maze, represent it in an object-oriented way, and visualize the solution using scalable vector graphics (SVG).
REAL PYTHON

How to Make a Great Conference Talk

Sebastian has spoken at over 15 major Python conferences around the world. He also gave a workshop organized by the EuroPython conference for beginner speakers. Here, he shares lots of tips around topics related to speaking: from the CfP to the Q&A.
SEBASTIAN WITOWSKI • Shared by Reka

Analyze Your Python Code for Security Issues for Free

Semgrep is trusted by hundreds of thousands of developers at top companies, such as GitLab, Snowflake, Slack, and many more, to ensure the security of their code (SAST) and dependencies (SCA). Don’t believe us? Try it out for free and see for yourself →
SEMGREP sponsor

Speeding Up Text Processing in Python (Is Hard)

If you need to speed up string parsing and formatting in Python you have many choices. This article covers the uses of Cython, mypyc, Rust, and PyPy and how to choose between them.
ITAMAR TURNER-TRAURING

Django 4.2 Released

DJANGO SOFTWARE FOUNDATION

PEP 582 (Python Local Packages Directory) Rejected

PYTHON.ORG

Want to Host DjangoCon Europe 2024?

DJANGO SOFTWARE FOUNDATION

Discussions

PEP 204: Range Literals: Getting Closure

PYTHON.ORG

Articles & Tutorials

When Is Inplace in Pandas Faster?

Several methods for the Pandas DataFrame support an inplace argument. You can find quite contradicting advice around it online. Some describe it as “good practice”, the Pandas docs says “its use is discouraged”. This article explores when inplace might improve the performance indeed and when it’s better to avoid it.
REKA HORVATH • Shared by Reka

Django: Parameterized Tests for All Model Admin Classes

“When you declare a Django ModelAdmin class, the built-in system checks ensure that various attributes are well-defined, using the right data types and values. But they can’t cover everything, because there is so much flexibility.” This article shows you how to better test your ModelAdmin code.
ADAM JOHNSON

The Best Way to Structure Your NoSQL Data Using Python

Data modeling can be challenging. The question that most often comes up is, “How do I structure my data?” The short answer: it depends. That’s why the Redis folks wrote a comprehensive e-book that goes through 8 different optimal scenarios and shows how to model them in Redis →
REDIS LABS sponsor

How to Configure Auth0 in Starlette

This post looks at how to use Auth0 as an identity management provider in Starlette applications. Auth0 provides a secure and scalable way to manage sensitive user data. This article describes how you can integrate it into your Starlette-powered backend.
SIDDHANT GOEL • Shared by Siddhant Goel

ViperGPT: Visual Inference via Python Execution for Reasoning

ViperGPT is a framework that composes visual and language models into code that can be used to perform queries on images. The example shows an image of children with a pile of muffins and asks how many muffins each kid should get for it to be fair.
COLUMBIA.EDU

YAML: Python’s Missing Battery

In this video course, you’ll learn about working with YAML in Python. By the end of it, you’ll know about the available libraries, their strengths and weaknesses, and the advanced and potentially dangerous features of YAML.
REAL PYTHON course

The Modern Guide to OAuth

This guide covers OAuth 2.0 from a real-world perspective and covers modern use cases of the specifications. Written by the experts at FusionAuth who have built an OAuth server that has been downloaded over 10 million times.
FUSIONAUTH sponsor

Building and Distributing a macOS App Written in Python

If you’re writing for multiple platforms, Swift may not be your best choice. So how do you do Python applications on macOS? Read on for the latest update to this advice from Glyph.
GLYPH LEFKOWITZ

Rust in Anger: High-Performance Web Applications

This article covers how to quickly call Rust from Python, TypeScript, or Node.js. It includes a sample application to demonstrate how to use cross language bindings.
NICOLÁS HATCHER

How to Improve Performance in Git: The Complete Guide

Is your Git monorepo getting slower and slower? Have a look at all the performance improvements that you can make to speed up your Git repository.
BRUNO BRITO

A ‘No JS’ Solution for Dynamic Search in Django

This article demonstrates how to do dynamic search results in Django using the HTMX library instead of JavaScript embedded in your page.
KÁTIA NAKAMURA

Malicious Actors Use Unicode Support to Evade Detection

Phylum uncovers a threat actor taking advantage of how the Python interpreter handles Unicode to obfuscate their malware.
PHYLUM.IO

Projects & Code

Dynamic Prompts: A Text-to Image Prompt Toolkit

GITHUB.COM/ADIEYAL • Shared by Adi Eyal

Python Bindings to Rust UUID

GITHUB.COM/AMINALAEE • Shared by A

A Python Web Framework for Building Web Apps

MADHU.INK • Shared by Madhukumar Seshadri

pair: REPL Environment for GPT Pair Programming

GITHUB.COM/JIGGY-AI

SunFounder Raspberry Pi Robot

SUNFOUNDER.COM

Events

STL Python

April 5, 2023
MEETUP.COM

Heidelberg Python Meetup

April 5, 2023
MEETUP.COM

Weekly Real Python Office Hours Q&A (Virtual)

April 5, 2023
REALPYTHON.COM

Canberra Python Meetup

April 6, 2023
MEETUP.COM

Sydney Python User Group (SyPy)

April 6, 2023
SYPY.ORG

PyCamp Spain 2023

April 7 to April 11, 2023
PYCAMP.ES

Happy Pythoning!
This was PyCoder’s Weekly Issue #571.
View in Browser »

[ Subscribe to 🐍 PyCoder’s Weekly 💌 – Get the best Python news, articles, and tutorials delivered to your inbox once a week >> Click here to learn more ]

Source:: PyCoder’s