OpenAPI typed

June 3, 2020 ยท View on GitHub

CircleCI PyPI PyPi License

Python typings for OpenAPI using dataclass.

Installation

Install package from PyPI.

pip install openapi-typed-2

Usage

from openapi_typed_2 import OpenAPIObject, Info

# Valid OpenAPIObject
openapi_valid = OpenAPIObject(
    openapi="3.0.0",
    info=Info(
        title="My API",
        version="0.0.0")
    )

# Invalid OpenAPIObject
openapi_invalid = OpenAPIObject(
    openap="3.0.0",  # Type-check error, unknown attribute
    info=Info(
        title="My API"  # Type-check error, missing attribute `version`
    )
)

Development

Install development dependencies:

pip install -e '.[dev]'

Do codegen (necessary for type checking and tests):

python setup.py gen

Run tests:

pytest
# OR
python setup.py test

Run type-checks with mypy:

mypy openapi_typed

Build package:

python setup.py dist

Contributing

Thanks for wanting to contribute! We will soon have a contributing page detaling how to contribute. Meanwhile, feel free to star this repository, open issues and ask for more features and support.

Please note that this project is governed by the Meeshkan Community Code of Conduct. By participating in this project, you agree to abide by its terms.