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.