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: 9 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 (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2025-03-15T17:24:36.000Z (about 1 year ago)
- Last Synced: 2025-04-15T06:14:44.028Z (about 1 year 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.57 MB
- Stars: 7
- Watchers: 2
- 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 handler:
```python
from asgikit.requests import Request
from asgikit.responses import respond_text
from selva.web import get
@get
async def hello(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
```