Package: wnpp
Severity: wishlist
Owner: Colin Watson <cjwat...@debian.org>
X-Debbugs-Cc: debian-devel@lists.debian.org

* Package name    : python-blockbuster
  Version         : 1.5.25
  Upstream Contact: Christophe Bornet <bornet.ch...@gmail.com>
* URL             : https://github.com/cbornet/blockbuster
* License         : Apache-2.0
  Programming Lang: Python
  Description     : Detect and prevent blocking calls in async event loops

This Python package detects and prevents blocking calls within an 
asynchronous event loop.  It is particularly useful when executing tests 
to ensure that your asynchronous code does not inadvertently call 
blocking operations, which can lead to performance bottlenecks and 
unpredictable behavior.

In Python, the asynchronous event loop allows for concurrent execution 
of tasks without the need for multiple threads or processes.  This is 
achieved by running tasks cooperatively, where tasks yield control back 
to the event loop when they are waiting for I/O operations or other 
long-running tasks to complete.

However, blocking calls, such as file I/O operations or certain 
networking operations, can halt the entire event loop, preventing other 
tasks from running.  This can lead to increased latency and reduced 
performance, defeating the purpose of using asynchronous programming.

The difficulty with blocking calls is that they are not always obvious, 
especially when working with third-party libraries or legacy code.  This 
is where Blockbuster comes in: it helps you identify and eliminate 
blocking calls in your codebase during testing, ensuring that your 
asynchronous code runs smoothly and efficiently.  It does this by 
wrapping common blocking functions and raising an exception when they 
are called within an asynchronous context.


I intend to package this because it's a dependency of new versions of 
python-anyio.  I'll maintain it within the Debian Python Team.

-- 
Colin Watson (he/him)                              [cjwat...@debian.org]

Reply via email to