python
January
- 04
- Profiling and Analyzing Performance of Python Programs
- 08
- Modeling uncertainty with PyTorch
- 12
- Data-Oriented Programming is dope
- 13
- Problems with testing Python pre-releases and pip caching
- 14
- Python Type Hints - How to Type a Descriptor
- 15
- Make Simple Mocks With
SimpleNamespace
- 15
- 3 Things You Might Not Know About Numbers in Python
- 17
- Python bytecode explained
- 17
- High ROI Python Patterns (Part 1)
- 19
- How vectorization speeds up your Python code
- 20
- Python Design Patterns
- 23
- Strict Python function parameters
- 23
- Guiding Design Principles
- 26
- The fastest way to read a CSV in Pandas
- 26
- Static Typing Python Decorators
- 29
- Procrastinate: PostgreSQL-based Task Queue for Python
- 30
- Black - The Uncompromising Code Formatter
- 31
- 10 Unknown Security Pitfalls for Python
- 31
- Slicing in Python
February
- 05
- Comprehensive Guide to Grouping and Aggregating with Pandas
- 05
- What Is a Python Package?
- 09
- Building Regression Models With PyCaret In 10 Minute
- 13
- Faster Python calculations with Numba
- 13
- How to write better Django code
- 14
- Upcoming Python Features Brought to You by PEPs
- 15
- How to use nftables from python
- 16
- Towards Cleaner Code — A Practical Example
- 18
- Python Project Setup – Virtual Environments and Package Management
- 22
- Data Races in Python, Despite the Global Interpreter Lock
- 24
- Understanding Decorators in Python
March
- 10
- Refactoring a Python Codebase with LibCST
- 11
- A Gentle Introduction to Testing with PyTest
- 13
- Extreme IO performance with parallel Apache Parquet in Python
- 15
- Processing large JSON files in Python without running out of memory
- 18
- The great Python dataframe showdown
- 23
- Please stop writing shell scripts
- 24
- Git crecord
- 25
- Bashing the Bash — Replacing Shell Scripts with Python
- 28
- Pickle Serialization in Data Science: A Ticking Time Bomb
- 30
- What to Expect from Python 3.11?
- 31
- Discovering basic blocks
April
- 05
- Python f-strings Are More Powerful Than You Might Think
- 07
- YAML: The Missing Battery in Python
- 09
- AsyncSSH: Asynchronous SSH for Python
- 10
- Singleton is a bad idea
- 10
- A basic introduction to NumPy's einsum
- 16
- Executing advanced ALTER TABLE operations in SQLite
- 21
- Memray
- 28
- When Python can’t thread: a deep-dive into the GIL’s impact
- 29
- You Should Compile Your Python And Here’s Why
- 30
- We fixed f-string typos in 69 Python repos
May
- 02
- The importance of native type methods in Python
- 05
- PEP 690 – Lazy Imports
- 08
- Scapy: low level packet hacking toolkit for Python
- 08
- Multiple assignment and tuple unpacking
- 11
- PyScript: Python in the Browser
- 13
- Boring Python: dependency management
- 13
- Build a Todo App With PyScript
- 19
- Python Standard Library changes in recent years
- 23
- Compact objects in Python
- 26
- All you need to know about Asterisks in Python
- 27
- Making pip installs a little less slow
- 28
- The unreasonable effectiveness of f-strings and re.VERBOSE
- 29
- Debugging a mysterious Python crash
- 30
- A Couple Lines To Improve Print-Based Debugging In Loops
- 30
- Pointers, strings, and (im)mutability
- 31
- Everything you need to know about involuntary borgs in Python
June
- 06
- Dates And Times And Types
- 06
- Adding a dunder to an object
- 08
- Beautiful Soup
- 09
- Pandas vectorization: faster code, slower code, bloated memory
- 10
- Raising exceptions or returning error objects in Python
- 13
- How to Mock PostgreSQL with Pytest and pytest-postgresql
- 14
- Python Garbage Collection: What It Is and How It Works
- 14
- Reading Poorly Structured Excel Files with Pandas
- 15
- Illustrating the duality of closures and objects
- 19
- Using Python schema to validate scraped objects
- 21
- Why new Macs break your Docker build, and how to fix it
- 22
- Six things I do every time I start a Django project
- 25
- The Composition Over Inheritance Principle
- 26
- Don't let dicts spoil your code
- 27
- REPL Python programming and debugging with IPython
- 30
- Going from Python to Guile Scheme
- 30
- My Python testing style guide
July
- 01
- Faster routing for Flask & Quart
- 01
- Logging in Python like a PRO 🐍🌴
- 03
- StrictYAML
- 03
- A note on multiple inheritance in Python
- 05
- 🐍 5 things you should know about @dataclass
- 08
- Painlessly developing Python on NixOS with pipenv
- 12
- Python struct format explainer
- 13
- Faster, more memory-efficient Python JSON parsing with msgspec
- 14
- Making Heatmaps
- 18
- Announcing Pyston-lite: our Python JIT as an extension module
- 19
- 4 Pandas Anti-Patterns to Avoid and How to Fix Them
- 21
- Pretty Maps in Python
- 22
- Typing your way into safety
- 23
- Finding performance bottlenecks in Celery tasks
- 26
- The limits of Python vectorization as a performance technique
- 28
- How to create a Python package in 2022
- 29
- Timsort — the fastest sorting algorithm you’ve never heard of
August
- 05
- 7 things I've learned building a modern TUI framework
- 07
- The Definitive Guide To Sitemaps With Python
- 08
- unblob - extract everything!
- 10
- How to Choose the Right Python Concurrency API
- 10
- Creating a JSON logger for Flask
- 11
- Don't Pickle Your Data
- 13
- Connect Pandas to a remote PostgreSQL database via SSH
- 14
- Loading Dangerously: PyYAML and Safety by Design
- 17
- How to Patch Requests to Have a Default Timeout
- 18
- Invasive procedures: Python affordances for performance measurement
- 20
- Uncommon Uses of Python in Commonly Used Libraries
- 21
- The starter toolkit for a python web scraping
- 22
- PuDB: a console-based visual debugger for Python
- 23
- Using Mypy in production at Spring
- 26
- Please do not use Python for tooling
- 26
- Python Match Case is more powerful than you think 🐍🕹
- 27
- Interfaces and Metaclasses in Python
September
- 01
- You Should Be Using Python's Walrus Operator - Here's Why
- 07
- How to send raw network packets in Python with tun/tap
- 08
- TIL: You Can Build Portable Binaries of Python Applications
- 09
- Functional Python, Part I: Typopædia Pythonica
- 10
- Vectorizing impossible operations
- 15
- TIL—Python has a built-in persistent key-value store
- 17
- Metaprogramming in Python
- 18
- Shorter Hacks 16: IPython Autoreload
- 20
- redframes
- 21
- Reproducible Jupyter Notebook with Nix
- 24
- What is Python's "self" Argument, Anyway?
- 27
- Find slow data processing tasks (before your customers do)
- 28
- Making python fast for free - adventures with mypyc
- 28
- Production Tips for Django Apps
October
- 08
- My class is bigger than your class
- 09
- Python Preloaded
- 09
- How to Gradually Add Types for Third Party Packages
- 12
- Python dependency management difficulty is an unhelpful meme
- 12
- Type annotation via automated refactoring
- 17
- Musings on Python Type Hints
- 21
- Create a Progress Bar in Python CLI
- 21
- Python CLI Tricks That Don't Require Any Code Whatsoever
- 24
- Buffers on the edge: Python and Rust
- 25
- Python 3.11.0 is now available
- 26
- All The Ways To Introspect Python Objects at Runtime
- 28
- Early speed optimizations aren’t premature
November
- 01
- Python 3.11 micro-benchmark
- 03
- Good old-fashioned code optimization never goes out of style
- 06
- Getting Started with Google APIs in Python
- 07
- Haskell, Python, and Readability
- 07
- Better Python code grepping with pyastgrep
- 07
- Python List Comprehensions Are More Powerful Than You Might Think
- 08
- Python 3.12 Goals
- 11
- Trie in Python
- 12
- Adding types to a large Python codebase
- 12
- How to Filter Django QuerySets – 15 Examples For Beginners
- 14
- Python, Catastrophic Regular Expressions and the GIL
- 15
- ABI compatibility in Python: How hard could it be?
- 16
- Who controls parallelism? A disagreement that leads to slower code
- 16
- Building TUIs with textual: first impressions
- 18
- A from-scratch tour of Bitcoin in Python
- 22
- Python Type Hints: case study on parsy
- 23
- The case for dynamic, functional programming
- 26
- Test factory functions in Django
- 27
- Data-oriented Programming in Python
December
- 03
- The Essential Django Deployment Guide
- 08
- It’s time to stop using Python 3.7
- 09
- Python Linter Comparison 2022
- 15
- Maintain A Clean Architecture With Dependency Rules
- 16
- Why I moved away from Poetry for Python
- 20
- Boring Python: code quality
- 22
- For Want of a JOIN
- 23
- PEP 636 – Structural Pattern Matching: Tutorial
- 25
- Project: the Automatic #plotloop Machine
- 27
- Numba makes Python code fast
- 27
- Extending Python with Rust
- 30
- Deploying Django apps with Github Actions and Django Up
- 30
- Why I'm still using Python