Metadata-Version: 2.0
Name: skinfer
Version: 0.2.0
Summary: Simple tool to merge JSON schemas
Home-page: https://github.com/scrapinghub/skinfer
Author: Scrapinghub
Author-email: info@scrapinghub.com
License: BSD
Keywords: skinfer json-schema json schema inferer merger
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Requires-Dist: json-schema-generator (>=0.3)
Requires-Dist: jsonschema (>=0.8.0)

============================================
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




History
-------


0.2.0 (2015-08-10)
------------------

* Renamed entry-point script schema_inferer -> skinfer
* Added json_validator
* Dropped Python 2.6 support
* Added more tests


0.1.2 (2015-08-04)
------------------

* Bugfix: removed buggy -o argument
* Automated PyPI release via Travis


0.1.1 (2015-05-01)
------------------

* Support more complex string-type schemas
* Attempt to infer JSON lines format instead of just failing
* API cleanup: no need for long imports anymore
* Updated documentation, added docstrings
* Fixed merging schema for arrays with tuple vs list validation
* Fixed compatibility issues with Python 2.6
* Improved test coverage, added end-to-end tests


0.1.0 (2015-03-03)
---------------------

* First release on PyPI.


