Export a JSON Schema document to Markdown documentation.
Project description
jsonschema-markdown
Generate markdown documentation from JSON Schema files. The main goal is to generate documentation that is easy to read and understand.
Can be used as a command line tool or as a library.
Installation
pip3 install jsonschema-markdown
Usage
To use jsonschema-markdown
as a CLI, just pass the filename as an argument and redirect
the output to a file.
$ jsonschema-markdown --help
Usage: jsonschema-markdown [OPTIONS] FILENAME
Load a file and output the markdown.
Options:
--footer / --no-footer Add a footer with the time the markdown was
generated and a link to the project. [default:
footer]
--resolve / --no-resolve [Experimental] Resolve $ref pointers. [default:
no-resolve]
--debug / --no-debug Enable debug output. [default: no-debug]
--version Show the version and exit.
--help Show this message and exit.
# Example
$ jsonschema-markdown schema.json > schema.md
Usage as a library
To use it as a library, load your JSON schema file as Python dict
and pass it to generate.
The function will return a string with the markdown.
import jsonschema_markdown
with open('schema.json') as f:
schema = json.load(f)
markdown = jsonschema_markdown.generate(schema)
Features
Partially inspired by json-schema-for-humans, this project does not currently support all features of JSON Schema, but it should support:
- Required fields
- String patterns
- Enumerations
- Default values
- Descriptions and titles
- Nested objects
- Basic OneOf, AnyOf, AllOf functionality
- Arrays
- Integers with minimum, maximum values and exclusives
- Boolean values
- Deprecation notices (searches for case-insensitive
deprecated
in the field description)
Caveats
- This project is still in early development, and the output may change in the future.
- Custom definitions are expected to be in the same file as the schema that uses them,
in the
definitions
or$defs
parameter at the root of the document.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file jsonschema_markdown-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: jsonschema_markdown-0.2.0-py3-none-any.whl
- Upload date:
- Size: 8.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.6.1 CPython/3.11.6 Linux/6.2.0-1014-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fcaa8fee32ceaa0730fd8511321835bab31e3a00d04f0c88dcef9e1ac0452379 |
|
MD5 | 2063f30794f17bfc4f894110d7337422 |
|
BLAKE2b-256 | e47cb5a752af58904fc1d705959e020323fc2bbfbe53e0dab7a3fec975216e32 |