flask-marshmallow-openapi 0.6.6

Creator: bradpython12

Last updated:

Add to Cart

Description:

flaskmarshmallowopenapi 0.6.6

Overview




Provides OpenAPI documentation generated from code for
Flask APIs built around
marshmallow schemas.
This hackish and organically grown ™ package was created because no other similar
projects worked exactly the way I wanted them.
Similar projects:

flasgger
flask-openapi3

Installation
pip install flask-marshmallow-openapi

Documentation
Read the Docs
What does it do?
Searches your codebase for marshmallow
schemas and 🎖️ decorated 🎖️ Flask routes.
It then produces swagger.json and injects it into self-hosted
ReDoc and
SwaggerUI documentation viewers.
api = flask.Blueprint("my_api", __name__)


class BookSchema(ma.Schema):
id = ma.fields.Integer(as_string=True)
title = ma.fields.String(allow_none=False)
publisher = ma.fields.String(allow_none=False)
isbn = ma.fields.String(allow_none=False)


@open_api.get_list(BookSchema)
@api.route("/books", methods=["GET"])
def books_list():
return "<p>Hello, World!</p>"


app = flask.Flask(__name__)
app.register_blueprint(api, url_prefix="/v1")


conf = OpenAPISettings(
api_version="v1", api_name="My API", app_package_name="my_api", mounted_at="/v1"
)
docs = OpenAPI(config=conf)
docs.init_app(app)

New app routes:
$ flask routes

Endpoint Methods Rule
--------------------- ------- -------------------------------
# ...
open_api.re_doc GET /v1/docs/re_doc
open_api.static GET /v1/docs/static/<path:filename>
open_api.swagger_json GET /v1/docs/static/swagger.json
open_api.swagger_ui GET /v1/docs/swagger_ui
open_api.swagger_yaml GET /v1/docs/static/swagger.yaml
# ...

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files:

Customer Reviews

There are no reviews.