Issue #417

New pip Resolver, Pathlib Is Great, Effective pytest, Python Interview Tips, and More

April 21, 2020

New pip Resolver, Pathlib Is Great, Effective pytest, Python Interview Tips, and More
#417 – APRIL 21, 2020 VIEW IN BROWSER
The PyCoder’s Weekly Logo
pip 20.1b1 Released With the New Dependency Resolver
The beta release of pip version 20.1 has dropped and included the next-generation dependency resolver! The resolver is currently turned off by default because it’s unstable and not ready for everyday use. The pip mainainters do encourage users to try it out, however, and feedback on the new resolver can be submitted by filling out a survey.

Python Software Foundation News: Thank You to Donors & Sponsors
“Thanks to [the] generosity of individual and corporate donors and decreasing PyCon 2020 expenses, we estimate that the PSF will now only need $141,713 from its financial reserve to get through 2020.”

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 →

No Really, Python’s Pathlib Is Great
Python 3’s pathlib module has taken some time to gain traction since it was introduced in Python 3.4. After all, the os.path module had been the de facto tool for working with paths in Python. Why change code that works? Learn why pathlib is a better choice for working with file paths in Python in this thorough tutorial.
REDOWAN DELOWAR • Shared by Redowan Delowar

Effective Python Testing With Pytest
In this tutorial, you’ll learn how to take your testing to the next level with pytest. You’ll cover intermediate and advanced pytest features such as fixtures, marks, parameters, and plugins. With pytest, you can make your test suites fast, effective, and less painful to maintain.

Python 2.7.18, the End of an Era
“Python 2.7.18 is a special release. I refer, of course, to the fact that ‘2.7.18’ is the closest any Python version number will ever approximate e, Euler’s number. Simply exquisite!”

Python Coding Interviews: Tips & Best Practices
Learn how to take your Python coding interview skills to the next level and use Python’s built-in functions and modules to solve problems faster and more easily.


Just a Story About Sharing Python With My 10yo Son and His Math Homework
When his son gets assigned a menial and repetitive task for his math homework, his Dad does the only reasonable thing and introduces him to Python.

New Dev Here. I Feel Guilty Using Libraries to Build My Projects
“So here’s the thing. I’m building some cool web apps and have a pretty good understanding of what I’m doing. However, I always feel kinda guilty because I didn’t build 100% of it from scratch. I used various libraries to achieve certain functionality. It’s like I cheated my way to completion by using these libraries. Is this normal or am I overthinking?”

x += 1 vs x = x + 1
Are there certain situations where one is more useful than the other?

Actually Doing Any Processing in Python Is Shockingly Slow

Python Jobs

Senior Python Engineer

Fullstack Software Engineer ML, Python

Python Developer

Data Scientist II, R or Python

More Python Jobs >>>

Articles & Tutorials

Python Decorators for Beginners
If you’ve used a web framework in Python, you’ve probably used a decorator before. But do you know how they work? Do you know how to make your own? Sam Ireland introduces decorators in this beginner-friendly article by first exploring a typical problem in which decorators arise, then gently walking you through a solution.

Writing Python Inside Your Rust Code — Part 1
In this series, Mara Bos — creator of the inline-python Rust crate — walks you through developing a Rust crate for mixing Python into your Rust code from scratch. Part 1 teaches you how to work with Python from Rust, create macros, and handle white space.

Become a Python Guru With PyCharm
PyCharm is the Python IDE for Professional Developers by JetBrains providing a complete set of tools for productive Python, Web and scientific development. Be more productive and save time while PyCharm takes care of the routine →

Building Finite State Machines With Python Coroutines
Finite state machines are a mathematical model of computation with numerous applications in both hardware and software. In this tutorial, you’ll learn what a finite state machine is and how to create one in Python using coroutines.

Better Notebooks Through CI: Automatically Testing Documentation for Graph Machine Learning
Building a data science library is walking between two worlds: data science is dominated by Python notebooks, a fast and convenient way to experiment and demonstrate code in the browser, while software engineering focuses on making software reliable and repeatable. Learn how StellarGraph, a graph machine learning library built on Tensorflow and Keras, uses continuous integration to keep the benefits of both.
HUON WILSON • Shared by Tim Pitman

HPy: A Future-Proof Way of Extending Python?
HPy is a joint project which is being developed by PyPy, CPython and Cython developers. It aims to design a better C API for writing Python extensions which is more friendly to alternative implementations and which would allow CPython itself more freedom to experiment (e.g. by using a real GC instead of refcounting).”

Git Worktrees and Pyenv: Developing Python Libraries Faster
Workin on a large project means lots of context switches. During a single day, you may need to do review others’ pull requests, respond to code reviews on your own pull requests, work on features, apply small patches. Huon Wilson shares his workflow for minimizing the pain of these context switches using git worktrees and pyenv.

Profile, Understand & Optimize Python Code Performance
You can’t improve what you can’t measure. Profile and understand Python code’s behavior and performance (Wall-time, I/O, CPU, HTTP requests, SQL queries). Browse through appealing graphs. is now available as Public Beta.

Introducing ndindex, a Python Library for Manipulating Indices of ndarrays
ndindex is a new library that provides high level objects representing the various objects that can index NumPy arrays. These objects automatically canonicalize under the assumption of NumPy indexing semantics, and can be manipulated with a uniform API.”

Sorting Algorithms in Python
In this tutorial, you’ll learn all about five different sorting algorithms in Python from both a theoretical and a practical standpoint. You’ll also learn several related and important concepts, including Big O notation and recursion.

How to Scrape the GitHub Organizations You Contributed to Using Python
Learn how to use the GitHub API to scrape GitHub organizations that you contribute to and create styled components that you can embed on your website.
FLORIAN DAHLITZ • Shared by Florian Dahlitz

Handling Periodic Tasks in Django With Celery and Docker
J-O ERIKSSON • Shared by J-O Eriksson

How to Create a Windows Service in Python
DAVIDE MASTROMATTEO • Shared by Davide Mastromatteo

Projects & Code

LayoutX: Python Tk Declarative UI Framework With Reactive Data Binding

avatarify: Avatars for Zoom and Skype

PyBoy: Game Boy Emulator Written in Python

pysindy: Sparse Identification of Nonlinear Dynamical Systems From Data

libpython-clj: Python Bindings for Clojure

Terminator: Multiple GNOME Terminals in One Window

ndindex: A Python Library for Manipulating Indices of ndarrays

opencv-proto: Fast Prototyping in Python for OpenCV
GITHUB.COM/IDLESIGN • Shared by pythonz

📆🐍 Upcoming Python Events

Remote Meetup Python Madrid
April 24, 2020

PythonCamp 2020 (Virtual)
April 25 to April 27, 2020

Remote Python Pizza
April 25 to April 26, 2020
Happy Pythoning!
Copyright © 2020 PyCoder’s Weekly, All rights reserved.