Skip to main content

Flask Sugar is a web framework for building APIs with Flask, Pydantic and Python 3.6+ type hints.

Project description

Flask Sugar

Flask Sugar is a web framework for building APIs with Flask, Pydantic and Python 3.6+ type hints.

check parameters and generate API documents automatically

Documentation: https://shangsky.github.io/flask-sugar or https://flask-sugar.vercel.app/

Source Code: https://github.com/shangsky/flask-sugar

Requirements

  • Python 3.6+
  • Flask 2.0+

Installation

$ pip install flask-sugar

Example

# save this as app.py
from flask_sugar import Sugar, Header
from pydantic import BaseModel

app = Sugar(__name__)


class Item(BaseModel):
    name: str
    size: int


class Resp(BaseModel):
    a: int
    b: str
    c: str
    item: Item


@app.post("/item/<a>")
def demo(
    a: int,  # path param
    item: Item,  # json body param
    b: str = "default_query_param_b",  # query param
    c: str = Header("default_header_param_b"),  # request header param
) -> Resp:
    """demo page"""
    return Resp(a=a, b=b, c=c, item=item)
$ flask run --reload
  * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

Now visit the API documentation with Swagger UI at http://localhost:5000/doc:

visit the API documentation with Redoc at http://localhost:5000/redoc:

License

This project is licensed under the terms of the MIT license.

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

flask-sugar-0.0.20.tar.gz (13.0 kB view hashes)

Uploaded Source

Built Distribution

flask_sugar-0.0.20-py3-none-any.whl (17.4 kB view hashes)

Uploaded Python 3

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