This page lists the very best Python engineering articles of the internet, hand-picked to give hours and hours of pure reading joy. It is especially designed for onboarding new members on your Python team. Great for skilling up. Though not necessarily read one after the other, the order is nevertheless not random. For example, knowledge of CPython internals specially bytecodes are necessary to make sense of B. Cannon’s unravelling series. The articles are focused on core Python and it’s as advanced as articles can get.
Encoding
To Read | Author | Notes |
---|---|---|
Unicode Book | Victor Stinner | Also discusses Python handling |
Maths
To Read | Author | Notes |
---|---|---|
Math Symbols Explained With Python | Amit Chaudhary | |
Foundations Of Applied Mathematics | Profs And Students At Different Universities | A series of four textbooks developed for Brigham Young University’s Applied and Computational Mathematics degree program for beginning graduate and advanced undergraduate students. Uses Python for concepts |
Compiler Theory
To Read | Author | Notes |
---|---|---|
Building Finite State Machines With Python Coroutines | Arpit Bhayani | |
Writing A Python To C Compiler In Python | Phil Eaton | |
Writing A Jinja-Inspired Template Library In Python | Phil Eaton | |
Writing A Simple Json Parser | Phil Eaton |
CPython Internals
Bytecode
To Read | Author | Notes |
---|---|---|
A Python Interpreter Written In Python | Allison Kaptur | Introduction to Python bytecode |
An Introduction To Python Bytecode | James Bennett | |
Disassembling Python Bytecode | Peter Goldsborough | |
Fedora: Bytecode & Packaging |
Insider Bits
Sane Bits
To Read | Author | Notes |
---|---|---|
An Approach To Lazy Importing In Python 3.7 | Brett Cannon | |
Customizing Class Creation In Python | Brett Cannon | |
Why Pathlib.Path Doesn’T Inherit From Str In Python | Brett Cannon | |
Why Python3? | Brett Cannon | |
Why Print Became A Function In Python 3 |
Brett Cannon | |
If I Were Designing Python’S Import From Scratch | Brett Cannon | |
Try To Not Use The Python C Api Directly | Brett Cannon | |
Lambdas As A Solution For Puzzles | ||
Python Generators In Depth | Abdur-Rahmaan Janhangeer |
Performance
To Read | Author | Notes |
---|---|---|
Python Performance: It’S Not Just The Interpreter | Kevin Modzelewski | Worked on the Pyston project |
Accelerate Numpy Using Tensorflow | Kevin Modzelewski | |
Clinging To Memory: How Python Function Calls Can Increase Memory Use | Itamar Turner-Trauring | |
Where’S Your Bottleneck? Cpu Time Vs Wallclock Time | Itamar Turner-Trauring | |
Beyond Cprofile: Choosing The Right Tool For Performance Optimization | Itamar Turner-Trauring | |
Not Just Cpu: Writing Custom Profilers For Python | Itamar Turner-Trauring | |
Ci For Performance: Reliable Benchmarking In Noisy Environments | Itamar Turner-Trauring | |
Why Your Multiprocessing Pool Is Stuck (It’S Full Of Sharks!) | Itamar Turner-Trauring | |
The Parallelism Blues: When Faster Code Is Slower | Itamar Turner-Trauring | |
The Hidden Performance Overhead Of Python C Extensions | Itamar Turner-Trauring | |
Analysis Of A Python Performance Issue | Victor Stinner | Using the CPython benchmark suite |
Tests
To Read | Author | Notes |
---|---|---|
Fast Tests For Slow Services: Why You Should Use Verified Fakes | Itamar Turner-Trauring | |
How To Use Your Project & Travis To Help Test Python Itself | Brett Cannon | Also how to test your project against future Python releases |
Why You Should Document Your Tests | Hynek Schlawack |
Debugging
To Read | Author | Notes |
---|---|---|
When C Extensions Crash: Easier Debugging For Your Python Application | Itamar Turner-Trauring |
Zen of Python
To Read | Author | Notes |
---|---|---|
Zen Of Python, Again | Łukasz Langa | |
The Zen Of Python Is A Joke And Here Is Why | Abdur-Rahmaan Janhangeer | |
The Zen Of Python Is A Joke And Here Is Why | Abdur-Rahmaan Janhangeer |
Patterns
To Read | Author | Notes |
---|---|---|
Typeclasses In Python | Nikita Sobolev | |
Typed Functional Dependency Injection In Python | Nikita Sobolev | |
When Python Exceptions Are Considered As Anti-Pattern | Nikita Sobolev | |
What’S A Pragmatic Approach To Subclassing In Python? | Hynek Schlawack |
Typing
To Read | Author | Notes |
---|---|---|
Simple Dependent Types In Python | Nikita Sobolev |
Packaging
To Read | Author | Notes |
---|---|---|
What The Heck Is Pyproject.Toml? | Brett Cannon | |
Deconstructing Xkcd.Com/1987/ | Brett Cannon | |
The Challenges In Designing A Library For Pep 425 (Aka Wheel Tags)/ | Brett Cannon |
Concurrency And Parallelism
To Read | Author | Notes |
---|---|---|
Ways Of Waiting In Asyncio | Hynek Schlawack | |
Designing An Async Api, From Sans-I/O On Up | Brett Cannon | |
The Returns Package For Async | Nikita Sobolev | |
Dead Simple Connection Pooling With Twisted | Hynek Schlawack |
Task Queues
To Read | Author | Notes |
---|---|---|
Stepping Stone Article For Redis And Celery | Lj Miranda |
Supply Chain
To Read | Author | Notes |
---|---|---|
How Do You Verify That Pypi Can Be Trusted? | Brett Cannon |
DevOps
To Read | Author | Notes |
---|---|---|
The History Behind The Decision To Move Python To Github | Brett Cannon | |
Python Deployment Anti-Patterns | Hynek Schlawack |
The Road To Being A Core Dev
To Read | Author | Notes |
---|---|---|
My Road To The Python Commit Bit | Hynek Schlawack |
How Mega Corps Use Python
To Read | Author | Notes |
---|---|---|
Python At Netflix | Pythonistas At Netflix | |
Static Analysis At Scale: An Instagram Story | Benjamin Woodruff |
History And Decisions
135 articles on page