Documentation engine for YAML.
Project description
Documentation Engine for YAML
This package converts a YAML file into markdown, formatting values and associated metadata in a doxygen-like way. To get started, check out the documentation and tutorials.
Installation
pip install yamldoc
This will install the python package, which contains a command line interface yamldoc. To see usage instructions, invoke the --help flag:
yamldoc -h
Philosophy
Many programs and utilities use YAML (YAML Ain't Markup Language) as a human and machine readable interface to configuration parameters and other values. More broadly, many kinds of data can be stored in YAML with minimal effort from the user. However, often a configuration file accumulates a highly specific set of configurations marked up with vague, difficult to interpret comments. It is the goal of this package to provide an easy interface for developers to document data in their YAML files as well as the expected types from a JSON YAML schema validator. Doing so will allow a transparent interface between the developer's expectations and the user's configurations.
Specific Application to Snakemake
This package was designed specifically to document the possible configuration options of a Snakemake pipeline. In this application, the developer of the pipeline encodes many different specific options that the user may configure at run time, but these are often poorly documented. When they are, it is easy for the documentation to fall out of sync with the actual options in the configuration file. yamldoc automatically documents all configuration paramters as well as taking types from a schema file. The package will also read any comments that are present above each paramter and insert them into a parameter table for easy reference.
For more details on using YAML to configure Snakemake pipelines, see here.
Example Files
For a minimal example of yamldoc, see the files in /test/yaml and /test/schema.
Usage
For a basic report, point the command line interface to a YAML file.
yamldoc test/yaml/basic.yaml
You can also include type information from a schema file.
yamldoc test/yaml/basic.yaml -s test/schema/basic.schema
Other Options
yamldoc defaults to using #' as a special marker, but you can choose this character yourself if you wish. Just set it on the command line at parse-time:
yamldoc test/yaml/basic.yaml -c "YOURCHAR"
yamldoc also includes support for certain special declarations in the schema file. Right now these include:
_yamldoc_title: This specifies the overall title of the markdown page generated._yamldoc_description: A description to follow the title.
These are picked out of the schema file and reported.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file yamldoc-0.1.5.tar.gz.
File metadata
- Download URL: yamldoc-0.1.5.tar.gz
- Upload date:
- Size: 9.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.26.0 requests-toolbelt/0.9.1 urllib3/1.26.7 tqdm/4.62.3 importlib-metadata/4.8.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.7.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a1efcaf72e182bbccf4ed29c4b188950f30a595fee96feccf19ed14dbc25febe
|
|
| MD5 |
5dae15f117be59bf27b94a1b13976b6f
|
|
| BLAKE2b-256 |
9cba6117caed439e487c29c03d4626f2956a44f6b767da567ee790166b92e043
|
File details
Details for the file yamldoc-0.1.5-py3-none-any.whl.
File metadata
- Download URL: yamldoc-0.1.5-py3-none-any.whl
- Upload date:
- Size: 9.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.26.0 requests-toolbelt/0.9.1 urllib3/1.26.7 tqdm/4.62.3 importlib-metadata/4.8.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.7.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
df1e5449090c6aafa18ae14e9e5e83d56c33913b8157990730d243acdf30455d
|
|
| MD5 |
9562ef10e1b004afcec2ea29b1827b62
|
|
| BLAKE2b-256 |
392b871e588b1880f2bdd32b1c293f6bb56ad525eefc8d0ddad041f53226e8ad
|