I've just released version 0.6 of Toro. Toro provides semaphores, queues, and so on, for advanced control flows with Tornado coroutines. Get it with "pip install --upgrade toro". Toro's documentation, with plenty of examples, is on ReadTheDocs.
There is one bugfix in this release. A floating point
maxsize had been treated as infinite. So if you did this:
q = toro.Queue(maxsize=1.3)
...then the queue would never be full. In the newest version of Toro, a
maxsize of 1.3 now acts like a
maxsize of 2.
Shouldn't Toro just require that
maxsize be an integer? Well, the Python standard Queue allows a floating-point number. So when Vajrasky Kok noticed that asyncio's Queue treats a floating-point
maxsize as infinity, he proposed a fix that handles floats the same as the standard Queue does. (That asyncio bug was my fault, too.)
Once Guido van Rossum accepted that fix, I updated Toro to comply with the other two Queues.