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.
GITHUB.COM/PYPA

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

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.
REAL PYTHON

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!”
BENJAMIN PETERSON

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.
REAL PYTHON course


Discussions


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

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?”
REDDIT

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

Actually Doing Any Processing in Python Is Shockingly Slow
JOHN CARMACK ON TWITTER


Python Jobs


Senior Python Engineer (Remote, East Coast Only)
ENTERRA SOLUTIONS

Fullstack Software Engineer ML, Python (Remote)
CYBERCODERS

Python Developer (Remote)
SYSTECH CORP, INC.

Data Scientist II, R or Python (Raleigh, NC, USA)
INCENDIA PARTNERS

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.
SAM IRELAND

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.
MARA BOS

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 →
JETBRAINSsponsor

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.
ARPIT BHAYANI

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).”
ANTONIO CUNI

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.
HUON WILSON

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. Blackfire.io is now available as Public Beta.
BLACKFIREsponsor

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

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.
REAL PYTHON

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
GITHUB.COM/BOMBERUS

avatarify: Avatars for Zoom and Skype
GITHUB.COM/ALIEVK

PyBoy: Game Boy Emulator Written in Python
GITHUB.COM/BAEKALFEN

pysindy: Sparse Identification of Nonlinear Dynamical Systems From Data
GITHUB.COM/DYNAMICSLAB

libpython-clj: Python Bindings for Clojure
GITHUB.COM/CLJ-PYTHON

Terminator: Multiple GNOME Terminals in One Window
GITHUB.COM/GNOME-TERMINATOR

ndindex: A Python Library for Manipulating Indices of ndarrays
GITHUB.COM/QUANSIGHT

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.