Issue #415

Python + Arduino, Final Python 2.x Release, Effective Python 2nd Ed., and More

April 7, 2020

Python + Arduino, Final Python 2.x Release, Effective Python 2nd Ed., and More
#415 – APRIL 7, 2020 VIEW IN BROWSER
The PyCoder’s Weekly Logo
Arduino With Python: How to Get Started
Discover how to use Arduino microcontrollers with Python to develop your own electronic projects. You’ll learn how to set up circuits and write applications with the Firmata protocol. You’ll control Arduino inputs and outputs and integrate the board with higher-level apps.

Things I Wish They Told Me About Multiprocessing in Python [2019]
Python’s multiprocessing module abstracts away a lot of the overhead involved in writing multiprocessing code in Python. But while it might be “easy” to implement multiprocessing in Python, it’s not always easy to do multiprocessing well. In this article, Pamela McA’Nulty shares five tips to help you write better multiprocessing code.

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 →

New Sponsorship Program for PyPI
The Packaging Working Group of the Python Software Foundation is launching an all-new sponsorship program to sustain and improve Python’s packaging ecosystem. Funds raised through this program will go directly towards improving the tools that your company uses every day and sustaining the continued operation of the Python Package Index.

What the Heck Is pyproject.toml?
“I have seen setuptools users use pyproject.toml because they were ‘told to by ‘ without knowing the entire point behind the file. And so I decided to write this blog post to try and explain to setuptools users why pyproject.toml exists and what it does as it’s the future of packaging in the Python ecosystem.”

Your Configs Suck? Try a Real Programming Language
“In this post, I’ll try to explain why I find most config formats frustrating to use and suggest that using a real programming language (i.e. general purpose one, like Python) is often a feasible and more pleasant alternative for writing configs.”

Python Software Foundation Fellow Members for Q1 2020
The PSF Fellow Members for Q1 2020 have been announced. Congratulations to all of the new fellows!

Python 2.7.18 Release Candidate 1 Available
“Python 2.7.18 will be the last release of the Python 2.7 series, and thus Python 2.” (It’s not dead, it’s resting!)


Python Programming Made Me Better at Math

Complete Set of Punctuation Marks for Python?
The string module has a string called punctuation containing several different punctuation characters from the ASCII character set. But not all possible punctuation characters are contained in string.punctuation, such as fancy quotes. What’s the best way to check if any Unicode character is punctuation?

How Do You Round a Number to the Next Highest Power of 10?
math.ceil rounds a number to the next highest integer, but how could you round a number to the next highest power of 10 in pure Python?

Python Jobs

Python Tutorial Authors Wanted (100% Remote, Freelance)

Senior Python API Developer (Remote)

Senior Python Engineer (Remote)

Sr. Python Developer With Golang (Seattle/Remote)

More Python Jobs >>>

Articles & Tutorials

Accelerating Python for Exotic Option Pricing
“In finance, computation efficiency can be directly converted to trading profits sometimes. Quants are facing the challenges of trading off research efficiency with computation efficiency. Using Python can produce succinct research codes, which improves research efficiency. However, vanilla Python code is known to be slow and not suitable for production. In this post, I explore how to use Python GPU libraries to achieve the state-of-the-art performance in the domain of exotic option pricing.”

Reworking StringIO Concatenation in Python
Building up a long string by repeatedly concatenating to the end of the “same” string has been considered an anti-Pattern in Python for quite some time. Since strings are immutable, each concatenation should create a new string and therefore incur a performance penalty. Learn how Python 3 optimizes this penalty away, as well as other thoughts on the topic of string concatenation, in this briefing of a recent discussion on the python-ideas mailing list.

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. New features added regularly →

3 Python Templating Languages You Should (Probably) Never Use
“Python has been around for a long time. In that time, deep in the corners of its system, it has accumulated some almost forgotten templating languages that are well worth poking at. Like cute koalas on top of a eucalyptus tree, happy in their ecological niche, and sometimes as dangerous to work with, these are the templating languages few have heard of—and even fewer should use.”

