# 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
```
Raw data
{
"_id": null,
"home_page": "https://github.com/livioribeiro/selva",
"name": "selva",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.11",
"maintainer_email": null,
"keywords": "asgi, framework, asyncio, web",
"author": "Livio Ribeiro",
"author_email": "livioribeiro@outlook.com",
"download_url": "https://files.pythonhosted.org/packages/25/f5/8480abc8e6f9ceb9b2cb9bcd35ea8ff2e2da0550cc489182a72494ad07ff/selva-0.14.3.tar.gz",
"platform": null,
"description": "# Project Selva\n\nDocumentation: https://livioribeiro.github.io/selva/\n\nSelva is a Python ASGI web framework built on top of [asgikit](https://pypi.org/project/asgikit/)\nand inspired by Spring Boot, AspNet, FastAPI and Go's net/http.\n\nIt features a Dependency Injection system to help build robust and reliable applications.\n\n## Quick start\n\nInstall `selva` and `uvicorn` to run application:\n\n```shell\npip install selva uvicorn[standard]\n```\n\nCreate a module called `application.py`:\n\n```shell\ntouch application.py\n```\n\nCreate a controller:\n\n```python\nfrom asgikit.requests import Request\nfrom asgikit.responses import respond_text\nfrom selva.web import controller, get\n\n\n@controller\nclass Controller:\n @get\n async def hello(self, request: Request):\n await respond_text(request.response, \"Hello, World!\")\n```\n\nRun application with `uvicorn` (Selva will automatically load `application.py`):\n\n```shell\nuvicorn selva.run:app --reload\n```\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "ASGI Web Framework with Dependency Injection",
"version": "0.14.3",
"project_urls": {
"Homepage": "https://github.com/livioribeiro/selva",
"Repository": "https://github.com/livioribeiro/selva"
},
"split_keywords": [
"asgi",
" framework",
" asyncio",
" web"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "aec6cda90c4df0bf721720b66f85fa612f0ffe4fb73fc6a10ec1a1cceec322d6",
"md5": "36d320859f3a0745dd82fcc9683284f7",
"sha256": "998ed662abce63cf9200ec424250ae9e9b49c398959b763e416d6c400fae675c"
},
"downloads": -1,
"filename": "selva-0.14.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "36d320859f3a0745dd82fcc9683284f7",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.11",
"size": 43579,
"upload_time": "2024-04-22T15:20:18",
"upload_time_iso_8601": "2024-04-22T15:20:18.332412Z",
"url": "https://files.pythonhosted.org/packages/ae/c6/cda90c4df0bf721720b66f85fa612f0ffe4fb73fc6a10ec1a1cceec322d6/selva-0.14.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "25f58480abc8e6f9ceb9b2cb9bcd35ea8ff2e2da0550cc489182a72494ad07ff",
"md5": "0746645894c548b6594782389dfc3d4e",
"sha256": "a6eb58a26583cbf2fa6f275de3e0e0b8c808808de38a7c58569f3a9e93f8bc85"
},
"downloads": -1,
"filename": "selva-0.14.3.tar.gz",
"has_sig": false,
"md5_digest": "0746645894c548b6594782389dfc3d4e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.11",
"size": 27676,
"upload_time": "2024-04-22T15:20:20",
"upload_time_iso_8601": "2024-04-22T15:20:20.061309Z",
"url": "https://files.pythonhosted.org/packages/25/f5/8480abc8e6f9ceb9b2cb9bcd35ea8ff2e2da0550cc489182a72494ad07ff/selva-0.14.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-22 15:20:20",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "livioribeiro",
"github_project": "selva",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "selva"
}