Issue #360

Python GUI Applications, Guido Blogs Again, Decorators Deep-Dive, and More

March 19, 2019

Python GUI Applications, Guido Blogs Again, Decorators Deep-Dive, and More
#360 – MARCH 19, 2019 VIEW IN BROWSER
The PyCoder’s Weekly Logo
How to Build a Python GUI Application With wxPython
In this step-by-step tutorial, you’ll learn how to create a cross-platform graphical user interface (GUI) using Python and the wxPython toolkit. A graphical user interface is an application that has buttons, windows, and lots of other widgets that the user can use to interact with your application.
REAL PYTHON

Simplify Your Python Developer Environment
How three tools (pyenv, pipx, pipenv) make for smooth, isolated, reproducible Python developer and production environments.
MASON EGGER • Shared by Mason Egger

Automated Code Reviews for Python
Take the hassle out of code reviews—Codacy flags errors so you can fix them quickly. Address security concerns, code duplication, code complexity and drops in coverage, directly from your workflow. Click here to get started →
CODACYsponsor

When C Extensions Crash: Easier Debugging for Your Tests
Learn how to prepare for crashes in advance, so when they do occur you can quickly figure out which part of the codebase caused them: The standard library’s faulthandler, verbose test runs, package listing, and catchsegv on Linux.
ITAMAR TURNER-TRAURING

Why Operators Are Useful
Latest blog post from Guido, related to the recent discussion about Python getting + and - operators for merging dictionaries (PEP 584).
GUIDO VAN ROSSUM • Shared by Ricky White

Python Decorators 101
See step-by-step what Python decorators are and how you can use them to make your own code more Pythonic and expressive.
REAL PYTHON video

Tuple Ordering and Deep Comparisons in Python
Nice deep dive on comparison operators in Python.
TREY HUNNER • Shared by Ricky White

urllib CRLF Injection Vulnerability
The current Python 2.x and 3.x implementation of urllib does not encode the \r\n sequence in the query string, which allows an attacker to manipulate a HTTP header with the \r\n sequence in it, so the attacker can insert arbitrary content to the new line of the HTTP header.
PYTHON.ORG

Give Me Back My Monolith
“It feels like we’re starting to pass the peak of the hype cycle of microservices.” Interesting counterpoint to the “everything should be broken down into microservices” hypetrain. Not Python-specific, but worth a read nonetheless.
CRAIG KERSTIENS opinion


Discussions


Guido Explains Why Python Uses 0-Based Indexing
Google Plus is shutting down soon, so here’s a final hurrah.
GOOGLE.COM

There Are Some Huge Speedups in Python 3.8. Will They Also Be Put Into the Older Versions?
REDDIT


Python Jobs


Brought to you by Indeed Primesponsor
Apply today to see what job opportunities are waiting for you!

Machine Learning and Data Science Developer (Austin, TX)
PROTECTION ENGINEERING CONSULTANTS LLC

Lead Python Developer (Toronto, Canada)
KOGNITIV

Senior Systems Engineer (Hamilton, Canada)
PRETECKT

Python Software Engineer (Berlin, Germany)
WOOGA

Computer Science Teacher (Pasadena, CA)
ARTCENTER COLLEGE OF DESIGN

Senior Python Engineer (New York, NY)
15FIVE

More Python Jobs >>>


Articles & Tutorials


Understanding the Python Mock Object Library
In this tutorial, you’ll learn how to use the Python mock object library, unittest.mock, to create and use mock objects to improve your tests. Obstacles like complex logic and unpredictable dependencies make writing valuable tests difficult, but unittest.mock can help you overcome these obstacles.
REAL PYTHON

How I Translated a Mathematical Algorithm Into Code: TF-IDF to Python
Does your brain short-circuit when you see a mathematical algorithm? Don’t worry, you’re not alone. In this post you’ll see how the author worked her way through an algorithm, namely TF-IDF, and got it up and running in Python. Nice writeup!
SILKE HENDERICKX • Shared by Silke Henderickx

Take ActiveState’s ~7 Min Survey for a Chance to Win a Lego Star Wars TIE Fighter
We want to know your pain points building & programming open source languages. We’ve got 3 cool prizes too. Click to speed through this ~7min survey →
ACTIVESTATEsponsor

10 Python Image Manipulation Tools
Nice overview of Python libraries that provide an easy and intuitive way to transform images and make sense of the underlying data.
PARUL PANDEY

Tips and Tricks to Write LaTeX Papers in With Figures Generated in Python
Some nice tips and example code for writing scientific papers in LaTeX, with figures generated in Python.
VINCENT ETTER

Make Python Delete Your Unwanted Emails Periodically
How to use the Gmail API to create a Python script which will automatically search & delete the messages matching your query.
UDIT VASHISHT • Shared by Udit Vashisht

Python’s except Quirk
I don’t know how Alex comes up with these, but that’s a fun one :)
ALEX BECKER

How to Distribute a wxPython Application
You finished up a wonderful GUI application using wxPython. How do you share it with the world? Read Mike’s article to find out.
MIKE DRISCOLL

Django: An Unofficial Opinionated FAQ
KRISTIAN GLASS

Python Standard Library Gems: collections.Counter
IVAN SAGALAEV

How to Use Grouping Sets in Django
“How we cut a heavy admin dashboard response time in half with advanced SQL and some Django hackery.”
HAKI BENITA


Projects & Code


OWASP/CheatSheetSeries: High Value Information on Specific Application Security Topics
GITHUB.COM/OWASP

orm: An Async ORM
GITHUB.COM/ENCODE

namedzip: Extends zip() and itertools.zip_longest() to Generate Named Tuples
GITHUB.COM/ERBERLIN

transistor: A Python Web Scraping Framework for Structured Web Pages
GITHUB.COM/BOMQUOTE

instaviz: Instant Visualization of Python AST and Code Objects
ANTHONY SHAW

📆🐍 Upcoming Python Events


⋅ PyData Bristol Meetup March 21, 2019

⋅ Python Northwest March 21, 2019

⋅ PyLadies Dublin March 21, 2019

⋅ IndyPy Automate Conf 2019 March 22 to March 23, 2019

⋅ PyCon SK 2019 March 22 to March 25, 2019

⋅ Inland Empire Pyladies (CA, USA) March 25, 2019
Happy Pythoning!
Copyright © 2019 PyCoder’s Weekly, All rights reserved.