Skip to main content

A concise and lightweight web framework.✨

Project description

![freesia](./images/logo.png)

## Introduction
Freesia is a concise and lightweight async web framework. Its api is inspired by Flask.

## Installation
```bash
pip3 install asyncfreesia
```

## 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).

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

aysncfreesia-0.0.2.tar.gz (18.5 kB view details)

Uploaded Source

File details

Details for the file aysncfreesia-0.0.2.tar.gz.

File metadata

  • Download URL: aysncfreesia-0.0.2.tar.gz
  • Upload date:
  • Size: 18.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.18.4 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.23.4 CPython/3.6.3

File hashes

Hashes for aysncfreesia-0.0.2.tar.gz
Algorithm Hash digest
SHA256 8c76b7603f295f19c673f66a970cfe3e0dd3110f65738902a5570ae9d7ecd527
MD5 1b7f340c77b077bbcff9c1956c037b7c
BLAKE2b-256 91859ef377169e81c490a79840e4d533a5c9e0a9e3107168e2007ec640f99870

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page