Metadata-Version: 2.1
Name: directory-schema
Version: 0.0.2
Summary: Use JSON Schema to validate directory structures
Home-page: https://github.com/hubmapconsortium/directory-schema
Author: C McCallum
Author-email: mccallucc@gmail.com
License: MIT license
Keywords: directory_schema
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: jsonschema
Requires-Dist: pyyaml

# directory_schema

[![PyPI](https://img.shields.io/pypi/v/directory_schema.svg)](https://pypi.org/project/directory-schema/)

Use JSON Schema to validate directory structures:
The specified directory is translated into a JSON structure like the output from `tree -J`,
and is validated against a JSON Schema, provided as a dict inside Python,
or as a JSON or YAML file through the CLI.

Sample schemas and directories are in the [test fixtures](tests/fixtures).

Instructions for contributors are [here](CONTRIBUTING.md).

## CLI

```
$ directory_schema -h
usage: directory_schema [-h] DIRECTORY SCHEMA

positional arguments:
  DIRECTORY   Directory to validate
  SCHEMA      Schema (JSON or YAML) to validate against

optional arguments:
  -h, --help  show this help message and exit
```

## Python

```
>>> from directory_schema import directory_schema
>>> directory_schema.validate_dir(
...   'tests/fixtures/just-a-placeholder',
...   {'items':
...     {'properties':
...       {'name':
...         {'pattern': 'not-placeholder'}}}}
... )
Traceback (most recent call last):
  ...
    raise DirectoryValidationErrors(errors)
directory_schema.directory_schema.DirectoryValidationErrors: This string:
    placeholder

fails this "pattern" check:

    not-placeholder
    ...
```

## Thank you
This package was created with Cookiecutter and the `cs01/cookiecutter-pypackage` project template.
- [Cookiecutter](https://github.com/audreyr/cookiecutter)
- [cs01/cookiecutter-pypackage](https://github.com/cs01/cookiecutter-pypackage)


