Skip to main content

Python library for Web APIs leveraging OpenAPI/Swagger specification

Project description

Python library for Web APIs leveraging OpenAPI/Swagger specification, enabling:

  • validation of an OAS 2.0 document

  • [todo] control backward compatibility between two OAS 2.0 documents

  • [todo] rewriting the basePath and paths of an OAS 2.0 document

  • [todo] filtering endpoints of an OAS 2.0 document to generate a subset of the API

  • [todo] adding/removing securityDefinitions on an OAS 2.0 document

Free software license: BSD 3-Clause License

Quickstart

Install oasapi from PyPI with:

pip install oasapi

You can also install the in-development version with:

pip install https://github.com/sdementen/oasapi/archive/master.zip

Validate an OAS 2.0 Document (in JSON or YAML format) with:

python -m oasapi validate samples/swagger_petstore.json

or if you prefer with the oasapi script:

oasapi validate samples/swagger_petstore.json

or with the sdementen/oasapi Docker image (available on Docker Hub):

docker run sdementen/oasapi validate http://petstore.swagger.io/v2/swagger.json

You can also pipe a swagger to the command (if oasapi cannot retrieve the file by itself):

type samples/swagger_petstore.json | oasapi validate -
type samples/swagger_petstore.json | docker run -i sdementen/oasapi validate -
curl http://petstore.swagger.io/v2/swagger.json | oasapi validate -
curl -s http://petstore.swagger.io/v2/swagger.json | docker run -i sdementen/oasapi validate -

Documentation

https://oasapi.readthedocs.io/

Development

https://oasapi.readthedocs.io/en/latest/contributing.html#development

Changelog

0.1.11 (2020-01-16)

  • [dev] use jsonpath_ng to walk the swagger

  • add timing of validation in CLI if verbose

0.1.10 (2020-01-10)

  • [dev] fix tag name to remove “v” (for readthedocs latest build)

  • [dev] fix travis ci python version for doc

0.1.9 (2020-01-10)

  • Improve validation of array parameters

  • Improve documentation

0.1.8 (2020-01-09)

  • Push the sdementen/oasapi docker image to Docker Hub on each release

  • Update doc on Docker image use and pipeing a swagger to oasapi

0.1.7 (2020-01-09)

  • Support URL and stdin (with -) as SWAGGER for the CLI

0.1.6 (2020-01-08)

  • [dev] PyPI deployment through Travis CI

0.1.5 (2020-01-08)

  • Fix script form of the cli (oasapi instead of python -m oasapi)

0.1.4 (2020-01-08)

  • Explicit support only for python >= 3.6 (no py35 as use of f-string)

  • [dev] Move local build of docs from dist/docs to docs/dist to avoid cluttering dist

0.1.3 (2020-01-08)

  • [dev] Add git pre-commit hooks for black and flake

  • [dev] Do not use isort

  • [dev] Fix black + flake8 issues

0.1.2 (2020-01-08)

  • Fix model & reporting of duplicate operationIds

  • Add documentation on the CLI Usage

0.1.1 (2020-01-08)

  • Add pyyaml dependencies (to support OAS in yaml format)

0.1.0 (2020-01-08)

  • First release on PyPI.

  • Implementation of the validation of an OAS 2.0 (aka swagger) file

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

oasapi-0.1.11.tar.gz (35.3 kB view details)

Uploaded Source

File details

Details for the file oasapi-0.1.11.tar.gz.

File metadata

  • Download URL: oasapi-0.1.11.tar.gz
  • Upload date:
  • Size: 35.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.7

File hashes

Hashes for oasapi-0.1.11.tar.gz
Algorithm Hash digest
SHA256 0aa4c52ebf7666f6edadef5dd802ca26e6fc6167ad21f13fe5838c32042371e7
MD5 565728a3c1b9f7bd7694aeebf395fa92
BLAKE2b-256 8a4b91833285ff8e1862af37e2ed21ea9382a07bb0847d013935118dbe435fe9

See more details on using hashes here.

Provenance

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