| | | | Sets and Dictionaries Can Have Quadratic-Time Performance A rough first approximation is that a dict has O(1) performance, but that only holds true for smaller containers. This article explores the performance limits of sets and dictionaries. DANIEL LEMIRE
Stop Writing Edge Case Tests. Use Hypothesis Instead Introduction to property-based testing in Python with Hypothesis. Move from ‘what input should I test?’ to ‘what invariant should always hold?’ PEYTON GREEN • Shared by Anonymous
Tired of Getting Blocked While Scraping the Web? ScrapingBee handles proxies, browsers, anti-bot systems, and retries so you can focus on your data. Get clean Markdown, JSON, or HTML from the web with up to a 99,9% success rate. ScrapingBee is SOC 2 Type II and GDPR compliant, and trusted by 4,000+ developers. Try ScrapingBee With 1,000 Free Credits SCRAPINGBEEsponsor
Python 3.15 Preview: Lazy Imports Learn how Python 3.15 lazy imports work, how deferring heavy modules cuts your app’s startup time, and which imports still have to stay eager. REAL PYTHON
Quiz: Python 3.15 Preview: Lazy Imports REAL PYTHON
Call for Volunteers: Django Fundraising Working Group DJANGO SOFTWARE FOUNDATION
PyPI Incident Report: File Hosting Errors PYPI.ORG
Articles & Tutorials Nifty Django Feature: Q() Objects Django’s ORM includes the filter() method for returning a subset of rows in the database. Anything you can do with filter() you can do with a Q() object, which encapsulates the filter’s arguments. Since it is an object you can dynamically create and manage filters in your code. TIM SCHILLING
Profile on Guido van Rossum The BBN Times has done a profile piece on Python’s creator Guido van Rossum. It covers his background, the creation of Python, and how he helped shepherd the language to its current state. FELIX YIM
Making a Python Interpreter in 1024 Bytes Austin challenged himself to make a tiny subset of Python in C. It isn’t quite Python, but bares a resemblance and with a little code golf he built something quite small. AUSTIN Z. HENLEY
Reading __dict__ Once Deoptimizes Attribute Access The usual explanation for why hoisting attributes out of a loop is faster has been wrong since CPython 3.11. Read about what more recent interpreters do. TIMOFEI IVANKOV • Shared by Timofei Ivankov
An Effective Python Development Environment Choose a Python development environment that helps you get coding. Find tutorials and courses on editors, uv, virtual environments, and useful tools. REAL PYTHON
Quiz: An Effective Python Environment REAL PYTHON
How Hard Is It to Find a Remote Python Data Job? Piotr analyzed 88,975 Hacker News job posts from 2012 to 2026. The board shrank, remote work peaked, pay became clearer, and senior roles took over. PIOTR PŁOŃSKI
Python Timer Functions Learn how to time your Python code with the time module, then build a reusable Timer class that works as a context manager. REAL PYTHON course
Quiz: Python Timer Functions REAL PYTHON
Prototyping a New CLI for Wagtail Wagtail 8 introduced a new API which has allowed devs to create a command line tool for interacting with a Wagtail CMS. THIBAUD COLAS
Teaching NumPy’s ufuncs New Tricks Iason recently did an internship working on NumPy internals. This post talks about what he accomplished. IASON KROMMYDAS
Projects & Code Brought to you by Real Pythonsponsor Online Python Training Created by Experts → django-ox: Database Based Django Task Backend GITHUB.COM/OXPULL
import-linter: Define and Enforce Rules for Imports GITHUB.COM/SEDDONYM
Plotext 6: Plot Data, Images and Video in the Terminal GITHUB.COM/PICCOLOMO • Shared by Savino Piccolomo
deployproof: AST Mutation Testing & Credential Scanning GITHUB.COM/SVSPRAVEEN
dbmask: Discover & Mask Sensitive Data in Databases GITHUB.COM/SEALANDSEACAT • Shared by Siyuan Feng
| | | | | |
| |