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.1.0.tar.gz (6.6 kB view hashes)

Uploaded Source

Built Distribution

jsonschema_to_openapi-0.1.0-py3-none-any.whl (8.2 kB view hashes)

Uploaded Python 3

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