# 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/bc/30/245e8bd39fc0f51dc96dcdc23faf85e95d7d70fb7c2458f3c3acf6036dbb/selva-0.15.0.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.15.0",
"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": "2faf7b672e25a3981c1cbbd2c3d7755c09537d5ed3653a7fdd6c93ceb756aede",
"md5": "54f02e1ab8d4eb8db67e2746dc2850f5",
"sha256": "6cdbb1fec63ef4ccbf9bda210a9198d28bb904fd3f1c2f71757646ef3a8db64f"
},
"downloads": -1,
"filename": "selva-0.15.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "54f02e1ab8d4eb8db67e2746dc2850f5",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.11",
"size": 43281,
"upload_time": "2024-05-09T14:54:33",
"upload_time_iso_8601": "2024-05-09T14:54:33.897793Z",
"url": "https://files.pythonhosted.org/packages/2f/af/7b672e25a3981c1cbbd2c3d7755c09537d5ed3653a7fdd6c93ceb756aede/selva-0.15.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "bc30245e8bd39fc0f51dc96dcdc23faf85e95d7d70fb7c2458f3c3acf6036dbb",
"md5": "d7cc5f34de98a2bcd9ecd16653cd8183",
"sha256": "09b06e766970275b6bac72d77db3dd9926e1e02e7cfabd438f7bbb604dac62dd"
},
"downloads": -1,
"filename": "selva-0.15.0.tar.gz",
"has_sig": false,
"md5_digest": "d7cc5f34de98a2bcd9ecd16653cd8183",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.11",
"size": 27596,
"upload_time": "2024-05-09T14:54:37",
"upload_time_iso_8601": "2024-05-09T14:54:37.625930Z",
"url": "https://files.pythonhosted.org/packages/bc/30/245e8bd39fc0f51dc96dcdc23faf85e95d7d70fb7c2458f3c3acf6036dbb/selva-0.15.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-09 14:54:37",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "livioribeiro",
"github_project": "selva",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "selva"
}