Effective Python and Python at Google Scale
In this episode, Christopher interviews Brett Slatkin about the 2nd edition of his book Effective Python. Brett talks about the revisions he made for the book, and updating it for the newest versions of Python 3. Brett also discusses working on Google App Engine, and what it’s like to develop and maintain Python applications at Google Scale, and working with Guido van Rossum.

Unpacking in Python: Beyond Parallel Assignment
“Unpacking in Python refers to an operation that consists of assigning an iterable of values to a tuple (or list) of variables in a single assignment statement. In this tutorial, [you’ll] learn what iterable unpacking is and how [you] can take advantage of this Python feature to make [your] code more readable, maintainable, and Pythonic.”

Linked Lists in Python: An Introduction
In this article, you’ll learn what linked lists are and when to use them, such as when you want to implement queues, stacks, or graphs. You’ll also learn how to use collections.deque to improve the performance of your linked lists and how to implement linked lists in your own projects.

When Python Practices Go Wrong
“Just because a programming pattern or convention becomes popular doesn’t always mean that it’s a good idea. This talk digs into the consensus that the Python community has built around what constitutes ‘Pythonic’ code, with a focus on cases where the conventional wisdom may be wrong.”

The Clean Architecture in Python: How to Write Testable and Flexible Code
“I wrote this blog post because I succeeded in applying the Clean Architecture in two Python projects – both of them reached production and are still being used and developed. This article contains python-specific techniques and tools helpful in embracing the Clean Architecture.”

Make an Instagram Bot With Python and InstaPy
Learn all about how to use InstaPy to create an Instagram bot that can increase your follower and like count with minimal effort on your end. Along the way, you’ll also learn about two tools that InstaPy uses under the hood: Selenium and the Page Object Pattern.

Python for Middle Schoolers
Stuck in quarantine with a middle schooler? Daniel Lowengrub has put together a fun lesson plan that teaches a beginner how to program in Python with numerous examples and small projects, culminating in an implementation of Tic-Tac-Toe.

Thriving in a Remote Developer Environment
“On this episode, I’ll exchange stories about working from home with Jayson Phillips. He’s been writing code and managing a team from his home office for years and has brought a ton of great tips to share with us all.”

Register: Free Intro to Python Workshop for Beginners
Join Metis on April 16 for One Hour at Bootcamp, a free workshop introducing beginner programmers to the fundamentals of Python. Learn live from one of Metis’s top instructors.

Understand Django: Templates for User Interfaces
When your Django application sends back a response with your user interface, templates are the tool you’ll use to produce that user interface. This article looks at what templates are and how to use them.
MATT LAYMAN • Shared by Matt Layman

Getting Started With Django Middleware
“Django comes with a lot of useful features. One of them is middleware. In this post I’ll give a short explanation how middleware works and how to start writing your own.”

Asynchronous Tasks With Django and Celery
This post looks at how to configure Celery to handle long-running tasks in a Django app.
MICHAEL HERMAN • Shared by Michael Herman

Dictionary Merging and Updating in Python 3.9

Building pyarrow With CUDA Support

Projects & Code

matplotlib-3d: Experimental 3D Axis for Matplotlib

django-anon: Anonymize Your Production Data
GITHUB.COM/TESORIO • Shared by Caio Ariede

check-wheel-contents: Quality Checker for Python Wheels

confight: One Simple Way of Parsing Configs

Simulating Concurrent Writes to Sqlite3 With multiprocessing and pytest

NarrowEscapeSimulator: Python 3 Library for Simulating Brownian Motion

moderngl: Modern OpenGL Binding for Python

co2meter: USB CO2 Monitoring With Python

cliche: Build a Simple Command-Line Interface From Your Functions

📆🐍 Upcoming Python Events

⋅ PyCon US 2020 (Remote)

⋅ Virtual Nationwide Django Meetup April 15, 2020
Happy Pythoning!
Copyright © 2020 PyCoder’s Weekly, All rights reserved.