https://github.com/cedadev/compliance-check-maker
Tool to write project-specific plugins and data specifications for the IOOS compliance checker
https://github.com/cedadev/compliance-check-maker
Last synced: 4 months ago
JSON representation
Tool to write project-specific plugins and data specifications for the IOOS compliance checker
- Host: GitHub
- URL: https://github.com/cedadev/compliance-check-maker
- Owner: cedadev
- License: bsd-2-clause
- Created: 2017-07-12T08:54:49.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2018-06-22T13:22:00.000Z (almost 8 years ago)
- Last Synced: 2025-07-26T23:35:51.519Z (11 months ago)
- Language: HTML
- Size: 73.2 KB
- Stars: 1
- Watchers: 8
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Compliance Check Maker - a tool to write project-specific plugins and data specifications for the IOOS compliance checker
## Overview
Most data projects require that the products comply with some pre-agreed specification.
There is a need to:
- provide a specification document to data providers
- provide a compliance checking tool to validate products against the specification
This code-base scans in a set of "checks" in tab-separated variable (TSV) files and
then automatically writes:
- an HTML specification document
- the python stubs for modules that can be implemented as plugins within the
[IOOS compliance checker](https://github.com/ioos/compliance-checker)
## Using the tool for your own project
To get this tool working with a new project, you need to do the following:
1. Copy the `project/example_proj` directory to a `project/`.
2. Edit the `project//PROJECT_METADATA.json` file to reflect information
about your project.
3. Edit the `project//CATEGORIES.json` file to reflect information about
the categories of "checks" that you want to build.
4. For each category of checks: write a `project//.txt` file
based on the structure of the `project//example-category.txt` format.
### The format of the TSV files
Each TSV file must follow the structure of the `project//global-attrs.txt`
file. This means that the header line should contain the following columns:
- check_id: the short ID for each check
- check_name: the name of the python class that runs the actual check
- check_level: HIGH, MEDIUM or LOW (which equate to MUST, SHOULD, INFO) [OPTIONAL]
- vocabulary_ref: an identifier for the controlled vocabulary to be looked up [OPTIONAL]
- modifiers: specified key/value parameters to send into the check [OPTIONAL]
- comments: notes to explain the purpose of context of the check [OPTIONAL]