Convert JSON Schema to human-readable Markdown documentation
Project description
jsonschema2md
Convert JSON Schemas to simple, human-readable Markdown documentation.
For example:
{
"$id": "https://example.com/person.schema.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Person",
"description": "JSON Schema for a person object.",
"type": "object",
"properties": {
"firstName": {
"type": "string",
"description": "The person's first name."
},
"lastName": {
"type": "string",
"description": "The person's last name."
}
}
}
will be converted to:
Person
JSON Schema for a person object.
Properties
firstName
(string): The person's first name.lastName
(string): The person's last name.
See the examples directory for more elaborate examples.
Installation
Install with pip
pip install jsonschema2md
Usage
From the CLI
jsonschema2md [OPTIONS] <input.json> <output.md>
From Python
import json
import jsonschema2md
parser = jsonschema2md.Parser(
examples_as_yaml=False,
show_examples="all",
)
with open("./examples/food.json", "r") as json_file:
md_lines = parser.parse_schema(json.load(json_file))
print(''.join(md_lines))
Options
examples_as_yaml
: Parse examples in YAML-format instead of JSON. (bool
, default:False
)show_examples
: Parse examples for only the main object, only properties, or all. (str
, defaultall
, options:object
,properties
,all
)
Contributing
Bugs, questions or suggestions? Feel free to post an issue in the issue tracker or to make a pull request! See Contributing.md for more info.
Changelog
See Changelog.md.
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
jsonschema2md2-0.6.0.tar.gz
(9.6 kB
view hashes)
Built Distribution
Close
Hashes for jsonschema2md2-0.6.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d71fe2c8418a93821597bfe151636e25eccedc41afa29e9ca875951f4966e451 |
|
MD5 | 342dc40fc377f1c2896c6b7ed5b88392 |
|
BLAKE2b-256 | 636e8d51b2cee5c53077b3d9ff84915f0e3be3de9d6a0ae1a1cb9343179df147 |