The Quest for Faster Python, Performance as the Nemesis of Secure Code, How to Use Stacks and Queues, and More

#472 – MAY 11, 2021 VIEW IN BROWSER
The PyCoder’s Weekly Logo
The Quest for Faster Python
There seems to be a lot going on in the Python JIT compiler space. Facebook recently open-sourced Instagram’s Cinder runtime, Pyston 2 returned as an open-source project, and the Pyjion project from Microsoft continues to grow. But Python creator Guido van Rossum has suggested that Python developers in need of more performance should consider writing parts of their code as C extensions, or use the PyPy runtime. This article explores Pythons turbulent history with performance optimization.
TIM ANDERSON

How Performance Became the Nemesis of the Secure Python Code
While JIT compilers compete for Python performance improvements and some teams rush into asyncio adoption, one has to wonder what the outcome of additional complexity will be. This opinion piece argues that the cost of hurried and potentially unnecessary performance optimization is unstable and insecure code. It’s a good reminder that decisions about project dependencies should be thoroughly researched and made deliberately.
DIMA KOTIK

Find Out Why Scout’s a Developer’s Best Friend with a Free 14-Day Trial, no Credit Card Needed!
Scout uses tracing logic to tie bottlenecks to source code so developers can get back to building great products instead of wasting time fixing performance issues. Real-time alerting gives you the insights you need in 4 min or less! Deploy today and we’ll donate $5 to the OSS project of your choice →
SCOUT APMsponsor

Stacks and Queues: Selecting the Ideal Data Structure
Learn about three of Python’s data structures: stacks, queue and priority queues. You’ll look at multiple types and classes for all of these and learn which implementations are best for your specific use cases.
REAL PYTHON course

Texas Instruments To Release New TI-84 Calculator With Python
TI.COM

EuroPython 2021 Call for Proposals Extended Until May 16
EUROPYTHON.EU

Pylance Is Now the Default Python Language Server for VS Code
MICROSOFT.COM

CPython Internals Book: Paperback Copies Now Available
“CPython Internals: Your Guide to the Python 3 Interpreter” is now available as a paperback book. Unlock the inner workings of the Python language, compile the Python interpreter from source code, and participate in the development of CPython. Print copies available at a discounted launch price until the end of the week →
REAL PYTHONsponsor


Discussions


Do You Use the Python Console and the Python Math Libraries as a Calculator?
With Python installed, you’ve got a quick and easy-to-use calculator accessible from any terminal window!
REDDIT

Python Projects on Github That Are Examples of Best Practices and Good Architecture
This Reddit thread is full of GitHub repos that might make for some good code reading.
REDDIT


Python Jobs


Sr Full Stack Engineer (USA)
YONDER

Software Engineer (New York, NY, USA)
TRUVERIS

PL/SQL Developer with Python (Remote)
DOTCOM TEAM, LLC

Senior Software Engineer (Allegany, OR, USA)
ADDISON GROUP

More Python Jobs >>>


Articles & Tutorials


Natural Language Processing With Python’s NLTK Package
In this beginner-friendly tutorial, you’ll take your first steps with Natural Language Processing (NLP) and Python’s Natural Language Toolkit (NLTK). You’ll learn how to process unstructured data in order to be able to analyze it and draw conclusions from it.
REAL PYTHON

Fluent in Django: Get to Know Django Models Better
Django models are the single, definitive source of information about data in a Django application. That means that all the logic about your data should be located in the model—not in a view as too often can be seen. In this article, you’ll get to know Django models better including things like UUID fields, enumeration types, Meta classes, and custom .save() methods.
GIRLTHATLOVESTOCODE • Shared by GirlThatLovesToCode

Crunchy Bridge: Fully Managed Cloud Postgres
Rival IQ needed to evaluate new providers for their 3+ TB Postgres database and chose Crunchy Bridge on AWS for integrating with their Heroku app. The result: performance improvements and better developer workflow with a seamless migration experience. Read the customer success story to learn more →
CRUNCHY DATAsponsor

