Source: python-blockbuster
Section: python
Maintainer: Debian Python Team <team+python@tracker.debian.org>
Uploaders:
 Colin Watson <cjwatson@debian.org>,
Build-Depends:
 debhelper-compat (= 13),
 dh-sequence-python3,
 pybuild-plugin-pyproject,
 python3-aiofile <!nocheck>,
 python3-all,
 python3-forbiddenfruit <!nocheck>,
 python3-hatchling,
 python3-pytest <!nocheck>,
 python3-pytest-asyncio <!nocheck>,
 python3-requests <!nocheck>,
Standards-Version: 4.7.4
Homepage: https://github.com/cbornet/blockbuster
Vcs-Browser: https://salsa.debian.org/python-team/packages/python-blockbuster
Vcs-Git: https://salsa.debian.org/python-team/packages/python-blockbuster.git
Testsuite: autopkgtest-pkg-pybuild
X-Style: black

Package: python3-blockbuster
Architecture: all
Multi-Arch: foreign
Depends:
 ${misc:Depends},
 ${python3:Depends},
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.
