Issue #413

PyCon 2020 Is Cancelled, New Pip Resolver, Scope/LEGB Explained, and More

March 24, 2020

PyCon 2020 Is Cancelled, New Pip Resolver, Scope/LEGB Explained, and More
#413 – MARCH 24, 2020 VIEW IN BROWSER
The PyCoder’s Weekly Logo
PyCon US 2020 in Pittsburgh, Pennsylvania Is Cancelled
“Recently, the United States and the State of Pennsylvania have asked that large gatherings be postponed or cancelled until further notice. With that in mind, the PSF has worked to reduce financial exposure and develop a plan to provide content remotely.”
PYCON BLOG

New pip Resolver to Roll Out This Year
“The developers of pip are in the process of developing a new resolver for pip (as we announced on the PSF blog last year). We aim to roll it out later this year. As part of that work, there will be some major changes to how pip determines what to install, based on package requirements.”
PSF BLOG

Python Developers Are in Demand on Vettery
Vettery is an online hiring marketplace that’s changing the way people hire and get hired. Ready for a bold career move? Make a free profile, name your salary, and connect with hiring managers from top employers today →
VETTERYsponsor

Improving Pretty-Printing in Python
Some changes are being proposed to add more customization to the pprint module in Python 3.10 or later, and while a PEP hasn’t been created yet, there are some internal discussions going on debating whether or not such a change is worthwhile and what the API might look like.
JAKE EDGE

The Real Python Podcast Launched
A weekly Python podcast hosted by Christopher Bailey with interviews, coding tips, and conversation with guests from the Python community. The show covers a wide range of topics including Python programming best practices, career tips, and related software development topics.
REAL PYTHON podcast

Python Scope & the LEGB Rule: Resolving Names in Your Code
In this step-by-step tutorial, you’ll learn what scopes are, how they work, and how to use them effectively to avoid name collisions in your code. Additionally, you’ll learn how to take advantage of a Python scope to write more maintainable and less buggy code.
REAL PYTHON

CPython 3.9.0a5 Now Available for Testing
PYTHON.ORG

DjangoCon Europe 2020 Postponed to September
DJANGOPROJECT.COM


Discussions


Chained Comparison Rock!
Chained comparisons, like 0 < x < 5, are shorter, cleaner, and often faster than their more complex counterparts, such as (0 < x) and (x < 5).
RAYMOND HETTINGER

Sudoku Puzzle With Boxes Containing Square Numbers
How do you solve a Sudoku puzzle in Python? And if the puzzle has a solution, how can you tell if the solution is unique? In this Stack Overflow question, see how the z3 SMT solver can be used to answer both of these questions.
STACK OVERFLOW


Python Jobs


Senior Python Software Engineer
TESSIAN 📍 LONDON, UK

More Python Jobs >>>


Articles & Tutorials


K-Nearest Neighbors From Scratch
The k-Nearest Neighbors (k-NN) algorithm is a popular machine learning algorithm for classifying data. It has several neat features, including the fact that it doesn’t require a traditional training phase. While libraries like scikit-learn offer highly optimized black box implementations of k-NN, there’s no better way to understand how something works than to build it yourself. Learn how to do just that in this article from Philipp Muens.
PHILIPP MUENS

Fast Subsets of Large Datasets With Pandas and SQLite
“Let’s say you have a large amount of data, too large to fit in memory, and you want to load part of it into Pandas. If you’re only going to load one specific subset a single time, you can use chunking. But what if you need to load different subsets of the data at different times? Loading the whole file each time will be slow. What you need is a searchable index, and one easy (and fast!) way to do that is with SQLite.”
ITAMAR TURNER-TRAURING

Scout APM for Python
Check out Scout’s developer-friendly application performance monitoring solution for Python. Scout continually tracks down N+1 database queries, sources of memory bloat, performance abnormalities, and more. Get back to coding with Scout →
SCOUT APMsponsor

Implementing the Levenshtein Distance in Python
The Levenshtein distance is a metric for measuring the “distance” between two words in terms of the number of single-character edits required to transform one word into another. In this article, you’ll learn how to implement the Levenshtein distance in Python using a dynamic programming approach.
AHMED FAWZY GAD

The Python math Module: Everything You Need to Know
In this step-by-step tutorial, you’ll learn all about Python’s math module for higher-level mathematical functions. Whether you’re working on a scientific project, a financial application, or any other type of programming endeavor, you just can’t escape the need for math!
REAL PYTHON

Math Symbols Explained With Python
You don’t need to know a lot of math to be a successful programmer, but there are times when a little bit of math knowledge can go a long way. In this article, author Amit Chaudhary shows you how to translate various mathematical symbols into Python code.
AMIT CHAUDHARY

How to Use Pandas read_html() to Scrape Data From HTML Tables
In this article, Erik Marsja shows you how to scrape HTML tables using Pandas read_html(). You’ll first see how read_html() works by reading a simple table from an HTML string. Then you’ll take it up a notch and scrape some data from Wikipedia.
ERIK MARSJA

Twisted Matrix Laboratories: Twisted Drops Python 2.7 Support
“With the open-source Python community at large dropping Python 2.7 support in their projects, Twisted has decided to do the same. Twisted 20.3.0, the most recently released version, is the final release to offer Python 2.7 support.”
TWISTEDMATRIX.COM

Rewriting the Heart of Dropbox’s Sync Engine
The Dropbox engineering team shares some reflections on what it took to rewrite the Dropbox sync engine (a 4+ year project!) and how they ultimately decided to scrap their Python code and rewrite the system in Rust.
DROPBOX.TECH

Trace Requests From Python Apps End-to-End to Identify Errors and Latency
Troubleshoot Python app errors by using Datadog’s flame graphs to trace requests across service boundaries to locate errors quickly. Plus correlate those traces with relevant logs and metrics without switching tools. Optimize app performance today.
DATA DOGsponsor

More on Service Layers in Django
Follow-up to last week’s post where James discussed the drawbacks of using a service layer architecture for building Django apps.
JAMES BENNETT

Using NumPy’s np.arange() Effectively
Learn how to use the NumPy arange() function, which is one of the routines for array creation based on numerical ranges. np.arange() returns arrays with evenly spaced values
REAL PYTHON video


Projects & Code


superstring.py: Fast and Memory-Optimized String Library for Heavy-Text Manipulation
GITHUB.COM/BTWAEL

whynot: A Python Sandbox for Decision Making in Dynamics
GITHUB.COM/ZYKLS

MonkeyType: Generate Static Type Annotations by Collecting Runtime Types
GITHUB.COM/INSTAGRAM

z3: The Z3 Theorem Prover
GITHUB.COM/Z3PROVER

python-proxy-server: Python Proxy Server on AWS Lambda
IAN WHITESTONE

stable-fluids: Jos Stam’s Stable Fluids Adapted to Python 3
GITHUB.COM/GREGTJ

itomate: Automate Your iTerm Layouts and Session Setup
GITHUB.COM/KAMRANAHMEDSE

PySimpleGUI-COVID19: Tools to Help Analyze the Spread of the COVID-19 Virus
GITHUB.COM/PYSIMPLEGUI • Shared by PythonistaCafe

📆🐍 Upcoming Python Events


PyWeek Games Programming Contest (Online)
March 22 to March 30, 2020
Happy Pythoning!
Copyright © 2020 PyCoder’s Weekly, All rights reserved.