Issue #402

Ubuntu 20.04 Removes Python 2, *args & **kwargs, Async Back Pressure, and More

Jan. 7, 2020

Ubuntu 20.04 Removes Python 2, *args & **kwargs, Async Back Pressure, and More
#402 – JANUARY 7, 2020 VIEW IN BROWSER
The PyCoder’s Weekly Logo
Last Python 2.7 Maintenance Release on April 2020
Python 2.7 is retired and became EOL on Jan 1, 2020. The last 2.7 release will be in April 2020.
PYTHON.ORG

Ubuntu 20.04 LTS Moves Along With Its Python 2 Removal
“With Python 2 having reached end-of-life at the start of 2020, Ubuntu and Debian developers continue their work on removing Python 2 at least from the base OS. Work continues on transitioning packages to Python 3 or otherwise ultimately dropping unmaintained packages.”
MICHAEL LARABEL

Optimize Your Python Applications in One Place
Dissect problematic requests with Datadog’s detailed flame graphs, and trace their path across your environment. See which caches, databases, or services are generating errors or contributing to overall latency to assist troubleshooting efforts or to identify opportunities for optimization →
DATADOGsponsor

Python *args and **kwargs Demystified
Learn how to use args and kwargs in Python to add more flexibility to your functions. You’ll also take a closer look at the single and double-asterisk unpacking operators, which you can use to unpack any iterable object in Python.
REAL PYTHON video

I’m Not Feeling the Async Pressure
“So for you developers of async libraries here is a new year’s resolution for you: give back pressure and flow control the importance they deserve in documentation and API.”
ARMIN RONACHER

Considering Python’s Target Audience [2017]
Who is Python being designed for? CPython core dev Nick Coghlan discusses Python’s and PyPI’s target audience and design philosophy. Recommended reading.
NICK COGHLAN

DjangoCon Europe 2020 Announcement
DjangoCon Europe 2020 will take place in Porto, Portugal from May 27–31, 2020.
DJANGOPROJECT.COM


Discussions


Which Little Known Python Tool Do You Consider Indispensable?
ast.literal_eval() vs functools.lru_cache() vs pdb.pm() vs reprlib.recursive_repr() – Which one is your favorite?
RAYMOND HETTINGER


Python Jobs


Python Web Developer
PREMIERE DIGITAL 📍 REMOTE

Software Engineer
ENVELOP RISK 📍 BRISTOL, UK

More Python Jobs >>>


Articles & Tutorials


A Python Packaging Carol
“Quite often, I see people being wrong on the internet about Python packaging. But the way in which they’re wrong is subtle, and often passes unnoticed. The issue with much of the discussion is in conflating multiple different things under the term ‘packaging’, and failing to be clear exactly which of them is being discussed or criticized.”
JAMES BENNETT

Using Pandas and Python to Explore Your Dataset
In this step-by-step tutorial, you’ll learn how to start exploring a dataset with Pandas and Python. You’ll learn how to access specific rows and columns to answer questions about your data. You’ll also see how to handle missing values and prepare to visualize your dataset in a Jupyter notebook.
REAL PYTHON

How to Build a Python Recommendation Engine
Did you know that 70% of movies a Netflix user watches are from recommendations? Recommendation engines provide significant value to user-bases. Check out ActiveState’s tutorial on how to build your own in Python with Pandas and Flask →
ACTIVESTATEsponsor

Counting Queries: Basic Performance Testing in Django
“Testing application performance is hard and time consuming, but there’s a type of test that is both easy to do and has a great impact in performance. In this blog post we will show how to unit test the number of queries to the database your application is making.”
FILIPE XIMENES • Shared by Filipe Ximenes

Exploring NumPy’s linspace() Function
NumPy supports different ways of generating arrays, and this tutorial is going to explore one way of do so, using the np.linspace() function. It returns evenly-spaced numbers and can generate arrays of any dimensionality.
AHMED GAD

pytest Features You Need in Your (Testing) Life
Tips that make your testing experience more enjoyable and more efficient, like filtering warnings, testing stdout/stderr, and parametrization.
MARTIN HEINZ

Autograding Handwritten Mathematical Answer Sheets
This article is about building a computer vision model to automatically grade handwritten mathematical worksheets using Python.
DIVYAPRABHA M • Shared by Divyaprabha M

Making Python Programs Blazingly Fast
“First rule of optimization is to not do it. But, if you really have to, then I hope these few tips help you with that.”
MARTIN HEINZ

Zero-Downtime Deploys With a Single Server
How PyDist achieves zero-downtime deploys without a typical load balancer and blue/green server infrastructure.
ALEX BECKER • Shared by Alex Becker

Measure and Improve Python Code Performance with Blackfire.io
Profile in development, test/staging, and production—with no overhead for end users! Blackfire supports any Python version from 2.7.x and 3.x. Find bottlenecks in wall-time, I/O, CPU, memory, HTTP requests and SQL queries.
BLACKFIREsponsor

How to Write a Python Web API With Pyramid and Cornice
Using Pyramid and Cornice to build and document scalable RESTful web services.
MOSHE ZADKA

Interview With Guido van Rossum
THE OXFORD UNION SOCIETY video

20 Most-Rated Python Questions at StackOverflow in 2019
PYTHON-WEEKLY.BLOGSPOT.COM

How to Read a File in Python, Write To, and Append, to a File
ERIK MARSJA

Atomic Lock-Free Counters in Python
JULIEN DANJOU


Projects & Code


cachew: Persistent Cache/Serialization Powered by Type Hints
GITHUB.COM/KARLICOSS

tmtoolkit: Text Mining and Topic Modeling Toolkit
GITHUB.COM/WZBSOCIALSCIENCECENTER • Shared by Markus Konrad

vidgear: Video Processing Framework for Python
GITHUB.COM/ABHITRONIX

sheetfu: Python Library to Interact With Google Sheets V4 API
GITHUB.COM/SOCIALPOINT-LABS

karateclub: Unsupervised Learning on Graph Data Structures
GITHUB.COM/BENEDEKROZEMBERCZKI

ElasticBatch: Easy Elasticsearch Inserts for Data Processing Workflows
GITHUB.COM/DKASLOVSKY • Shared by Daniel Kaslovsky

switchenv: Python-Based Tool for Managing Bash Environments
GITHUB.COM/ROBDMC • Shared by Rob deCarvalho

codetiming: Flexible, Customizable Timer for Your Python Code
PYPI.ORG

📆🐍 Upcoming Python Events


Heidelberg Python Meetup
January 8, 2020

Python North East
January 8, 2020

PyStaDa
January 8, 2020

pyCologne User Group Treffen
January 8, 2020

Santa Cruz Python Meetup
January 8, 2020

PyMNTos
January 9, 2020

Python Atlanta
January 9, 2020

Yola Python Club 2020
January 11 to January 12, 2020

Python Miami
January 11 to January 12, 2020
Happy Pythoning!
Copyright © 2020 PyCoder’s Weekly, All rights reserved.