Skinfer is a tool for inferring and merging JSON schemas
Python Makefile
Latest commit 7db5bc8 Jun 9, 2016 @redapple redapple Merge pull request #12 from scrapinghub/travis_update
RM[63877] updating PyPI username and deploy key on Travis config

README.rst

Skinfer - tool for working with JSON schemas

https://badge.fury.io/py/skinfer.png https://travis-ci.org/scrapinghub/skinfer.png?branch=master https://pypip.in/d/skinfer/badge.png

Simple tool to infer and/or merge JSON schemas

Features

  • Generating schema in JSON Schema draft 4 format
  • Inferring schema from multiple samples
  • Merging schemas - nice for generating schema in Map-Reduce fashion or updating an old schema with new data

Example of using skinfer to generate a schema from a list of samples:

$ cat samples.jsonl
{"name": "Claudio", "age": 29}
{"name": "Roberto", "surname": "Gomez", "age": 72}
$ skinfer --jsonlines samples.jsonl
{
    "$schema": "http://json-schema.org/draft-04/schema",
    "required": [
        "age",
        "name"
    ],
    "type": "object",
    "properties": {
        "age": {
            "type": "number"
        },
        "surname": {
            "type": "string"
        },
        "name": {
            "type": "string"
        }
    }
}

Install with:

$ pip install skinfer

Or, if you don't have pip, you can still install it with:

$ easy_install skinfer