Skip to main content

Use JSON Schema to validate directory structures

Project description

directory_schema

PyPI

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.

Instructions for contributors are here.

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.

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

directory_schema-0.0.2.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

directory_schema-0.0.2-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file directory_schema-0.0.2.tar.gz.

File metadata

  • Download URL: directory_schema-0.0.2.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.1

File hashes

Hashes for directory_schema-0.0.2.tar.gz
Algorithm Hash digest
SHA256 31119017582ac9f8122ad0ee41fc392cef73a6a1a9c6dedea83f27d90b33f1b5
MD5 3840f53491417d36217c631bb0b093c7
BLAKE2b-256 ff9d37f7f623fa813dc7409bda6f2d4a07e44c71063916c27cf778cc44db045c

See more details on using hashes here.

File details

Details for the file directory_schema-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: directory_schema-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 6.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.1

File hashes

Hashes for directory_schema-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3e6b6a26a0c820740f1996cab70dc578b413c7c223eceb13a987a913a2956aa1
MD5 c23f794eb6f99bd53d78740fcffaebf6
BLAKE2b-256 7c96ca69e89cd52b10befadd8433fd56dd8863c055655045a76cbfd6da74bc89

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page