Skip to content

Version 1

This documentation refers to the version 1.x of the web framework. The current version of the main branch is documented here.

About BlackSheep

BlackSheep is a web framework for Python asyncio designed to facilitate the implementation of stateless APIs and general purpose web applications. It is inspired by Flask and ASP.NET Core; it recreates several features from both these web frameworks. The concept of automatic binding of request parameters by request handler's signature and dependency injection of required services (as it happens in ASP.NET Core) is what makes BlackSheep unique today, in the context of Python web frameworks.

The project, as several other web frameworks for Python, is the fruit of the creative ferment around Yury Selivanov’s work, and the article uvloop: Blazing fast Python networking from 2016.

The project originally included an implementation of HTTP Server, but this was removed, and the web framework was abstracted from an exact HTTP Server and made compatible with ASGI HTTP Servers. This was a good move because the effort on the project can stay focused on higher-level features, while benefitting from the existing ecosystem and help from the Python community in implementing HTTP Servers (e.g. support for HTTP2).

The project's home

The project is hosted in GitHub, handled following DevOps good practices, features 100% code coverage, and is published to pypi.org.

GitHub Stars Build pypi versions codecov

Why the name BlackSheep

The name BlackSheep was chosen for two reasons:

Last modified on: 2022-01-29 11:24:25