Skip to main content

A schema language for JSON documents that allows validation and compilation into various database engines

Project description

https://secure.travis-ci.org/zmap/zschema.svg?branch=master

ZSchema

ZSchema is a generic (meta-)schema language for defining database schemas that facilitates (1) validating JSON documents against a schema definition and (2) compilation into multiple database engines. For example, if you wanted to maintain a single database schema for both MongoDB and ElasticSearch. Properties can also be documented inline and documentation compiled to HTML or a console-friendly text document.

Currently, a schema is defined natively in Python. Example:

Record({
    "name":String(required=True),
    "addresses":ListOf(SubRecord({
        "street":String(),
        "zipcode":String()
    }),
    "area_code":Integer()
})

Command Line Interface

zschema [command] [schema] [file]

Commands:

  • elasticsearch (compile to Elastic Search)

  • bigquery (compile to Google BigQuery)

  • json (compile documentation to JSON)

  • text (compile documentation to plain text)

  • html (compile documentation to HTML)

  • validate (validate JSON file (one document per line) against schema)

The schema file can be defined on the command line as module:var.

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

zschema-0.6.0.tar.gz (9.1 kB view hashes)

Uploaded Source

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