Giter Site home page Giter Site logo

avanov / openapi-type Goto Github PK

View Code? Open in Web Editor NEW
11.0 3.0 2.0 50 KB

OpenAPI represented as a Python type. Use it to parse specifications written in JSON and YAML formats.

License: MIT License

Makefile 4.45% Python 87.30% Nix 8.25%
openapi oas3 openapi3 swagger parser specification typing mypy colander

openapi-type's Introduction

image

image

Requirements Status

Documentation Status

Latest PyPI Release

OpenAPI Type

OpenAPI specification represented as a Python type. Use it to parse specifications written in JSON and YAML formats.

pip install openapi-type
from openapi_type import OpenAPI, parse_spec, serialize_spec


spec: OpenAPI = parse_spec({
    "your OpenAPI Spec as Python dictionary": "will be parsed into a proper Python type"
})
assert parse_spec(serialize_spec(spec)) == spec
$ curl -s https://petstore3.swagger.io/api/v3/openapi.json | openapi-type check
Successfully parsed.

Codegen

If you are looking for a complete client code generator, consider openapi-client-generator that uses this library under the hood.

Cloning this repo

The proper way to clone this repo is:

git clone --recurse-submodules <repo-url> <local-project-root>
cd <local-project-root>

# for showing submodule status with `git status`
git config status.submodulesummary 1

# for logging submodule diff with `git diff`
git config diff.submodule log

Documentation

Documentation is hosted on ReadTheDocs: https://openapi-type.readthedocs.io/en/develop/

Test framework

The project uses Nix for bootstrapping its dev environment.

You can run existing test suite with

nix-shell --run "make test"

Changelog

See CHANGELOG.

openapi-type's People

Contributors

avanov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

wy-z stjordanis

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.