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.
Project description
Documentation: http://www.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
$ pip install aquilify
Or you can install the aquilify[full]
$ pip install aquilify[full]
Basic Setup
Create a new aquilify app using the command show below :
$ aquilify create-app myapp
Now, move inside the myapp
and run :
$ aquilify runserver
To make changes in ASGI server configuration open myapp/config.cfg
:
Default Configuration :
[ASGI_SERVER]
server = NETIX
host = 127.0.0.1
port = 8000
debug = True
reload = False
instance = asgi:application
visit: http://localhost:8000
output:
Creating views
myapp/views.py
async def myview() -> dict:
return {"message": "Welcome to aquilify"}, 200
myapp/routing.py
from aquilify.core.routing import rule
import views
ROUTER = [
rule('/', view.myview)
]
run server
$ aquilify runserver
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/
:
{
"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 theStaticMIddleware
orFile based Opertation
. - [
jinja2
][jinja2] - Required if you want to useTemplateResponse
. - [
python-multipart
][python-multipart] - Required if you want to support form parsing, withrequest.form()
. - [
itsdangerous
][itsdangerous] - Required forSessionMiddleware
andCSRF
support. - [
markupsafe
][markupsafe] - Required forJinja2
andCSRF
support.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file aquilify-1.17.tar.gz
.
File metadata
- Download URL: aquilify-1.17.tar.gz
- Upload date:
- Size: 275.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e9802453fd5d324ed6104692780a76bab09ed12c08061b9efd72f60f7687c18 |
|
MD5 | 6f1d4d8e83b5a43b592991af6767d4a8 |
|
BLAKE2b-256 | cc182ecaec90c8d03cbf5ba45c632ebcfab58f0b46be25448c5dbff63219953e |
File details
Details for the file aquilify-1.17-py3-none-any.whl
.
File metadata
- Download URL: aquilify-1.17-py3-none-any.whl
- Upload date:
- Size: 393.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | be165caf78b4e7933a64d39828fef64073a1a9abc11b814ad08ccacca3c31556 |
|
MD5 | ca531d75109de592f033d60f2263775f |
|
BLAKE2b-256 | 4c82a1e688e901521d1c1363f629e72639956d2574fed17fd509814ed04dae9c |