Skip to content

Latest commit

 

History

History
77 lines (48 loc) · 3.54 KB

File metadata and controls

77 lines (48 loc) · 3.54 KB

FastBoot

An HTTP web server, for Python.


License Contributors Commit Activity Last Commit

Quality Assurance Sanity Suite Maintainability Test Coverage Vulnerabilities

Documentation: FastBoot Wiki


FastBoot is an HTTP Web Server implementation for Python. It is heavily influenced by two popular open source projects namely Gunicorn and Uvicorn.

This project aims to bring a complete solution which is broadly compatible with various web frameworks, while still being fairly simple for implementation and usage.

Feel free to join us on the GitHub discussions page.

Quickstart

FastBoot requires Python 3.x >= 3.11.

Install using pip from the PyPI:

$ pip install fastboot

Basic usage:

$ fastboot [OPTIONS] APP_MODULE

Where APP_MODULE is of the pattern $(MODULE_NAME):$(VARIABLE_NAME). The module name can be a full dotted path. The variable name refers to a WSGI or a ASGI callable that should be found in the specified module.

For Example:

$ cd example
$ fastboot demo:app

More on WSGI and ASGI?

Most well established Python Web frameworks started out as WSGI-based frameworks.

WSGI applications are a single, synchronous callable that takes a request and returns a response. This doesn’t allow for long-lived connections, like you get with long-poll HTTP or WebSocket connections, which WSGI doesn't support well.

Having an async concurrency model also allows for options such as lightweight background tasks, and can be less of a limiting factor for endpoints that have long periods being blocked on network I/O such as dealing with slow HTTP requests.

Contributing

See our complete contributor's guide for more details.

License

FastBoot is released under the MIT License. See the LICENSE file for more details.