Asynchronous Tasks With FastAPI and Celery
Many web apps require long-running tasks, such as resizing image thumbnails or generating PDFs. Background tasks allow a web app to continue to process incoming requests while a task is executing. This tutorial walks you through setting up Celery and Redis to handle background tasks in a FastAPI application. You’ll learn how to containerize everything with Docker, save Celery logs to files, and monitor background tasks with Flower.
MICHALE HERMAN • Shared by Michael Herman

Recursion in Python: An Introduction
In this tutorial, you’ll learn about recursion in Python. You’ll see what recursion is, how it works in Python, and under what circumstances you should use it. You’ll finish by exploring several examples of problems that can be solved both recursively and non-recursively.
REAL PYTHON

Make Documentation Continuous for your Engineering Team and DevOps
Swimm gives developers the high-quality, up-to-date documentation they deserve. Creating code-coupled documentation and placing checks within the CI/CD pipeline, provides version controlled documentation. Start Swimming today.
SWIMMsponsor

Bite My Shiny, Type-Annotated Library!
If you’re a package maintainer and want to make type annotations available to all users of your library, how can you go about doing this? Just add the type annotations to your library, right? Well, no! Learn how type annotations are handled in package distributions in this short but informative article with links to a number of helpful resources.
JUGMAC00.GITHUB.IO • Shared by Jürgen Gmach

I Forgot How to Spellcheck
Throughout 2020, Victor Shepelev worked on porting the hunspell spellchecker to Python in a project called spylls. In this post he shares his thoughts on spell checking, noting that it is much more difficult than just comparing strings to an established dictionary. While the article is not technical, it’s a great read exploring some of the assumptions made by hunspell and how they fail in the real world.
VICTOR SHEPELEV


Projects & Code


Brought to you by Real Python for Teamssponsor
Online Python training created by a community of experts. Give your team the real-world Python skills they need to succeed →

pudb: Full-Screen Console Debugger for Python
GITHUB.COM/INDUCER

cinder: Instagram’s Performance Oriented Fork of CPython
GITHUB.COM/FACEBOOKINCUBATOR

zxpy: Shell Scripts Made Simple
GITHUB.COM/TUSHARSADHWANI

typeshed: Collection of Library Stubs for Python, With Static Types
GITHUB.COM/PYTHON

flower: Real-Time Monitor and Web Admin for Celery Distributed Task Queue
GITHUB.COM/MHER

reviews: A Terminal UI Dashboard for Monitoring Requests for Code Review
GITHUB.COM/APOCLYPS • Shared by kyle harrison

📆🐍 Upcoming Python Events


⋅ Real Python Office Hours (Virtual) May 12, 2021

⋅ PyCon 2021 (Virtual) May 12 – 18, 2021

⋅ DjangoCon Europe 2021 (Virtual) June 2 – 6, 2021

⋅ EuroPython 2021 (Virtual) July 26 – August 1, 2021

⋅ PyCon India 2021 September 17 – 20, 2021
Happy Pythoning!
Copyright © 2021 PyCoder’s Weekly, All rights reserved.
You are receiving this email because you opted in on our website at pycoders.com
Our mailing address: DevCademy Media Inc. · #720-999 West Broadway, Vancouver BC V5Z 1K5, Canada

Unsubscribe | Update Email Address

Older messages

Python C Extensions Can Be Slow, How To Make Jupyter Notebooks Interactive, Building a Platform Game in Python, and More

Tuesday, May 4, 2021

The Hidden Performance Overhead of Python C Extensions #471 – MAY 4, 2021 VIEW IN BROWSER The PyCoder's Weekly Logo The Hidden Performance Overhead of Python C Extensions It's no secret that

The Social Contract of Open Source, Python's map() Function, Incrementally Teaching Python with Hedy, and More

Tuesday, April 27, 2021

