Issue #350

Python 3 Type Checking, Distributing Python Apps, and More

Jan. 8, 2019

Python 3 Type Checking, Distributing Python Apps, and More
#350 – JANUARY 8, 2019 VIEW IN BROWSER
The PyCoder’s Weekly Logo
The Ultimate Guide to Python Type Checking
In this guide, you’ll look at Python type checking. Traditionally, types have been handled by the Python interpreter in a flexible but implicit way. Recent versions of Python allow you to specify explicit type hints that can be used by different tools to help you develop your code more efficiently.
REAL PYTHON

Distributing Standalone Python Applications
Packaging and distributing Python applications is a hard problem if you’re not targeting developers (who are comfortable with pip install-ing from PyPI). Gregory’s detailed article covers the current options for app distribution, such as PyInstaller and the Nuitka compiler.
GREGORY SZORC

The First AI/Machine Learning Bootcamp With Job Guarantee
Springboard has launched the first AI/machine learning bootcamp with a job guarantee. Master Tensorflow, Spark and more with the help of a machine learning expert who will sit down with you for weekly personalized calls. Benefit from personalized career coaching. Get a job or your money back →
SPRINGBOARDsponsor

An Update on Python’s Governance
A summary of the current state of Python’s governance as of the end of 2018 and what’s next, written by CPython core developer Brett Cannon. A must-read if you’re interested in the Python governance changes after Guido retired as Python’s BDFL.
BRETT CANNON • Shared by Ricky White

Setting Up Vim as a Python IDE
Installation instructions to provide an out-of-box Python IDE based on Vim and a curated set of community plugins.
RAPPHIL.GITHUB.IO

Python 3 Statement: Sunsetting Legacy Python Support
A pledge from various open-source projects to drop Python 2 support by 2020, plus progress updates. One more year left folks…
PYTHON3STATEMENT.ORG


Discussions


Pandas Dropping Python 2 Support
TWITTER.COM/JAKEVDP

What Does a Person Mean Exactly When They Describe Code as Pythonic?
REDDIT

While I Am Learning Python, What Else Should I Be Learning to Supplement My Resume?
REDDIT

What Do Employers Look for in a Python Developer?
TWITTER.COM/ANTHONYPJSHAW


Python Jobs


Sr Enterprise Python Developer (Toronto, Canada)
KOGNITIV

Senior Software Engineer (Santa Monica, CA)
GOODRX

Software Engineer(s) - Python (Palo Alto, CA)
RHYTHM DIAGNOSTIC SYSTEMS, INC

Senior Python Developer (Vienna, Austria)
ADVERITY GMBH

Backend Software Engineer (Vancouver, Canada)
GASKET GAMES CORP

Head of Engineering (Remote)
FINDKEEP.LOVE

More Python Jobs >>>


Articles & Tutorials


Reverse Engineering the Godot File Format
Parsing the pack file format of the free and open-source Godot game engine with hexdump and Python as a little personal challenge. Nice writeup!
GOKBERK YALTIRAKLI

Analyzing Medium Story Stats With Python
A Python toolkit for data science with Medium.com article statistics. I find Medium to be a terrible blogging platform (more examples) but Will’s toolkit demoed in this writeup looks helpful.
WILL KOEHRSEN

Modeling Polymorphism in Django With Python
Modeling polymorphism in relational databases can be a challenging task, but in this article, you’ll learn several modeling techniques to represent polymorphic objects in a relational database using the Django object-relational mapping (ORM).
REAL PYTHON

Develop a Real-Time App with Django Channels and Angular
In this course, you will learn how to create a ride-sharing application that incorporates an Angular front-end with a Django back-end in a Docker container. The focus is on real-time communication between client and server, using Django Channels and Redis to send and receive JSON messages via WebSockets. Learn more →
TESTDRIVEN.IOsponsor course

PyPy for Low-Latency Systems
PyPy introduced two new functions (gc.disable() and gc.collect_step()) that allow for more control over the garbage collector, making PyPy viable for low-latency use cases.
PYPY STATUS BLOG

Experiments With the New Low Latency PyPy Garbage Collector
How to get more stable performance and avoid frame drops when developing games with PyGame and PyPy. The idea is to manually trigger a GC pass after every frame. Interesting writeup.
RENÉ DUDFIELD

Monkeypatching With Pytest
This blog post describes what monkeypatching is and provides two examples of using it with pytest. Includes example code on GitHub.
PATRICKSOFTWAREBLOG.COM

Using the Pandas Category Data Type
Introduction to Pandas’ categorical data type and some of the benefits and drawbacks of using it.
CHRIS MOFFITT

List of Sample Web App Ideas
A great list of project ideas for project apps while you learn Python. Language agnostic, but all can (and should) be done with Python.
FREECODECAMP.ORG • Shared by Ricky White

Learn Python From the Top 50 Articles for the Past Year (2018)
MEDIUM.COM/@MYBRIDGE • Shared by Ricky White

PyDev of the Week: Mike Grouchy
Interview with Mike Grouchy, one of the founders of PyCoder’s Weekly.
MIKE DRISCOLL • Shared by Ricky White

Using JupyterHub as a Generic Application Spawner
“You don’t have to use JupyterHub to spawn Jupyter notebooks. JupyterHub can in fact be used to spawn an arbitrary application, or when we are talking about Kubernetes, an arbitrary container image can be used for the per user environment that JupyterHub creates.”
GRAHAM DUMPLETON


Projects & Code


mypyc: Compiler From Type Annotated Python to C Extensions
Mypyc is a compiler that compiles mypy-annotated, statically typed Python modules into Python C extensions. The focus is on making mypy faster through compilation.
GITHUB.COM/MYPYC

litecli: CLI for SQLite Databases With Auto-Completion and Syntax Highlighting
I love pgcli and this project is from the same team.
GITHUB.COM/DBCLI

Brython: Python 3 → JS Interpreter
Brython compiles Python 3.7(-ish) code and converts it to JavaScript, meaning you can run Python code in the browser with it.
BRYTHON.INFO

profanity-check: Check for Offensive Language in Strings
Uses a linear SVM model trained on 200k human-labeled samples of clean and profane text strings instead of an explicit blacklist.
GITHUB.COM/VZHOU842

writango: Write, Publish and Let Your Audience Play Your Write-Up Like a Slide Presentation
Write, publish and let your audience play your write-up like a slide deck presentation. Built with Django + ReactJS.
GITHUB.COM/JOELEWIS

Coconut Programming Language
Simple, elegant, Pythonic functional programming.
COCONUT-LANG.ORG

Border-Patrol: Log All Imported Packages and Their Version for Debugging
FLORIAN WILHELM • Shared by Florian Wilhelm

ptrepl: Turn Any Bash Command Into a REPL
SARDORBEK IMOMAILEV • Shared by Sardorbek Imomailev

uncaptcha2: Defeating the Latest Version of ReCaptcha With 91% Accuracy
GITHUB.COM/ECTHROS

django-etc: Tiny Stuff for Django That Won’t Fit Into Separate Apps
GITHUB.COM/IDLESIGN

rests: Auto-Generate TypeScript Models for Django Projects
GITHUB.COM/PETER-WOYZBUN

📆🐍 Upcoming Python Events


⋅ Python Atlanta January 10, 2019

⋅ Python Miami January 12 to January 13, 2019

⋅ PyCoffee Porto Meetup January 12, 2019

⋅ Edmonton Python User Group January 14, 2019

⋅ Heidelberg Python Meetup January 16, 2019

⋅ PyData Bristol Meetup January 17, 2019
Happy Pythoning!
Copyright © 2019 PyCoder’s Weekly, All rights reserved.