BSD Ports

devel/py-blockbuster 1.5.26 MidnightBSD

Utility to detect blocking calls in the async event loop

System
MidnightBSD
Repository
mports
Maintainer
[email protected]
Port added
Last update
Commit
8af06753b2
License
Apache-2.0
Categories
devel, python

Description

Blockbuster is a Python package designed to detect and prevent 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.

Notes:

  • Blockbuster currently only detects asyncio event loops.
  • Blockbuster is tested only with CPython. It may work with other Python implementations if it's possible to monkey-patch the functions with setattr.

In the other systems

The newest version among them is 1.5.29, as upstream numbers it.

SystemPortVersionVulnerabilitiesStatusMaintainerLast update
MidnightBSDdevel/py-blockbuster1.5.26 behind since 2026-08-31no data-[email protected]2026-07-05
FreeBSDdevel/py-blockbuster1.5.28 behind since 2026-10-11none known-[email protected]2026-09-20
OpenBSDdevel/py-blockbuster1.5.29 newestno data-The OpenBSD ports mailing-list <[email protected]>2026-10-10
NetBSDdevel/py-blockbuster1.5.27 behind since 2026-09-20none known-[email protected]2026-10-11
HardenedBSDdevel/py-blockbuster1.5.28 behind since 2026-10-11no data-[email protected]-
GhostBSDdevel/py-blockbuster1.5.28 behind since 2026-10-11no data-[email protected]-

Compare across BSDs

Version history 1

  1. 1.5.26 8af06753b2

Upstream's version as each commit to the port's Makefile set it, or as this site first saw it in the system's packages; the tree's own revisions are not versions here.

Install

Binary package:

mport install ${PYTHON_PKGNAMEPREFIX}blockbuster

From mports:

cd /usr/mports/devel/py-blockbuster && make install clean

To depend on this port in another port's Makefile:

RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}blockbuster>0:devel/py-blockbuster

Dependency graph

Ports that need it on the left, what it needs to run on the right; at most 8 of each. "Dependencies" below lists them all.

Dependencies

As this port's Makefile names them.

Build 1

Runtime 1

Build dependencies 1
Run dependencies 1

No port depends on this one.

Configuration

No options to configure.

USES
python
Service scripts
none

Files

distinfo 1
FileSizeSHA256
blockbuster-1.5.26.tar.gz36085cc3ce8c70fa852a97ee3411155f31e4ad2665cd1c6c7d2f8bb1851dab61dc629
Master sites 1
  • PYPI

Commit history 1

DateCommitCreditsLog message
8af06753b2 Lucas Holt databases/rubygem-flipper-active_record-rails70: update to 1.3.6
Match the flipper-gitlab provider series so fake-qa can satisfy the gemspec flipper dependency. AI-Assisted-by: OpenAI Codex <[email protected]> Signed-off-by: Lucas Holt <[email protected]>