The Social Contract of Open Source #470 – APRIL 27, 2021 VIEW IN BROWSER The PyCoder's Weekly Logo The Social Contract of Open Source What is open source software, and what is the relationship

Level Up Your Python by Reading Code, Need-to-Know Django Template Tags, Python Music Theory, and More

Tuesday, April 20, 2021

Learn by Reading Code: Python Standard Library Design Decisions Explained #469 – APRIL 20, 2021 VIEW IN BROWSER The PyCoder's Weekly Logo Learn by Reading Code: Python Standard Library Design

Python Types in the Wild, Making Packages in 2021, How to Contribute to Python, and More

Tuesday, April 13, 2021

Python 3 Types in the Wild: A Tale of Two Type Systems #468 – APRIL 13, 2021 VIEW IN BROWSER The PyCoder's Weekly Logo Python 3 Types in the Wild: A Tale of Two Type Systems This academic paper

Buying a House With Python, OOP in Python vs. Java, What is Werkzeug, and More

Tuesday, April 6, 2021

How I Beat the Berlin Rental Market With a Python Script #467 – APRIL 6, 2021 VIEW IN BROWSER The PyCoder's Weekly Logo How I Beat the Berlin Rental Market With a Python Script Learn how one Python

You Might Also Like

Infographic | Visualizing the $29 Trillion U.S. Economy by State 💵

Thursday, February 27, 2025

Which states contribute the most to the US economy? This graphic breaks down the country's GDP by state, including overseas activity. View Online | Subscribe | Download Our App Get world-class

The Art of the Old Deal

Thursday, February 27, 2025

Tim Cook calls up some old plays to deflect Trump's tariffs... The Art of the Old Deal Tim Cook calls up some old plays to deflect Trump's tariffs... By MG Siegler • 24 Feb 2025 View in browser

How to get control of your time & Obsidian is now free for work

Thursday, February 27, 2025

HP acquires parts of disastrously failed Humane, Affinity ships free extensive 2.6 update, the future is too easy, and more in this week's issue of Creativerly. Creativerly How to get control of

Laravel Cloud, Laravel 12, and New Starter Kits!

Thursday, February 27, 2025

Your Laravel week in review ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

Daily Coding Problem: Problem #1700 [Hard]

Thursday, February 27, 2025

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Google. A quack is a data structure combining properties of both stacks and queues. It

Hooked On Velcro 👟

Thursday, February 27, 2025

How Velcro gained its unfashionable reputation. Here's a version for your browser. Hunting for the end of the long tail • February 24, 2025 Hey all, Ernie here with a lightly refreshed piece

📧 Building a Better MediatR Publisher With Channels (and why you shouldn't)

Thursday, February 27, 2025

​ Building a Better MediatR Publisher With Channels (and why you shouldn't) Read on: m​y website / Read time: 6 minutes The .NET Weekly is brought to you by: Using MassTransit with RabbitMQ or

Get your news from 1440 and receive only the facts.

Thursday, February 27, 2025

iPhoneLife Logo Sponsored email sent by iPhone Life 1440: Your Source for Unbiased News Join over 3.5 million Americans who start their day with 1440 – your daily digest for unbiased, fact-centric news

Two Actively Exploited Security Flaws in Adobe and Oracle Products Flagged by CISA

Thursday, February 27, 2025

THN Daily Updates Newsletter cover ⚡ LIVE WEBINAR ➟ Building Resilient Identity: Reducing Security Debt in 2025 Attacks Evolve, So Can Your Defenses--Learn How to Mitigate Risk and Optimize Identity

💪 These 10 Android Phones Were a Work of Art — 5 Mini PCs You Can Buy With Linux Preinstalled

Thursday, February 27, 2025

Also: I Wish My Parents Would Ditch Windows, and More! How-To Geek Logo February 25, 2025 Did You Know Sapphires and rubies are both forms of Corundum, a crystalline form of Aluminum Oxide. The