Recent Posts

Muru: WSGI and ASGI together

Adding websockets to an existing WSGI application with Muru, by handing requests to ASGI in the same worker, plus mounting ASGI beside WSGI and serving gRPC.

python muru wsgi asgi

Muru: HTTPS in development

How a Muru development run serves HTTPS with a certificate your browser trusts, so HTTP/2, Secure cookies and URL schemes can be tested without a proxy in front.

python muru wsgi

Muru: import once, fork many

How Muru imports a Python web application once and forks workers from it, checks the import is safe to fork, and how processes, threads and free-threading fit in.

python muru

Muru: how it fits together

The processes that make up Muru, the path a request takes through them, and why splitting things up this way is what makes releases and zero-downtime deploys possible.

python muru

Muru: looking inside the workers

Catching a slow request with a soft timeout, seeing where it is with debug stacks, profiling under load and attaching a debugger, all against a Muru development run.

python muru

A first look at Muru

Muru running for the first time, in development mode. Serving a WSGI application, what the terminal tells you, what happens when it fails, and why a reload is a release.

python muru wsgi

Stay Updated

Follow my journey and get notified about new posts and projects.

You can also follow this site via RSS feed.

If you're a Python developer, you might also want to check out the RSS feed available from planetpython.org for posts from various Python developers, including myself.

Sponsor Me

Support my open source work and help me continue creating tools that benefit the developer community.

Sponsor on GitHub