diff options
author | rekby <rekby@ydb.tech> | 2024-08-16 13:53:46 +0300 |
---|---|---|
committer | rekby <rekby@ydb.tech> | 2024-08-16 14:02:56 +0300 |
commit | f23ace9b7c0c2e8578421e3e640e3d1cc0fe381b (patch) | |
tree | b8e99314de0a9340e442e5fa1a5289cf1a6a8704 /contrib/python/deepmerge/py2/.dist-info/METADATA | |
parent | a63920bcb9be4fb351b4e4e85c7cadc6b331ba18 (diff) | |
download | ydb-f23ace9b7c0c2e8578421e3e640e3d1cc0fe381b.tar.gz |
Export python deepmerge library instead of mergedeep to github.com/ydb-platform/ydb for support python2
98bbe613ba94337077da6f6bb9b519768fdef800
Diffstat (limited to 'contrib/python/deepmerge/py2/.dist-info/METADATA')
-rw-r--r-- | contrib/python/deepmerge/py2/.dist-info/METADATA | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/contrib/python/deepmerge/py2/.dist-info/METADATA b/contrib/python/deepmerge/py2/.dist-info/METADATA new file mode 100644 index 0000000000..dd6807cf68 --- /dev/null +++ b/contrib/python/deepmerge/py2/.dist-info/METADATA @@ -0,0 +1,80 @@ +Metadata-Version: 2.1 +Name: deepmerge +Version: 1.1.0 +Summary: a toolset to deeply merge python dictionaries. +Home-page: http://deepmerge.readthedocs.io/en/latest/ +Classifier: Development Status :: 5 - Production/Stable +Classifier: License :: OSI Approved :: MIT License +Classifier: Programming Language :: Python :: 3 +License-File: LICENSE + +========= +deepmerge +========= + +.. image:: https://github.com/toumorokoshi/deepmerge/actions/workflows/python-package.yaml/badge.svg + :target: https://github.com/toumorokoshi/deepmerge/actions/workflows/python-package.yaml + +A tools to handle merging of +nested data structures in python. + +------------ +Installation +------------ + +deepmerge is available on `pypi <https://pypi.python.org/>`_: + +.. code-block:: bash + + pip install deepmerge + +------- +Example +------- + +**Generic Strategy** + +.. code-block:: python + + from deepmerge import always_merger + + base = {"foo": ["bar"]} + next = {"foo": ["baz"]} + + expected_result = {'foo': ['bar', 'baz']} + result = always_merger.merge(base, next) + + assert expected_result == result + + +**Custom Strategy** + +.. code-block:: python + + from deepmerge import Merger + + my_merger = Merger( + # pass in a list of tuple, with the + # strategies you are looking to apply + # to each type. + [ + (list, ["append"]), + (dict, ["merge"]), + (set, ["union"]) + ], + # next, choose the fallback strategies, + # applied to all other types: + ["override"], + # finally, choose the strategies in + # the case where the types conflict: + ["override"] + ) + base = {"foo": ["bar"]} + next = {"bar": "baz"} + my_merger.merge(base, next) + assert base == {"foo": ["bar"], "bar": "baz"} + + +You can also pass in your own merge functions, instead of a string. + +For more information, see the `docs <https://deepmerge.readthedocs.io/en/latest/>`_ |