Skip to content

Malaa-tech/sdk-generator

 
 

Repository files navigation

Openapi Python Generator

PyPI Status Python Version License

Tests Codecov

pre-commit Black


Documentation: here


Features

  • Ease of use. Provide input, output and the library, and the generator will do the rest.
  • Type safety and type hinting. OpenAPI python generator makes heavy use of pydantic models to provide type-safe data structures.
  • Support for multiple rest frameworks. OpenAPI python generator currently supports the following:
  • Async and sync code generation support, depending on the framework. It will automatically create both for frameworks that support both.
  • Easily extendable using Jinja2 templates. The code is designed to be easily extendable and should support even more languages and frameworks in the future.
  • Fully tested. Every generated code is automatically tested against the OpenAPI spec and we have 100% coverage.
  • Usage as CLI or as library.

Requirements

  • Python 3.7+

Installation

You can install Openapi Python Generator via pip from PyPI:

$ pip install openapi-python-generator

Usage

Please see the Quick start page for details.

Roadmap

  • Support for all commonly used http libraries in the python ecosystem (requests, urllib, ...)
  • Support for multiple languages
  • Support for multiple authentication schemes
  • Support custom themes

Contributing

Contributions are very welcome. To learn more, see the Contributor Guide.

License

Distributed under the terms of the MIT license, Openapi Python Generator is free and open source software.

Issues

If you encounter any problems, please file an issue along with a detailed description.

Credits

Special thanks to the peeps from openapi-schema-pydantic, which already did a lot of the legwork by providing a pydantic schema for the OpenAPI 3.0.0+ specification.

This project was generated from @cjolowicz's Hypermodern Python Cookiecutter template.

About

A client generator from openapi for python.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 92.5%
  • Jinja 7.5%