Free-threading vs the GIL in mod_wsgi 6.0.0
Free-threading in mod_wsgi 6.0.0 lets a single process spread Python work across multiple cores. A metrics comparison against the GIL-enabled benchmarks from before.
Explore all 174 posts about Python, WSGI, web development, Kubernetes, Docker and more.
Free-threading in mod_wsgi 6.0.0 lets a single process spread Python work across multiple cores. A metrics comparison against the GIL-enabled benchmarks from before.
mod_wsgi 6.0.0 adds WSGISwitchInterval, a tuning lever for Python's GIL switch interval. With proper telemetry it can deliver large gains on CPU-bound workloads.
mod_wsgi 6.0.0 adds WSGIFreeThreading, an opt-in directive for PEP 703 free-threaded Python. GIL-enabled mode remains the default even on free-threaded builds.
mod_wsgi 6.0.0 adds WSGIPerInterpreterGIL, an opt-in directive for running sub-interpreters with their own GIL (PEP 684) for parallel Python in one process.
How wrapt 2.2.0 extends the synchronized decorator and context manager to async functions, and why reentrancy is not supported on the async side.
How wrapt 2.2.0 lets a decorator change what runtime introspection sees of a wrapped function's signature or calling convention.
Deferred monkey patching has been in wrapt for years. Python 3.15's lazy imports make it the right default for instrumentation libraries.
How wrapt 2.2.0's lru_cache helper builds on top of functools.lru_cache to fix the issues with using it on instance methods.
A walkthrough of the new bind_state_to_wrapper helper in wrapt 2.2.0 and how it makes stateful decorators in Python easier to write.
Free interactive workshops on Python decorators hosted on the Educates training platform.
Having the Claude browser extension review an Educates workshop as a real user would.
Educates is open source, not a SaaS. Deploy it yourself, wherever you want.
Using an AI agent skill to generate interactive Educates workshops.
From copy and paste to fully guided workshop experiences with clickable actions.
The backlash against AI slop is justified, but risks dismissing purposeful content along with the noise.
The current status of my Python wrapt package and what to expect next.