Skip to main content

Converts a JSON schema to an OpenAPI specification version 3.0.

Project description

jsonschema-to-openapi

Converts a JSON schema to an OpenAPI specification version 3.0.

Installation

pip install jsonschema-to-openapi

Usage

CLI

jsonschema-to-openapi my_json_schema.json my_open_api_spec.json

Package

>>> from jsonschema_to_openapi.convert import convert

>>> schema = {} # Your json schema as dictionary.

>>> convert(schema)
{} # Your OpenAPI specification as dictionary.

Caveats and Limitations

  • If you have a complex schema, where you extend a base schema with the $ref operator, you will need to put all base schemas under a "definitions" key in root.
  • Abitrarily nested xOfs cannot be resolved yet. The program won't fail and will procude valid OpenAPI specification, but the result will still contain nested xOf operators.
    • Input:

      {
        "anyOf": [{"$ref": "#/definitions/my_object"}, { "anyOf": [{"type": "null"}] }],
        "definitions": {
            "my_object": {"type": "string"}
        }
      }
      
    • Output:

      {
          "anyOf": [
              {
                  "$ref": "#/definitions/my_object"
              },
              {
                  "anyOf": [
                      {
                          "type": "null"
                      }
                  ]
              }
          ],
          "definitions": {
              "my_object": {
                  "nullable": false,
                  "type": "string"
              }
          }
      }
      

Changelog

Please take a look at the CHANGELOG.md for notable changes to jsonschema-to-openapi.

License

See the LICENSE for details.

Development

We welcome new contributions to this project!

Source Code

You can check the latest source code with the command:

git clone git@gitlab.com:InstaffoOpenSource/DataScience/jsonschema-to-openapi.git

Linting

After cloning and installing the dependencies, you can lint the project by executing:

make lint

Testing

After cloning and installing the dependencies, you can test the project by executing:

make test

Help and Support

Authors

Acknowledgements

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

jsonschema-to-openapi-0.2.1.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

jsonschema_to_openapi-0.2.1-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

Details for the file jsonschema-to-openapi-0.2.1.tar.gz.

File metadata

  • Download URL: jsonschema-to-openapi-0.2.1.tar.gz
  • Upload date:
  • Size: 7.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.2 CPython/3.6.9 Linux/5.3.0-45-generic

File hashes

Hashes for jsonschema-to-openapi-0.2.1.tar.gz
Algorithm Hash digest
SHA256 6bccbe72c8d4c0d76ff006309895afbb9b87bf67b7663fba4b5ab055f5253de5
MD5 5106c33834a56d0c4938ee79387e61c6
BLAKE2b-256 434c9808f3fbfa24b9d0337afb8f388db3b53de10ed593b89c460e76f3c86aa4

See more details on using hashes here.

File details

Details for the file jsonschema_to_openapi-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for jsonschema_to_openapi-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5cac1b26f5625f33add3dfba113d950ec22b34381b060561f8412bf4f6a409c6
MD5 388b3d38c3cec76dad941bda92411bec
BLAKE2b-256 e4cb1a7e6efa903b3fcdd41222579927b49209473bb22175b8432563cf6aedf6

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