Skip to main content

Generate OpenApi json specification

Project description

openapi-specgen

Openapi-Specgen helps you generate OpenApi specification from your python code.

Includes support for automatically generating OpenApi schemas for Dataclasses and Marshamllow Schemas.

Installation

Install using pip

pip install openapi-specgen

Quick Start

Define your objects using dataclasses or marshmallow schemas. Import the required OpenApi classes and define your Api with it`s paths, params and responses.

from typing import List
from dataclasses import dataclass

@dataclass
class DataclassObject():
    str_field: str
    int_field: int
    float_field: float
    boolean_field: bool
    list_field: List[str]

from openapi_specgen import OpenApi, OpenApiParam, OpenApiPath, OpenApiResponse

sample_response = OpenApiResponse('Response description', data_type=DataclassObject)
sample_param = OpenApiParam('param_name', 'query', data_type=str)
sample_path = OpenApiPath('/api_path', 'get', [sample_response], [sample_param])


marshmallow_response = OpenApiResponse('Response description', data_type=MarshmallowSchema)
marshmallow_path = OpenApiPath('/api_path', 'post', [sample_response], requestBody=MarshmallowSchema)

sample_api = OpenApi('Sample Api', [sample_path, marshmallow_path])

sample_api.as_dict()

License

This project is licensed under the MIT License - see the LICENSE file for details

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

openapi-specgen-0.0.5.tar.gz (6.3 kB view details)

Uploaded Source

Built Distribution

openapi_specgen-0.0.5-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

Details for the file openapi-specgen-0.0.5.tar.gz.

File metadata

  • Download URL: openapi-specgen-0.0.5.tar.gz
  • Upload date:
  • Size: 6.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2

File hashes

Hashes for openapi-specgen-0.0.5.tar.gz
Algorithm Hash digest
SHA256 8d05a38f7a2fd593b34d7f82ca7a8e5f3785c5e124ed64ad6dcfdcec3af925ef
MD5 91b7d5daede69de9fb7f27d4ef7183c5
BLAKE2b-256 7e107a43c94cd6a75318c3575e91393d605e6ed23dba5b635cf52062be78ee1f

See more details on using hashes here.

File details

Details for the file openapi_specgen-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: openapi_specgen-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2

File hashes

Hashes for openapi_specgen-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 656ba657098b7267038d132ef078aae93bf7a4ce4590c7730bc05ec23adacf5a
MD5 c82b45fc24af75c83840a858af96f122
BLAKE2b-256 8be4a727c3e7b2f8bf97872266d8d5907ebbc485dabba71f164ccbbff4f88e7b

See more details on using hashes here.

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