All Posts

Back to Home

Explore all 174 posts about Python, WSGI, web development, Kubernetes, Docker and more.

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.

python mod_wsgi wsgi apache

WSGISwitchInterval in mod_wsgi 6.0.0

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.

python mod_wsgi wsgi apache

Free-threading in mod_wsgi 6.0.0

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.

python mod_wsgi wsgi apache

Per-interpreter GIL in mod_wsgi 6.0.0

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.

python mod_wsgi wsgi apache

Async support for wrapt.synchronized

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.

python wrapt decorators asyncio

Lazy monkey patching with wrapt

Deferred monkey patching has been in wrapt for years. Python 3.15's lazy imports make it the right default for instrumentation libraries.

python wrapt decorators

Per-instance lru_cache using wrapt

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.

python wrapt decorators

Stateful decorators in wrapt

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.

python wrapt decorators

When AI content isn't slop

The backlash against AI slop is justified, but risks dismissing purposeful content along with the noise.

ai educates