Metadata-Version: 2.1
Name: json-merger
Version: 0.7.9
Summary: Python module that is able to merge json record objects.
Home-page: https://github.com/inveniosoftware-contrib/json-merger
Author: CERN
Author-email: admin@inspirehep.net
License: GPLv2
Keywords: JSON patch merge conflict
Platform: any
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License v2 (GPLv2)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Development Status :: 4 - Beta
Requires-Dist: dictdiffer (>=0.6.0)
Requires-Dist: six (>=1.10.0)
Requires-Dist: autosemver (==0.5.5)
Requires-Dist: pyrsistent (>=0.11.13)
Provides-Extra: all
Requires-Dist: editdistance (>=0.3.1) ; extra == 'all'
Requires-Dist: munkres (<=1.0.12) ; extra == 'all'
Requires-Dist: Unidecode (>=0.4.19) ; extra == 'all'
Requires-Dist: Sphinx (>=1.4.2) ; extra == 'all'
Requires-Dist: check-manifest (>=0.25) ; extra == 'all'
Requires-Dist: coverage (>=4.0) ; extra == 'all'
Requires-Dist: isort (>=4.2.2) ; extra == 'all'
Requires-Dist: pydocstyle (>=1.0.0) ; extra == 'all'
Requires-Dist: pytest-cache (>=1.0) ; extra == 'all'
Requires-Dist: pytest-cov (>=1.8.0) ; extra == 'all'
Requires-Dist: pytest (>=4.6.11) ; extra == 'all'
Requires-Dist: flake8 (>=3.9.0) ; extra == 'all'
Provides-Extra: contrib
Requires-Dist: editdistance (>=0.3.1) ; extra == 'contrib'
Requires-Dist: munkres (<=1.0.12) ; extra == 'contrib'
Requires-Dist: Unidecode (>=0.4.19) ; extra == 'contrib'
Provides-Extra: docs
Requires-Dist: Sphinx (>=1.4.2) ; extra == 'docs'
Provides-Extra: tests
Requires-Dist: check-manifest (>=0.25) ; extra == 'tests'
Requires-Dist: coverage (>=4.0) ; extra == 'tests'
Requires-Dist: isort (>=4.2.2) ; extra == 'tests'
Requires-Dist: pydocstyle (>=1.0.0) ; extra == 'tests'
Requires-Dist: pytest-cache (>=1.0) ; extra == 'tests'
Requires-Dist: pytest-cov (>=1.8.0) ; extra == 'tests'
Requires-Dist: pytest (>=4.6.11) ; extra == 'tests'
Requires-Dist: flake8 (>=3.9.0) ; extra == 'tests'
Requires-Dist: editdistance (>=0.3.1) ; extra == 'tests'
Requires-Dist: munkres (<=1.0.12) ; extra == 'tests'
Requires-Dist: Unidecode (>=0.4.19) ; extra == 'tests'

..
    This file is part of Inspirehep.
    Copyright (C) 2016 CERN.

    Inspirehep is free software; you can redistribute it
    and/or modify it under the terms of the GNU General Public License as
    published by the Free Software Foundation; either version 2 of the
    License, or (at your option) any later version.

    Inspirehep is distributed in the hope that it will be
    useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with Inspirehep; if not, write to the
    Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
    MA 02111-1307, USA.

    In applying this license, CERN does not
    waive the privileges and immunities granted to it by virtue of its status
    as an Intergovernmental Organization or submit itself to any jurisdiction.

=============
 json-merger
=============

.. image:: https://img.shields.io/travis/inspirehep/json-merger.svg
        :target: https://travis-ci.org/inspirehep/json-merger

.. image:: https://img.shields.io/coveralls/inspirehep/json-merger.svg
        :target: https://coveralls.io/r/inspirehep/json-merger

.. image:: https://img.shields.io/github/tag/inspirehep/json-merger.svg
        :target: https://github.com/inspirehep/json-merger/releases

.. image:: https://img.shields.io/pypi/dm/json-merger.svg
        :target: https://pypi.python.org/pypi/json-merger

.. image:: https://img.shields.io/github/license/inspirehep/json-merger.svg
        :target: https://github.com/inspirehep/json-merger/blob/master/LICENSE


Module for merging JSON Objects.

* Free software: GPLv2 license
* Documentation: https://pythonhosted.org/json-merger/

* For the simple use-case: ``pip install json-merger``
* To install contrib dependencies: ``pip install json-merger[contrib]``


..
    This file is part of Inspirehep.
    Copyright (C) 2016, 2017, 2018 CERN.

    Inspirehep is free software; you can redistribute it
    and/or modify it under the terms of the GNU General Public License as
    published by the Free Software Foundation; either version 2 of the
    License, or (at your option) any later version.

    Inspirehep is distributed in the hope that it will be
    useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with Inspirehep; if not, write to the
    Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
    MA 02111-1307, USA.

    In applying this license, CERN does not
    waive the privileges and immunities granted to it by virtue of its status
    as an Intergovernmental Organization or submit itself to any jurisdiction.


Changes
=======

Version 0.7.5
--------------
- In dict_merger head is always kept if root matches update.
- In dict_merger update is always kept if root matches head.

Version 0.7.4
--------------
- ``KEEP_UPDATE_CONFLICT_ON_HEAD_DELETE`` doesn't take the root into account any longer.

Version 0.7.3
--------------

- Add new typoe of conflict `INSERT`.
- `KEEP_HEAD_ENTITIES_CONFLICT_ON_NEW_UPDATE` will create INSERT conflict instead of REMOVE one.

Version 0.7.2
--------------

- Add new strategy `KEEP_HEAD_ENTITIES_CONFLICT_ON_NEW_UPDATE` which will create conflict when there is a new value in update.

Version 0.7.1
--------------

- Fix bug when DictMergeOps.keep_longest is used inside lists.

Version 0.7.0
--------------

- Add a new strategy for conflicts on head delete (contrib).

Version 0.6.1
--------------

- Smarter handling of conflicts in case of authors with the same name (contrib).

Version 0.6.0
--------------

- Correctly handle unicode in author names (contrib).

Version 0.5.2:
--------------

- Fix duplicate patches.

Version 0.5.1:
--------------

- Fix ``patch_to_conflict_set`` for list patches.

Version 0.5.0:
--------------

- Conflict method ``to_json`` it returns a list of patches conflicts of a single one.

Version 0.4.0:
--------------

- It's now possible to have field- and content- dependent merger operations.

Version 0.3.2:
--------------

- Initial public release.


