
## Introduction
Freesia is a concise and lightweight async web framework. Its api is inspired by Flask.
## Installation
```bash
pip install async-freesia
```
## Docs
You can find the project's detailed API documentation on [here](https://freesia.readthedocs.io/en/latest/?).
## Example
*hello world*
```python
from freesia import Freesia
app = Freesia()
@app.route('/hello/<name>')
async def hello(request, name):
return "Hello, " + name + "!"
if __name__ == "__main__":
app.run()
```
*middleware*
```python
from freesia import Freesia
app = Freesia()
@app.route("/<name>")
async def hello(request, name):
print("enter user handler")
return "hello, " + name
async def middleware1(request, handler):
print("enter middleware1")
res = await handler()
print("exit middleware1")
return res + " !"
async def middleware2(request, handler):
print("enter middleware2")
res = await handler()
print("exit middleware2")
return res + " :D"
app.use([middleware1, middleware2])
if __name__ == "__main__":
app.run()
```
*session*
```python
from freesia import Freesia, set_up_session, get_session, Response
from freesia.session import SimpleCookieSession
app = Freesia()
@app.route("/")
async def hello(request):
s = await get_session(request)
if "count" not in s:
s["count"] = 1
return Response(text="Hello, stranger!")
else:
s["count"] += 1
return Response(text="I've seen you %d times" % s["count"])
if __name__ == "__main__":
set_up_session(app, SimpleCookieSession)
app.run()
```
## More
You can see more exmaple and usags in [docs](https://freesia.readthedocs.io/en/latest/?) and [examples](./examples).
## Introduction
Freesia is a concise and lightweight async web framework. Its api is inspired by Flask.
## Installation
```bash
pip install async-freesia
```
## Docs
You can find the project's detailed API documentation on [here](https://freesia.readthedocs.io/en/latest/?).
## Example
*hello world*
```python
from freesia import Freesia
app = Freesia()
@app.route('/hello/<name>')
async def hello(request, name):
return "Hello, " + name + "!"
if __name__ == "__main__":
app.run()
```
*middleware*
```python
from freesia import Freesia
app = Freesia()
@app.route("/<name>")
async def hello(request, name):
print("enter user handler")
return "hello, " + name
async def middleware1(request, handler):
print("enter middleware1")
res = await handler()
print("exit middleware1")
return res + " !"
async def middleware2(request, handler):
print("enter middleware2")
res = await handler()
print("exit middleware2")
return res + " :D"
app.use([middleware1, middleware2])
if __name__ == "__main__":
app.run()
```
*session*
```python
from freesia import Freesia, set_up_session, get_session, Response
from freesia.session import SimpleCookieSession
app = Freesia()
@app.route("/")
async def hello(request):
s = await get_session(request)
if "count" not in s:
s["count"] = 1
return Response(text="Hello, stranger!")
else:
s["count"] += 1
return Response(text="I've seen you %d times" % s["count"])
if __name__ == "__main__":
set_up_session(app, SimpleCookieSession)
app.run()
```
## More
You can see more exmaple and usags in [docs](https://freesia.readthedocs.io/en/latest/?) and [examples](./examples).
Metadata
Release files for async_freesia 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| async_freesia-0.1.2.tar.gz | 18.8 kB | Without provenance | Details |
Release files / async_freesia-0.1.2.tar.gz
| Download URL | async_freesia-0.1.2.tar.gz |
|---|---|
| Size | 18.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7808fe613cce06d0a9892bb9996977f1a3af186c783f877601c9e05485aaf0a7
|
|
BLAKE2b-256 checksum How to use checksums |
567a559b67642daed474a5ecdca2828c872c126f5b57aab25a106c072bcba3fb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
Python-urllib/3.7
|
Security for async_freesia 0.1.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.