Quick announcement—we now have a full issue archive going back all the way to 2012 for the newsletter.
So knock yourself out if you want to do some archeological digging. You can also comment on issues there, and full-text search is coming soon. Stay tuned!
— Dan Bader, Editor
P.S. Article & link submissions are also open again, so send us your favorite links and we’ll consider them for inclusion in next week’s issue.
| Registration for PyCon 2019 Is Now Open |
800 early bird tickets are availalbe at a discounted rate, so don’t wait too long. The direct link for the registration form is here.
Python Testing 101: Introduction to Testing
An introduction to high-level testing concepts and the first in a series of posts that details the author’s thought process for how they go about adding tests to a codebase. Chock-full of info and a great read, highly recommended.
How to Publish a Python Package to PyPI
In this step-by-step tutorial, you’ll learn how to create a Python package for your project and how to publish it to PyPI, the Python Package Repository. Get up to speed on everything from naming your package to configuring it using
Find a Python Job Through Vettery
Vettery specializes in developer roles and is completely free for job seekers. Interested? Submit your profile, and if accepted onto the platform, you can receive interview requests directly from top companies seeking Python developers. Get started →
PyCoder’s Weekly Issue Archive
We now have a full issue archive going back all the way to 2012 so you can read previous issues of the PyCoder’s Weekly newsletter online. I’ve also added a comments feature. Full-text search is coming soon.
Python Qt Tutorial: Create a Simple GUI Chat Client
End-to-end tutorial for creating a chat client using Python for Windows, macOS or Linux. You’ll see how to install Qt for Python, write the client app, and build an installer for it. Python’s story in the GUI app space is getting better and this tutorial is visible proof.
What Any Developer Can Learn From the Best
Not Python-specific, but still a great post about the traits of effective developers and how to develop (ha!) those traits.
ERIC ELLIOT • Shared by Brian Okken (Python Bytes FM)
API Evolution the Right Way
Ten covenants that responsible Python library authors keep with their users. The PyCon Canada talk under the same name was great, and this post is a fantastic read too.
A. JESSE JIRYU DAVIS
“Least Astonishment” and the Mutable Default Argument
Why something like
def foo(a=): is usually a code smell, and a discussion of whether or not this is a design flaw in the Python language.
A Spoonful of Advanced Python Per Day?
What to do when your Python skills plateau & a list of recommended resources.
Python as an Excel Scripting Language (Microsoft Excel Team Suggestion Box)
Apparently this has gotten some traction again and the Excel team is considering it, or at least not ruling it out. Related discussion.
Senior Software Engineer - Full Stack (Raleigh, NC)
Head of Engineering (Remote, Work from Anywhere)
Senior Software Engineer (Los Angeles, CA)
Senior Developer (Chicago, IL)
More Python Jobs >>>
Articles & Tutorials
Python Patterns Guide
Various Python programming patterns that Brandon covered in his talks and blog posts. Each pattern is explained in a detailed writeup.
Working Efficiently With Jupyter Notebooks
Several best practices and techniques recommended by the author that will help you to create notebooks which are focused, easy to comprehend, and easy to work with. Nice grab bag of tips!
FLORIAN WILHELM • Shared by Florian Wilhelm
Optimizing the Django Admin Paginator
Or: How to make Django admin fast for large tables where the paginator becomes the bottleneck.
Introduction to Fountain Codes (Error Correction)
An intro to Luby Transform Code, an error correction algorithm belonging to the “fountain” code class, a type of corrector code that can generate an infinite number of packets to reconstitute data lost during transfers across different networks. In-depth tutorial with Python examples.
Data Science With Python in Visual Studio Code
An overview of new features in VS Code that support common data science workflows. Namely exploring data within VS Code (just like you would with a Jupyter notebook) and turning notebooks into reproducible/”production-ready” Python code.
RONG LU & DAN TAYLOR (MICROSOFT)
Creating a Python 3 Culture at Facebook
Mike Kennedy interviews Jason Fried, who created a grassroots campaign to move Facebook’s massive Python 2 codebase to Python 3. Lots of lessons to be had here, especially in the light of the upcoming Python 2 EOL date.
TALK PYTHON podcast
Turbocharging Python with Command Line Tools
How simple command-line tools can be an alternative to building a full-blown web app around your domain-specific code. Worth considering if your application is mainly used by developers and other CLI-savy folk.
Analyze Podcast Transcripts With NLTK (Code Challenge)
In this two part challenge you’re going to do some natural language processing with Python on podcast transcript data.
How to Take a Random Sample of Rows From a Pandas DataFrame
How to use Pandas Sample to randomly select rows, setting the random seed, sampling by group, using weights, and more.
A Tour of Python Packaging
The current state of packaging a Python library (not a Python application). What tools to use and what to look out for.
Projects & Code
dir() Replacement With Recursive Search Capabilities
A better version of Python’s built-in
dir function with searching in mind. Learned about this at PyCon Canada and it is a super handy tool for working in the REPL or when debugging.
GITHUB.COM/GABRIELCNR • Shared by Aly Sivji
pampy: Python Pattern Matching Library
“Pattern Matching” in the sense of the syntactic construct used by languages like Haskell. That is, specifying patterns to which some data should conform, then checking to see if it does, and finally deconstructing the data according to those patterns.
Wikked: Plain-Text-Files/SCM-backed Wiki Engine
Wikked is a simple yet powerful wiki engine suitable for use as a personal electronic notebook, family digital blackboard, or wiki for a small team.
waveglow: Generative Network for Speech Synthesis
A PyTorch implementation of WaveGlow, a flow-based generative network for speech synthesis.
Django 2.1.3 Bugfix Release
cursive_re: Readable Regular Expressions for Python 3.6 and Up
Similar to grimace.
GITHUB.COM/BOGDANP • Shared by Python Bytes FM
Starlette: ASGI (“Async WSGI”) Framework
A lightweight ASGI framework/toolkit meant for building high performance asyncio services.
PyDev IDE 7.0 Released
Lots of improvements here: mypy & black support, pipenv, faster debugger… PyDev is a free and open-source Python IDE for Eclipse.
Wily: CLI App for Tracking, Reporting on Complexity of Python Tests and Applications