Issue #378

Python 2 Support in Pip, Logging, Effective Python Dev Environments, and More

July 23, 2019

Python 2 Support in Pip, Logging, Effective Python Dev Environments, and More
#378 – JULY 23, 2019 VIEW IN BROWSER
The PyCoder’s Weekly Logo
Create a Flask Application With Google Login
In this step-by-step tutorial, you’ll create a Flask application that lets users sign in using their Google login. You’ll learn about OAuth 2 and OpenID Connect and also find out how to implement some code to handle user session management.
REAL PYTHON

Guido on PEG Parsers for Python
“Some years ago someone asked whether it would make sense to switch Python to a PEG parser. […] I looked into it a bit and wasn’t sure what to think, so I dropped the subject. Recently I’ve learned more about PEG (Parsing Expression Grammars), and I now think it’s an interesting alternative to the home-grown parser generator that I developed 30 years ago when I started working on Python.”
GUIDO VAN ROSSUM

Save 40% on Your Order at manning.com
Take the time to learn something new! Manning Publications are offering 40% off everything at manning.com, including everything Pythonic. Just enter the code pycoders40 at the cart before you checkout to save →
MANNING PUBLICATIONSsponsor

Python 2.x Support in Pip Going Forward
“pip will continue to ensure that it runs on Python 2.7 after the CPython 2.7 EOL date. Support for Python 2.7 will be dropped, if bugs in Python 2.7 itself make this necessary (which is unlikely) or Python 2 usage reduces to a level where pip maintainers feel it is OK to drop support. The same approach is used to determine when to drop support for other Python versions.”
PYPA.IO

Logging in Python
Python provides a logging system as a part of its standard library, so you can quickly add logging to your application. In this course, you’ll learn why using this module is the best way to add logging to your application as well as how to get started quickly, and you will get an introduction to some of the advanced features available.
REAL PYTHON video

Understand How Celery Works by Building a Clone
“A delayed job processor (also called a background processor, asynchronous task queue, etc.) is a software system that can run code at a later time. Examples of such software includes Celery, Resque, Sidekiq, and others. In this post we will try and understand how these things work by building a clone/replica of such software.”
KOMU WAIRAGU • Shared by Komu Wairagu

Simplify Your Python Developer Environment
Three tools (pyenv, pipx, pipenv) make for smooth, isolated, reproducible Python developer and production environments.
MASON EGGER • Shared by Python Bytes FM


Discussions


Exploring Best Practices for Upcoming Python 3.8 Features
“As a Python 3.8 learning exercise, I’m using the walrus operator, / notation, and f= at every opportunity and then evaluating the result for clarity.”
RAYMOND HETTINGER

Using NumPy With Pandas Without Import NumPy
“Want to use NumPy without importing it? You can access all of its functionality from within pandas…”
TWITTER.COM/JUSTMARKHAM

Writing the Digits of Pi Backwards…in Python?
;-)
REDDIT


Python Jobs


Software Engineering Lead, Python (Houston, TX)
SIMPLELEGAL

Python Software Engineer (Multiple US Locations)
INVITAE

Python Software Engineer (Munich, Germany)
STYLIGHT GMBH

Senior Back-End Web Developer (Vancouver, BC)
7GEESE

Lead Data Scientist (Buffalo, NY)
UTILANT LLC

Python Developer (Remote)
418 MEDIA

Sr. Python Engineer (Arlington, VA)
PUBLIC BROADCASTING SERVICE

Senior Backend Software Engineer (Remote)
CLOSE

Data Engineer (Munich, Germany)
STYLIGHT GMBH

More Python Jobs >>>


Articles & Tutorials


Making Python Classes More Modular Using Mixins
“In this article I want to discuss mixins: what they are, how they work, and when they’re useful. Hopefully after reading this brief article you will be ready to experiment with this pattern yourself in your own projects.”
ALEKSEY BILOGUR • Shared by Aleksey Bilogur

