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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | abfae9534c901c57dc19814bb542668d5dae3fbef064b8955223dae807fb63ce |
|
MD5 | 77264bdd39dbeeb8a2da3428caae8de3 |
|
BLAKE2b-256 | ba5af02693191c42a1674205293bde803dc62012ea6f58ba9d6bf99357fd3428 |
File details
Details for the file starlette_web-0.1.10-py3-none-any.whl
.
File metadata
- Download URL: starlette_web-0.1.10-py3-none-any.whl
- Upload date:
- Size: 398.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c6990d35833a070fe97c383577b25b5420b1b06deab30852db059b464f037597 |
|
MD5 | ab93cd066b3bdbb74f80fec40e0d642f |
|
BLAKE2b-256 | 1e1dc8ae0daf3a73eec97a65109feb3a076d3238ec6f4dc3e2b61dd08467fe34 |