Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/joway/lemon

An async and lightweight API framework for python.
https://github.com/joway/lemon

async koa-style python restful-api uvloop web-framework

Last synced: 16 days ago
JSON representation

An async and lightweight API framework for python.

Awesome Lists containing this project

README

        

Lemon logo


Build Status
Coverage Status
Codacy Badge



PyPi Version
Python Version
PyPI
license
FOSSA Status

Lemon is an async and lightweight API framework for python . Inspired by Koa and Sanic .

## Documentation

[https://pylemon.com](https://pylemon.com/#/)

## Installation

```shell
pip install -U pylemon
```

## Hello Lemon

```python
from lemon.app import Lemon
from lemon.context import Context

async def middleware(ctx: Context, nxt):
ctx.body = {
'msg': 'hello lemon'
}
await nxt()

async def handler(ctx: Context):
ctx.body['ack'] = 'yeah !'

app = Lemon()

app.use(middleware, handler)

app.listen(port=9999)

```

## Hello Lemon Router

```python
from random import random

from lemon.app import Lemon
from lemon.context import Context
from lemon.router import Router

async def middleware(ctx: Context, nxt):
ctx.body = {
'msg': 'hello lemon'
}
await nxt()

async def handler1(ctx: Context):
ctx.body['ack'] = 'yeah !'
ctx.body['random'] = random()

async def handler2(ctx: Context):
ctx.body = ctx.req.json

app = Lemon(debug=True)

router = Router()
router.get('/handler1', middleware, handler1)
router.post('/handler2', middleware, handler2)

app.use(router.routes())

app.listen()

```