Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/livioribeiro/selva
Python ASGI web framework
https://github.com/livioribeiro/selva
api asyncio framework json pydantic python python-types python3 rest selva uvicorn web websocket
Last synced: about 2 months ago
JSON representation
Python ASGI web framework
- Host: GitHub
- URL: https://github.com/livioribeiro/selva
- Owner: livioribeiro
- License: mit
- Created: 2021-08-12T17:37:51.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-10-08T12:19:17.000Z (3 months ago)
- Last Synced: 2024-10-08T15:12:00.511Z (3 months ago)
- Topics: api, asyncio, framework, json, pydantic, python, python-types, python3, rest, selva, uvicorn, web, websocket
- Language: Python
- Homepage: https://livioribeiro.github.io/selva/
- Size: 1.22 MB
- Stars: 6
- Watchers: 4
- Forks: 0
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Project Selva
Documentation: https://livioribeiro.github.io/selva/
Selva is a Python ASGI web framework built on top of [asgikit](https://pypi.org/project/asgikit/)
and inspired by Spring Boot, AspNet, FastAPI and Go's net/http.It features a Dependency Injection system to help build robust and reliable applications.
## Quick start
Install `selva` and `uvicorn` to run application:
```shell
pip install selva uvicorn[standard]
```Create a module called `application.py`:
```shell
touch application.py
```Create a controller:
```python
from asgikit.requests import Request
from asgikit.responses import respond_text
from selva.web import controller, get@controller
class Controller:
@get
async def hello(self, request: Request):
await respond_text(request.response, "Hello, World!")
```Run application with `uvicorn` (Selva will automatically load `application.py`):
```shell
uvicorn selva.run:app --reload
```