Issue #342

PyCon 2019, testing, publishing packages on PyPI, and more

Nov. 13, 2018

PyCon 2019, testing, publishing packages on PyPI, and more
#342 – NOVEMBER 13, 2018 VIEW IN BROWSER
The PyCoder’s Weekly Logo

Hi there!

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.
PYCON CONFERENCE

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.
ALY SIVJI

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 setup.py.
REAL PYTHON

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 →
VETTERYsponsor

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.
PYCODERS.COM

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.
FMAN.IO

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


Discussions


“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.
STACK OVERFLOW

A Spoonful of Advanced Python Per Day?
What to do when your Python skills plateau & a list of recommended resources.
REDDIT.COM

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.
USERVOICE.COM


Python Jobs


Senior Software Engineer - Full Stack
SUGARCRM 📍 RALEIGH, NC

Head of Engineering
FINDKEEP.LOVE 📍 REMOTE, WORK FROM ANYWHERE

Senior Software Engineer
GOODRX 📍 LOS ANGELES, CA

Senior Developer
PANOPTA 📍 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.
BRANDON RHODES

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.
HAKI BENITA

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.
FRANÇOIS ANDRIEUX

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.
NOAH GIFT

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.
PYBITES

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.
ERIK MARSJA

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.
NICK MAVRAKIS


Projects & Code


python-ls: 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.
GITHUB.COM/SANTINIC

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.
BOLT80.COM

waveglow: Generative Network for Speech Synthesis
A PyTorch implementation of WaveGlow, a flow-based generative network for speech synthesis.
GITHUB.COM/NPUICHIGO

Django 2.1.3 Bugfix Release
DJANGOPROJECT.COM

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.
STARLETTE.IO

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.
PYDEV.BLOGSPOT.COM

Wily: CLI App for Tracking, Reporting on Complexity of Python Tests and Applications
PYPI.ORG

📆🐍 Upcoming Python Events


DjangoCon US 2018 Videos
Talk recordings from this year’s DjangoCon.

PyCascades 2019 Ticket Sales Are Open
February 23rd–25th, 2019 in Seattle

PyParis 2018
Nov 14 to 16 in Paris, France
Happy Pythoning!
Copyright © 2018 PyCoder’s Weekly, All rights reserved.