How Celery fixed Python’s GIL problem

I think the main problem we have at the core of Python is that it’s heavily inspired by C. But I think in this case it’s Python’s weakness.

.. There are hundreds of companies running Python code as glue logic – and that’s single-threaded synchronous code (check how popular Django is) yet somehow those companies handle tens of thousands of users.

I think that if we want to support full concurrency in Python, this is the way to go. Introduce primitives for fully lockless paradigm using queues and enable programmers to define queues.

Most of it is already implemented in Celery. To have that in Python we’d need to extend the interpreter to manage workers and queues as they’re needed, add some syntax sugar to enable nested tasks definition and dispatch and you’re mostly good to go.

pytest introduction

I think of pytest as the run-anything, no boilerplate, no required api, use-this-unless-you-have-a-reason-not-to test framework.
This is really where testing gets fun.
As with previous intro’s on this site, I’ll run through an overview, then a simple example, then throw pytest at my markdown.py project. I’ll also cover fixtures, test discovery, and running unittests with pytest.