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.”

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.”

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 →

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.

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.

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.

CPython 3.9.0a5 Now Available for Testing

DjangoCon Europe 2020 Postponed to September


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).

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.

Python Jobs

Senior Python Software Engineer

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.

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.”

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.

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!

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.

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.

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.”

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.

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.

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

Projects & Code Fast and Memory-Optimized String Library for Heavy-Text Manipulation

whynot: A Python Sandbox for Decision Making in Dynamics

MonkeyType: Generate Static Type Annotations by Collecting Runtime Types

z3: The Z3 Theorem Prover

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

stable-fluids: Jos Stam’s Stable Fluids Adapted to Python 3

itomate: Automate Your iTerm Layouts and Session Setup

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.