Keras Learning Rate Schedules and Decay
In this tutorial, you will learn about learning rate schedules and decay using Keras. You’ll learn how to use Keras’ standard learning rate decay along with step-based, linear, and polynomial learning rate schedules.
ADRIAN ROSEBROCK

Safely Roll Out New Features in Python With Optimizely Rollouts
Tired of code rollbacks, hotfixes, or merge conflicts? Instantly turn on or off features in production. Comes with unlimited collaborators and feature flags. Embrace safer CI/CD releases with SDKs for Python and all major platforms →
OPTIMIZELYsponsor

How to Use np.arange()
In this step-by-step tutorial, you’ll 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.
REAL PYTHON

Protecting the Future of Python by Hunting Black Swans
An interview with Russell Keith-Magee about identifying potential black swan events for the Python ecosystem and how to address them for the future of the language and its community.
PYTHONPODCAST.COM podcast

Writing Sustainable Python Scripts
A standalone Python script can come with a discoverable interface a documentation and some tests to keep it useful a year later.
VINCENT BERNAT

Decoupling Database Migrations From Server Startup: Why and How
Why running migrations on application startup are a bad idea (potential database corruption & downtime) and what to do instead.
ITAMAR TURNER-TRAURING

Train to a Guaranteed Machine Learning Job
1:1 personalized guidance with your own machine expert. Learn through a curated curriculum designed by hiring managers. Get career support and insider connections to jobs with online self-paced course. Get a machine learning job or your money back.
SPRINGBOARDsponsor

Let’s Build a Simple Interpreter: Recognizing Procedure Calls
Part 16 in Ruslan’s amazing tutorial series on building a scripting language interpreter using Python, from scratch.
RUSLAN SPIVAK

Practical Production Python Scripts
A step-by-step refactoring journey from simple fizzbuzz script to a cleaned up and “production-ready” piece of code.
DAN CONNOLLY

The Invasion of Giant Pythons Threatening Florida
Python is eating the world! Related discussion on Hacker News.
SMITHSONIANMAG.COM

Extensive Python Testing on Travis CI
Testing open-source Python on several operating systems using Travis for continous integration.
SHAY PALACHY

List of Python Anti-Patterns and Worst Practices
QUANTIFIEDCODE.COM

Estimating Pi in Python
CHRIS WEBB

Multipage PDF to JPEG Image Conversion in Python
M. TARIK YURT

5 Common Beginner Mistakes in Python
DEEPSOURCE.IO

Ranking Capitals by the Number of Starbucks Using Python and Google Maps API
ARTEM RYS


Projects & Code


Pdb++: Fancy Pdb (The Python Debugger)
GITHUB.COM/PDBPP

preper: Persian (Farsi) Preprocessing Python Module
GITHUB.COM/ALIIE62 • Shared by Ali Hosseini

pyorbs: Tool for Convenient Python Virtual Environment Management
WBRP.CH

pyon: The Pythonic Way to Use JSON
GITHUB.COM/LAGMOELLERTIM

snoop: Python Debugging Library Designed for Maximum Convenience
GITHUB.COM/ALEXMOJAKI

StanfordNLP: Python NLP Library for Many Human Languages
STANFORDNLP.GITHUB.IO

dlint: Robust Static Analysis for Python
DUO.COM

pygraphblas: Graph Processing With Python and GraphBLAS
GITHUB.COM/MICHELP

📆🐍 Upcoming Python Events


⋅ PythOnRio Meetup July 27, 2019

⋅ Python Sheffield July 30, 2019

⋅ Heidelberg Python Meetup July 31, 2019

⋅ PiterPy Breakfast July 31, 2019

⋅ Reunión Python Valencia August 1, 2019

⋅ DjangoCon AU 2019 August 2 to August 3, 2019

⋅ PyCon AU 2019 August 2 to August 7, 2019
Happy Pythoning!
Copyright © 2019 PyCoder’s Weekly, All rights reserved.