Skip to main content

Asynchronous web framework, based on Starlette and inspired by Django

Project description

starlette_web

starlette_web is a native-asynchronous web-framework, based on Starlette and inspired by Django and its ecosystem. It aims to provide most of the relevant features of Django in async-all-the-way setting.

Its priorities, from most important to least important, are as follows:

  • Providing a strict ecosystem - all parts of framework are aimed to work well together and follow same ideas. In a way, this goes against idea of mini-frameworks like Starlette, which favor a lot of contrib plug-ins, written by different authors. Developer must follow the conventions of the framework in most cases.
  • Robustness - starlette_web is written with anyio and aims to follow principles of structured concurrency.
  • Feature completeness - while the aim is not to cover all the Django ecosystem (especially, because a lot of it is legacy), many useful libraries are included.
  • Cross-platform support - most of the features are supported for both POSIX and Windows systems. However, a number of contrib modules aim specifically at certain OS, and obviously it's mostly Linux.
  • Speed - while framework is being used in multiple projects without speed issues, speed is not properly benchmarked. Probably, the framework is slower than all other async Python frameworks, though not by a large amount.

SQLAlchemy is used as framework's database toolkit and ORM.
Marshmallow is used for (de)serialization in API.
OpenAPI documentation (redoc) can be autogenerated with apispec contrib module.

The framework is not well suited for novice users. It assumes prior knowledge of Django and async development in Python.

The framework is in active development stage, so expect some breaking changes.

Installation, usage and supported features

Installation and deploy instructions are in docs/howto section.

For supported features, see docs/README.md section.

See tests for more examples of usage.

Code borrowing

starlette-web borrows/adopts a lot of code from other open-source Python libraries. List of libraries is given in the docs, with links to repositories and licences.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

starlette_web-0.1.10.tar.gz (354.3 kB view details)

Uploaded Source

Built Distribution

starlette_web-0.1.10-py3-none-any.whl (398.3 kB view details)

Uploaded Python 3

File details

Details for the file starlette_web-0.1.10.tar.gz.

File metadata

  • Download URL: starlette_web-0.1.10.tar.gz
  • Upload date:
  • Size: 354.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.2

File hashes

Hashes for starlette_web-0.1.10.tar.gz
Algorithm Hash digest
SHA256 abfae9534c901c57dc19814bb542668d5dae3fbef064b8955223dae807fb63ce
MD5 77264bdd39dbeeb8a2da3428caae8de3
BLAKE2b-256 ba5af02693191c42a1674205293bde803dc62012ea6f58ba9d6bf99357fd3428

See more details on using hashes here.

File details

Details for the file starlette_web-0.1.10-py3-none-any.whl.

File metadata

File hashes

Hashes for starlette_web-0.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 c6990d35833a070fe97c383577b25b5420b1b06deab30852db059b464f037597
MD5 ab93cd066b3bdbb74f80fec40e0d642f
BLAKE2b-256 1e1dc8ae0daf3a73eec97a65109feb3a076d3238ec6f4dc3e2b61dd08467fe34

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page