<div align="center">
<a href="#"><img src="https://i.ibb.co/jTwBsqH/aquilify.png" alt="IMG-20231115-232824" style="border-radius: 6px;" width="420px" alt="Aquilify"></a>
</div>
---
**Documentation**: [http://www.aquilify.vvfin.in/](http://aquilify.vvfin.in/)
---
# AQUILIFY
Aquilify is an ASGI (Asynchronous Server Gateway Interface) framework designed to facilitate the development of web applications with Python. It enables efficient handling of HTTP requests, WebSocket connections, middleware processing, and exception handling in an asynchronous environment.
## Installation
```bash
$ pip install aquilify
```
##### Or you can install the `aquilify[full]`
```bash
$ pip install aquilify[full]
```
## Basic Setup
Create a new aquilify app using the command show below :
```bash
$ aquilify create-app myapp
```
Now, move inside the `myapp` and run :
```bash
$ aquilify runserver
```
To make changes in ASGI server configuration open `myapp/config.cfg` :
#### Default Configuration :
```python
[ASGI_SERVER]
server = NETIX
host = 127.0.0.1
port = 8000
debug = True
reload = False
instance = asgi:application
```
visit: `http://localhost:8000`
output:
<div align="center">
<a href="#"><img src="https://i.ibb.co/Yy8sX0q/setup.png" alt="IMG-20231115-232824" style="border-radius: 6px;" width="420px" alt="Aquilify"></a>
</div>
## Creating views
`myapp/views.py`
```python
async def myview() -> dict:
return {"message": "Welcome to aquilify"}, 200
```
`myapp/routing.py`
```python
from aquilify.core.routing import rule
import views
ROUTER = [
rule('/', view.myview)
]
```
`run server`
```bash
$ aquilify runserver
```
```python
Starting Netix v1.12 (cpython 3.12.1, win32)
------------------------------------------------------------------------
Options:
run(host=127.0.0.1, port=8000, reuse_port=True, worker_num=1, ssl={}, debug=True, app=asgi:application, log_level=DEBUG)
------------------------------------------------------------------------
[2024-01-08 15:48:19] Netix detected Aquilify starting.. : Aquilify
[2024-01-08 15:48:19,421] INFO: lifespan: startup
[2024-01-08 15:48:19,423] INFO: lifespan.startup.complete
[2024-01-08 15:48:20] Netix (ASGI) (pid 17892) is started at 127.0.0.1 port 8000
```
`output` : `http://localhost:8000/` :
```json
{
"message": "Welcome to aquilify"
}
```
## Credits
- Thanks to `starlette`.
- This project uses code adapted from the Starlette framework.
## Dependencies
Aquilify only requires `anyio`, and the following are optional:
* [`aiofiles`][aiofile] - Required if you want to use the `StaticMIddleware` or `File based Opertation`.
* [`jinja2`][jinja2] - Required if you want to use `TemplateResponse`.
* [`python-multipart`][python-multipart] - Required if you want to support form parsing, with `request.form()`.
* [`itsdangerous`][itsdangerous] - Required for `SessionMiddleware` and `CSRF` support.
* [`markupsafe`][markupsafe] - Required for `Jinja2` and `CSRF` support.
Raw data
{
"_id": null,
"home_page": "https://github.com/embrake/aquilify/",
"name": "aquilify",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "web framework,Python web development,user-friendly,high-level,ASGI,backend",
"author": "Pawan kumar",
"author_email": "embrakeproject@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/8f/6e/a569289d25f1a5619fddfa36709f033d3baaae56df0df5e89fcba79cd6b8/aquilify-1.16.tar.gz",
"platform": null,
"description": "\n<div align=\"center\">\n <a href=\"#\"><img src=\"https://i.ibb.co/jTwBsqH/aquilify.png\" alt=\"IMG-20231115-232824\" style=\"border-radius: 6px;\" width=\"420px\" alt=\"Aquilify\"></a>\n</div>\n\n---\n\n**Documentation**: [http://www.aquilify.vvfin.in/](http://aquilify.vvfin.in/)\n\n---\n\n# AQUILIFY\n\nAquilify is an ASGI (Asynchronous Server Gateway Interface) framework designed to facilitate the development of web applications with Python. It enables efficient handling of HTTP requests, WebSocket connections, middleware processing, and exception handling in an asynchronous environment.\n\n## Installation\n\n```bash\n$ pip install aquilify\n```\n\n##### Or you can install the `aquilify[full]`\n\n```bash\n$ pip install aquilify[full]\n```\n\n## Basic Setup\n\nCreate a new aquilify app using the command show below :\n\n```bash\n$ aquilify create-app myapp\n```\nNow, move inside the `myapp` and run :\n\n```bash\n$ aquilify runserver\n```\n\nTo make changes in ASGI server configuration open `myapp/config.cfg` :\n\n#### Default Configuration :\n\n```python\n[ASGI_SERVER]\nserver = NETIX\nhost = 127.0.0.1\nport = 8000\ndebug = True\nreload = False\ninstance = asgi:application\n```\n\nvisit: `http://localhost:8000`\n\noutput: \n<div align=\"center\">\n <a href=\"#\"><img src=\"https://i.ibb.co/Yy8sX0q/setup.png\" alt=\"IMG-20231115-232824\" style=\"border-radius: 6px;\" width=\"420px\" alt=\"Aquilify\"></a>\n</div>\n\n## Creating views\n\n`myapp/views.py`\n\n```python\n\nasync def myview() -> dict:\n return {\"message\": \"Welcome to aquilify\"}, 200\n```\n\n`myapp/routing.py`\n\n```python\nfrom aquilify.core.routing import rule\n\nimport views\n\nROUTER = [\n rule('/', view.myview)\n]\n```\n\n`run server`\n\n```bash\n$ aquilify runserver\n```\n\n```python\nStarting Netix v1.12 (cpython 3.12.1, win32)\n------------------------------------------------------------------------\nOptions:\n run(host=127.0.0.1, port=8000, reuse_port=True, worker_num=1, ssl={}, debug=True, app=asgi:application, log_level=DEBUG)\n------------------------------------------------------------------------\n[2024-01-08 15:48:19] Netix detected Aquilify starting.. : Aquilify\n[2024-01-08 15:48:19,421] INFO: lifespan: startup\n[2024-01-08 15:48:19,423] INFO: lifespan.startup.complete\n[2024-01-08 15:48:20] Netix (ASGI) (pid 17892) is started at 127.0.0.1 port 8000\n```\n\n`output` : `http://localhost:8000/` :\n\n```json\n{\n \"message\": \"Welcome to aquilify\"\n}\n```\n\n## Credits\n- Thanks to `starlette`.\n- This project uses code adapted from the Starlette framework.\n\n## Dependencies\n\n\nAquilify only requires `anyio`, and the following are optional:\n\n* [`aiofiles`][aiofile] - Required if you want to use the `StaticMIddleware` or `File based Opertation`.\n* [`jinja2`][jinja2] - Required if you want to use `TemplateResponse`.\n* [`python-multipart`][python-multipart] - Required if you want to support form parsing, with `request.form()`.\n* [`itsdangerous`][itsdangerous] - Required for `SessionMiddleware` and `CSRF` support.\n* [`markupsafe`][markupsafe] - Required for `Jinja2` and `CSRF` support.\n\n",
"bugtrack_url": null,
"license": "BSD-3-Clause",
"summary": "Aquilify is an ASGI (Asynchronous Server Gateway Interface) framework designed to facilitate the development of web applications with Python. It enables efficient handling of HTTP requests, WebSocket connections, middleware processing, and exception handling in an asynchronous environment.",
"version": "1.16",
"project_urls": {
"Homepage": "https://github.com/embrake/aquilify/"
},
"split_keywords": [
"web framework",
"python web development",
"user-friendly",
"high-level",
"asgi",
"backend"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "52ae6a76a5e982e5453a767db8186a5f410eaaa91bce38bb65b1ce6e19ddf454",
"md5": "bee0340494b0a94f268b68d17839d831",
"sha256": "9dcf80d1e71e3c6339f076bf10bb957b14dc1e95ef779cf88a59b401c5b3323e"
},
"downloads": -1,
"filename": "aquilify-1.16-py3-none-any.whl",
"has_sig": false,
"md5_digest": "bee0340494b0a94f268b68d17839d831",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 397465,
"upload_time": "2024-03-03T07:00:25",
"upload_time_iso_8601": "2024-03-03T07:00:25.328939Z",
"url": "https://files.pythonhosted.org/packages/52/ae/6a76a5e982e5453a767db8186a5f410eaaa91bce38bb65b1ce6e19ddf454/aquilify-1.16-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8f6ea569289d25f1a5619fddfa36709f033d3baaae56df0df5e89fcba79cd6b8",
"md5": "361a889b3bb41a7fe53305b693c2548d",
"sha256": "d42de8de6d978ac83ca68b15c1115ca3045e88ba787f2469cfef2b7fdfec0102"
},
"downloads": -1,
"filename": "aquilify-1.16.tar.gz",
"has_sig": false,
"md5_digest": "361a889b3bb41a7fe53305b693c2548d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 279817,
"upload_time": "2024-03-03T07:00:29",
"upload_time_iso_8601": "2024-03-03T07:00:29.697166Z",
"url": "https://files.pythonhosted.org/packages/8f/6e/a569289d25f1a5619fddfa36709f033d3baaae56df0df5e89fcba79cd6b8/aquilify-1.16.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-03 07:00:29",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "embrake",
"github_project": "aquilify",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "aquilify"
}