Skip to content

A simple package that convert dictionary or a list into json-schema using the OpenAPI standards.

License

Notifications You must be signed in to change notification settings

zilehuda/to-json-schema

Folders and files

NameName
Last commit message
Last commit date

Latest commit

8ab090f · Mar 7, 2023

History

2 Commits
Mar 6, 2023
Mar 6, 2023
Mar 6, 2023
Mar 6, 2023
Mar 6, 2023
Mar 6, 2023
Mar 6, 2023
Mar 6, 2023
Mar 6, 2023
Mar 6, 2023
Mar 7, 2023
Mar 6, 2023
Mar 6, 2023
Mar 6, 2023
Mar 6, 2023

Repository files navigation

to-json-schema

A simple package that convert dictionary or a list into json-schema using the OpenAPI standards.

Installation

to-json-schema can be installed via pip:

$ pip install to-json-schema

Quickstart

You can now convert your python dict into json-schema:

from to_json_schema.to_json_schema import SchemaBuilder

 data = {
     "country": "Pakistan",
     "city": "Karachi",
     "population": 16051521,
     "is_capital": False,
     "key_qualities": ["food", "multi-cultural"],
 }

 schema_builder = SchemaBuilder()
 json_schema = schema_builder.to_json_schema(data)

 >>> {'type': 'object', 'properties': {'country': {'type': 'string'}, 'city': {'type': 'string'}, 'population': {'type': 'integer'}, 'is_capital': {'type': 'boolean'}, 'key_qualities': {'type': 'array', 'items': {'type': 'string'}}}}

You can also convert list of dict, string, integer into-json schema

from to_json_schema.to_json_schema import SchemaBuilder

data = [{"foo": 12, "bar": 14}, {"moo": 52, "car": 641}, {"doo": 6, "tar": 84}]

schema_builder = SchemaBuilder()
json_schema = schema_builder.to_json_schema(data)

>>> {'type': 'array', 'items': {'type': 'object', 'properties': {'foo': {'type': 'integer'}, 'bar': {'type': 'integer'}, 'moo': {'type': 'integer'}, 'car': {'type': 'integer'}, 'doo': {'type': 'integer'}, 'tar': {'type': 'integer'}}}}

About

A simple package that convert dictionary or a list into json-schema using the OpenAPI standards.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages