Technology moves fast! ⚡ Don't get left behind.🚶 Subscribe to our mailing list to keep up with latest and greatest in open source projects! 🏆


Subscribe to our mailing list

skinfer

Skinfer is a tool for inferring and merging JSON schemas

Subscribe to updates I use skinfer


Statistics on skinfer

Number of watchers on Github 68
Number of open issues 7
Average time to close an issue 2 days
Main language Python
Average time to merge a PR about 21 hours
Open pull requests 3+
Closed pull requests 0+
Last commit about 3 years ago
Repo Created over 4 years ago
Repo Last Updated over 1 year ago
Size 91 KB
Organization / Authorscrapinghub
Latest Release0.2.0
Contributors2
Page Updated
Do you use skinfer? Leave a review!
View open issues (7)
View skinfer activity
View on github
Fresh, new opensource launches 🚀🚀🚀
Trendy new open source projects in your inbox! View examples

Subscribe to our mailing list

Evaluating skinfer for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)

============================================

Skinfer - tool for working with JSON schemas

.. image:: https://badge.fury.io/py/skinfer.png :target: http://badge.fury.io/py/skinfer

.. image:: https://travis-ci.org/scrapinghub/skinfer.png?branch=master :target: https://travis-ci.org/scrapinghub/skinfer

.. image:: https://pypip.in/d/skinfer/badge.png :target: https://pypi.python.org/pypi/skinfer

Simple tool to infer and/or merge JSON schemas

  • Free software: BSD license
  • Documentation: https://skinfer.readthedocs.org.

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
skinfer open issues Ask a question     (View All Issues)
  • about 3 years Support standard input
  • over 3 years Old json_schema_generator on PyPI doesn't work with Python 3
  • over 3 years skinfer needs work for recursive JSON. See mentioned repository and data zip in the repository
  • over 3 years json-schema-generator requires jsonschema==0.8.0
  • almost 4 years For objects inside a list, all seen fields are seen as required
skinfer open pull requests (View All Pulls)
  • update description
  • [WIP] Replacing schema generator by new code and PY3 port
  • sampled_max_length per field added
skinfer list of languages used
skinfer latest release notes
0.2.0 0.2.0
  • Renamed entry-point script schema_inferer -> skinfer
  • Added json_validator
  • Dropped Python 2.6 support
  • Added more tests
0.1.2 0.1.2
  • Bugfix: removed buggy -o argument
  • Automated PyPI release via Travis
0.1.0 0.1.0

First Public Release

Other projects in Python