Skip to content

Installation

BlackBull requires Python 3.11+.

From PyPI

pip install blackbull

That installs the core framework — enough to serve HTTP/1.1, HTTP/2 (via ALPN), and WebSocket.

Optional extras

Extra Adds When to install
compression brotli, zstandard If you want the Compression middleware to negotiate br/zstd in addition to the built-in gzip.
reload watchfiles If you want --reload to restart workers on source-file changes (development only).
speed uvloop If you want to swap CPython's default asyncio policy for uvloop. Linux/macOS only.
pip install 'blackbull[compression]'
pip install 'blackbull[reload]'
pip install 'blackbull[speed]'

Combine in one command:

pip install 'blackbull[compression,reload,speed]'

From source

git clone https://github.com/TOKUJI/BlackBull.git
cd BlackBull
pip install -e .

Editable installs (pip install -e .) are the right form when you want to read, modify, or contribute to the framework itself. The test, documentation, and profiling toolchains are available as extras for source checkouts:

pip install -e '.[testing]'    # pytest, pytest-asyncio, hypothesis, httpx[http2], websockets
pip install -e '.[docs]'       # mkdocs-material, mkdocstrings
pip install -e '.[profiling]'  # py-spy

Verify

blackbull --version
blackbull 0.28.0

The version printed comes from importlib.metadata.version('blackbull'), so it always agrees with the installed wheel.

Next

  • Hello World — minimal app using the full ASGI (scope, receive, send) triplet.
  • Your First App — using the simplified handler form so handlers omit the boilerplate they don't need.