Skip to main content

APIFlask

Build status codecov

A lightweight Web API toolkit for Flask, based on marshmallow-code projects and other Flask extensions.

Currently this project is in plan/experimental stage, break changes are expected. Improvement and suggestions are welcome!

Installation

$ pip install apiflask

Example

from apiflask import APIFlask
from apiflask.decorators import arguments, body, response
from marshmallow import Schema

app = APIFlask(__name__)

class PetSchema(Schema):
    id = Integer(dump_only=True)
    name = String(required=True)
    age = Integer(required=True)
    category = String(required=True)


@app.route('/pets/<int:pet_id>')
@response(PetSchema)
def get_pet(pet_id):
    pass


@app.route('/pets', methods=['POST'])
@body(PetSchema)
@response(PetSchema)
def create_pet(pet):
    pass


@app.route('/pets', methods=['PUT'])
@body(PetSchema)
@response(PetSchema)
def update_pet(updated_pet, pet_id):
    pass

Save the file as app.py, then run it with:

$ flask run

Now visit the interactive docs by Swagger UI at http://localhost:5000/docs:

Or you can visit the alternative Redoc docs at http://localhost:5000/redoc:

The auto-generated OpenAPI spec file are available at http://localhost:5000/openapi.json.

Links


APIFlask starts as a fork of APIFairy 0.6.3dev and inspired by FastAPI.

Release files for APIFlask 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for APIFlask 0.1.0
File Size Uploaded
APIFlask-0.1.0.tar.gz 6.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for APIFlask 0.1.0
File Interpreter ABI Platform
APIFlask-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 16.6 kB

Release files / APIFlask-0.1.0.tar.gz

Download URL APIFlask-0.1.0.tar.gz
Size 6.9 kB
Tags Source
SHA-256 checksum
How to use checksums
a1fe0d01e62d0318e5a6e24c7483491b46ca85427765c203871e50a54719a241
BLAKE2b-256 checksum
How to use checksums
315637142588db3d153500f5a0d2a31ade8c5aa8f2fc47902555cc515c05f68d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.0

Release files / APIFlask-0.1.0-py3-none-any.whl

Download URL APIFlask-0.1.0-py3-none-any.whl
Size 9.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fe253d77b8a35a25685f0e826ee435a60d0117df65201416aedc0ab6b34108f8
BLAKE2b-256 checksum
How to use checksums
c99203786496dc01f023005d52ec5dec416cc69f9333e89f3667fae7e3268842
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.0

Release history Release notifications | RSS feed

3.1.2

2 release files

3.1.1

2 release files

3.1.0

2 release files

3.0.2

2 release files

3.0.1

2 release files

3.0.0

2 release files

2.4.0

2 release files

2.3.2

2 release files

2.3.1

2 release files

2.3.0

2 release files

2.2.1

2 release files

2.2.0

2 release files

2.1.3

2 release files

2.1.2

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.10.1

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.3

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page