Issue #406

PyPi's Most-Used Packages, Migrating to Python 3, "!=" vs "is not", Clean Code, and More

Feb. 4, 2020

PyPi's Most-Used Packages, Migrating to Python 3, "!=" vs "is not", Clean Code, and More
#406 – FEBRUARY 4, 2020 VIEW IN BROWSER
The PyCoder’s Weekly Logo
How We Retired Python 2 and Improved Developer Happiness
“Now that LinkedIn engineering has fully embraced Python 3, we no longer have to worry about supporting Python 2 and have seen our support loads decrease. We can now depend on the latest open source libraries and tools, and free ourselves from the constrictions of having to write bilingual Python.”
BARRY WARSAW

Python “!=” Is Not “is not”: Comparing Objects in Python
In this quick and practical tutorial, you’ll learn when to use the Python is, is not, == and != operators. You’ll see what these comparison operators do under the hood, dive into some quirks of object identity and interning, and define a custom class.
REAL PYTHON

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

Clean Code Concepts Adapted for Python
“Software engineering principles, from Robert C. Martin’s book Clean Code, adapted for Python. This is not a style guide. It’s a guide to producing readable, reusable, and refactorable software in Python.”
RIGEL DI SCALA

The 22 Most-Used Python Packages in the World
“As a starting point, I took a list of the most downloaded Python packages on PyPI over the past 365 days. Let’s dive in and find out what they do, how they’re related, and why they rank so high!”
ERIK-JAN VAN BAAREN

How I’m Testing in 2020
“Everything I’m currently doing for testing my personal [Python] projects, and the reasoning for why I do things the way I do.” Interesting read if you’re looking to optimize your testing setup.
JAMES BENNETT

Django Security Releases Issued: 3.0.3, 2.2.10, and 1.11.28
Fixes CVE-2020-7471: Potential SQL injection via StringAgg(delimiter)
DJANGOPROJECT.COM

What’s New in Pandas 1.0.0 (Stable)
PYDATA.ORG


Discussions


Request to Postpone Some Python 3.9 Incompatible Changes to Python 3.10
PYTHON.ORG


Python Jobs


Senior Software Engineer Python/Django (London, UK)
ZEGO

Python Developer (Malta)
GAMING INNOVATION GROUP

Sr Software Engineer Backend (Denver, CO)
CYBERGRX

Senior Software Developer (Vancouver, BC, Canada)
ABCELLERA

More Python Jobs >>>


Articles & Tutorials


Alpine Linux Can Make Python Docker Builds Slower & Larger
“When you’re choosing a base image for your Docker image, Alpine Linux is often recommended. […] But if you’re using Python, Alpine Linux will quite often: Make your builds much slower. Make your images bigger. Waste your time.” Related discussion on Hacker News.
ITAMAR TURNER-TRAURING

Sets in Python
Learn how to work with Python’s set data type. You’ll see how to define set objects in Python and discover the operations that they support. By the end of this course, you’ll have a good feel for when a set is an appropriate choice in your own programs.
REAL PYTHON video

Python 2 EOL Survey Results
ActiveState surveyed Python users on how they’ve been preparing for Python 2 End of Life. Find out how your plans stack up, and better understand the challenges and strategies for solving your EOL pains. Get the survey results →
ACTIVESTATEsponsor

Using a Flask Blueprint to Architect Your Applications
In this tutorial, you’ll learn how to use a Flask Blueprint to help you structure your application by grouping its functionality into reusable components. You’ll learn what Blueprints are, how they work, and how you can use them to organize your code.
REAL PYTHON

Typed Functional Dependency Injection in Python
“Dependency injection is a controversial topic. There are known problems, hacks, and even whole methodologies on how to work with DI frameworks. It is not the case when using a functional approach.”
SOBOLEVN.ME • Shared by Nikita Sobolev

Configuring uWSGI for Production Deployment
Tips about avoiding known gotchas when configuring uWSGI to host services at scale — while still providing a base level of defensiveness and high reliability.
PETER SPERL & BEN GREEN (BLOOMBERG)

Blackfire Profiler Public Beta Open—Get Started in Minutes
Blackfire Profiler now supports Python, through a Public Beta. Profile Python code with Blackfire’s intuitive developer experience and appealing user interface. Spot bottlenecks in your code, and compare code iterations profiles.
BLACKFIREsponsor

Surviving the Zombie Apocalypse With the Random Search Algorithm
“Pure python implementation of the random search optimization algorithm as an alternative to the standard gradient descent, given a very silly example.”
OLEG ŻERO

A Pythonista’s Review of Haskell
YING WANG

An Introduction to PyPy
ANDREW ODENDAAL

Building a Python Data Science Container With Docker
FAIZAN BASHIR

Solving the “Best Size” Problem in Python, kdb+ and BigQuery
FERENC BODON • Shared by Ferenc Bodon


Projects & Code


pytracking: Visual Tracking Library Based on PyTorch
GITHUB.COM/VISIONML

minibatch: Python Stream Processing for Humans
GITHUB.COM/OMEGAML

inlinec: Write Inline C Functions in Python Using Custom Codecs
GITHUB.COM/GEORGEK42

express-your-self: Writing Python Without Any Statements
GITHUB.COM/CHRISTIANSCOTT

hpy: Designing a Better API for Extending Python in C
GITHUB.COM/PYHANDLE

pandas-vet: Plugin for Flake8 That Checks Pandas Code
GITHUB.COM/DEPPEN8 • Shared by Python Bytes FM

mquest: Multiplication and Division Question Generator
GITHUB.COM/JONATHANWILLITTS • Shared by Jonathan Willitts

gif: Better Way to Build Animated Matplotlib Gifs
GITHUB.COM/MAXHUMBER • Shared by Max Humber

pystencils: Speed Up Your NumPy Stencil Computations
GITHUB.COM/MABAU • Shared by Martin Bauer

📆🐍 Upcoming Python Events


⋅ Python Miami February 8 to February 9, 2020

⋅ DFW Pythoneers Teaching Meeting February 8, 2020

⋅ PyCascades 2020 February 8 to February 10, 2020

⋅ Edmonton Python User Group February 10, 2020

⋅ PiterPy Meetup February 11, 2020

⋅ Leipzig Python User Group Meeting February 11, 2020

⋅ IndyPy Mixer February 11, 2020
Happy Pythoning!
Copyright © 2020 PyCoder’s Weekly, All rights reserved.