{ "info": { "author": "Yusuke Tsutsumi", "author_email": "yusuke@tsutsumi.io", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: MIT License", "Operating System :: MacOS", "Operating System :: POSIX :: Linux", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Topic :: System :: Software Distribution" ], "description": "=========\ndeepmerge\n=========\n\n.. image:: https://travis-ci.org/toumorokoshi/deepmerge.svg?branch=masterhttps://travis-ci.org/toumorokoshi/deepmerge.svg?branch=master\n :target: https://travis-ci.org/toumorokoshi/deepmerge\n\nA tools to handle merging of\nnested data structures in python.\n\n------------\nInstallation\n------------\n\ndeepmerge is available on `pypi `_:\n\n.. code-block:: bash\n\n pip install deepmerge\n\n-------\nExample\n-------\n\n**Generic Strategy**\n\n.. code-block:: python\n\n from deepmerge import always_merger\n\n base = {\"foo\": [\"bar\"]}\n next = {\"foo\": [\"baz\"]}\n\n expected_result = {'foo': ['bar', 'baz']}\n result = always_merger.merge(base, next)\n\n assert expected_result == result\n\n\n**Custom Strategy**\n\n.. code-block:: python\n\n from deepmerge import Merger\n\n my_merger = Merger(\n # pass in a list of tuple, with the\n # strategies you are looking to apply\n # to each type.\n [\n (list, [\"append\"]),\n (dict, [\"merge\"])\n ],\n # next, choose the fallback strategies,\n # applied to all other types:\n [\"override\"],\n # finally, choose the strategies in\n # the case where the types conflict:\n [\"override\"]\n )\n base = {\"foo\": [\"bar\"]}\n next = {\"bar\": \"baz\"}\n my_merger.merge(base, next)\n assert base == {\"foo\": [\"bar\"], \"bar\": \"baz\"}\n\n\nYou can also pass in your own merge functions, instead of a string.\n\nFor more information, see the `docs `_\n\n-----\nTests\n-----\n\n.. code-block:: shell\n\n $ ./uranium test # runs pytest under the hood\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://deepmerge.readthedocs.io/en/latest/", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "deepmerge", "package_url": "https://pypi.org/project/deepmerge/", "platform": "", "project_url": "https://pypi.org/project/deepmerge/", "project_urls": { "Homepage": "http://deepmerge.readthedocs.io/en/latest/" }, "release_url": "https://pypi.org/project/deepmerge/0.1.0/", "requires_dist": null, "requires_python": "", "summary": "a toolset to deeply merge python dictionaries.", "version": "0.1.0" }, "last_serial": 5783476, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "5043d6a04063591536e7430ade0a9e27", "sha256": "0714dd0d3a81b354729e60643f713fef83ad25a4326b42c343bfd58e1b0ae3e7" }, "downloads": -1, "filename": "deepmerge-0.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5043d6a04063591536e7430ade0a9e27", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 8097, "upload_time": "2016-11-20T19:41:01", "url": "https://files.pythonhosted.org/packages/c0/b0/ad05e108076ab643864f35ddf014964ee24fbad54589c1f895b26d3e4a77/deepmerge-0.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cfe50f892ea84fa2909c687575a801e3", "sha256": "fcd7cc83eba5f6b4d14bfc889d6a49615ae57509d7ff7ade99afde0ec1670a02" }, "downloads": -1, "filename": "deepmerge-0.0.1.tar.gz", "has_sig": false, "md5_digest": "cfe50f892ea84fa2909c687575a801e3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3618, "upload_time": "2016-11-20T19:40:58", "url": "https://files.pythonhosted.org/packages/4c/e3/4425a1a7a6db4c25590c2d2c546a457ff2ef6e669d633d7fb827d40965db/deepmerge-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "70ba34ccbe65d9dddf340f97818f5f7b", "sha256": "67c863fbf0974f7f1e51c1aa41bdb522264e44bd30fb5ac71d3a68dfa1ce0c2b" }, "downloads": -1, "filename": "deepmerge-0.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "70ba34ccbe65d9dddf340f97818f5f7b", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 8135, "upload_time": "2016-11-21T03:11:47", "url": "https://files.pythonhosted.org/packages/61/94/6ef6dacf633e6b52c70b9f64730f5366ecb68d7166de27b501cb574f9f4f/deepmerge-0.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9021c8dfe72763588a7035c1fd85d850", "sha256": "4bb7b1261df6a13527218d7318a74d8bca962fc61001900c91ce01b8b41a9a1b" }, "downloads": -1, "filename": "deepmerge-0.0.2.tar.gz", "has_sig": false, "md5_digest": "9021c8dfe72763588a7035c1fd85d850", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3784, "upload_time": "2016-11-21T03:11:44", "url": "https://files.pythonhosted.org/packages/3d/01/97b3db70b639989079209891d99b4e84573d7d707277bc0942af8bcae0e7/deepmerge-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "87828535dbc719860315d64c807dec5a", "sha256": "45385fe1cd4c4d30fbb90e1e9de9ad59287fe74c7914c20c3de4be8f8b7e4f3a" }, "downloads": -1, "filename": "deepmerge-0.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "87828535dbc719860315d64c807dec5a", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 8984, "upload_time": "2016-12-01T03:59:16", "url": "https://files.pythonhosted.org/packages/c3/70/6bb7ac3528eda6e8002f0a2bddbf038e307b0ab0877d6f1f9ed23cefe076/deepmerge-0.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d4146da42c32b068492f7afbe19027b0", "sha256": "53db04ce38edaa6af0395feb5ff4854c5280b9b8d0c94519181808826da49c73" }, "downloads": -1, "filename": "deepmerge-0.0.3.tar.gz", "has_sig": false, "md5_digest": "d4146da42c32b068492f7afbe19027b0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4204, "upload_time": "2016-12-01T03:59:13", "url": "https://files.pythonhosted.org/packages/47/a0/a4c957cfa23b7332083823167c21cdf179b51953ea1d2c56d7109c77a55f/deepmerge-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "3d7724608dfa2738f8289c684162426b", "sha256": "9d130b2a6ebdc565f3f07339a8a1bc6e2ff094e5bb0821b40b4755287190d32c" }, "downloads": -1, "filename": "deepmerge-0.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3d7724608dfa2738f8289c684162426b", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 9046, "upload_time": "2017-04-24T05:35:33", "url": "https://files.pythonhosted.org/packages/ce/5e/a55b8b199172f234e6c9984de596fd8e3bda056d50b4207f2fb48ceeb07e/deepmerge-0.0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "82702a431e45ea9ce727edea4033ba97", "sha256": "c7023d26328a192d6c140fe8ffa7de3ea365434dc28745fa535f030a559d58d5" }, "downloads": -1, "filename": "deepmerge-0.0.4.tar.gz", "has_sig": false, "md5_digest": "82702a431e45ea9ce727edea4033ba97", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4507, "upload_time": "2017-04-24T05:35:32", "url": "https://files.pythonhosted.org/packages/57/17/6e03ca57487261d938041a3c34549e3ff59e5b1606947e537183bbdd11d4/deepmerge-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "4ead71be8bbf9458149aa8c328ba9b01", "sha256": "cac54cae5e0afabfbad36cfc5cfa12224d319778b1f627b7d446fb9662a01b12" }, "downloads": -1, "filename": "deepmerge-0.0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4ead71be8bbf9458149aa8c328ba9b01", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8804, "upload_time": "2019-02-16T22:15:13", "url": "https://files.pythonhosted.org/packages/ec/0a/7e82f75ac34767eba48be998a6db5d2b0ed1fae7a8079175e8158312ad72/deepmerge-0.0.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f7baf40d2229b02fd6957a53e7a843e2", "sha256": "d8c5c309340a51e0d7a84adb020d459dc79794d789ea03a56e954ac115089fa5" }, "downloads": -1, "filename": "deepmerge-0.0.5.tar.gz", "has_sig": false, "md5_digest": "f7baf40d2229b02fd6957a53e7a843e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4965, "upload_time": "2019-02-16T22:15:15", "url": "https://files.pythonhosted.org/packages/a9/14/7bd117a34ed4199664ad28367814ebac54012c5f6176ed333667d7d469b6/deepmerge-0.0.5.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "6cd924a37f8eb170ffcd03720e91c373", "sha256": "ae23dd76d3c0d22d33a3fd3980c92d3f0773e4affb48d9b341847d0b0a24e8f8" }, "downloads": -1, "filename": "deepmerge-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6cd924a37f8eb170ffcd03720e91c373", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9337, "upload_time": "2019-09-04T21:04:59", "url": "https://files.pythonhosted.org/packages/c5/0c/0ae77c296ba6a76e4c5b27f0152854145808107fefab2c7a9fd5c662a55c/deepmerge-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e9c8fba06837c1bd9ffd27f35e28ef1a", "sha256": "3d37f739e74e8a284ee0bd683daaef88acc8438ba048545aefb87ade695a2a34" }, "downloads": -1, "filename": "deepmerge-0.1.0.tar.gz", "has_sig": false, "md5_digest": "e9c8fba06837c1bd9ffd27f35e28ef1a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5228, "upload_time": "2019-09-04T21:05:01", "url": "https://files.pythonhosted.org/packages/a3/0f/30d6b361fd10127ba80aa1962e0cb3cc58cfdb2e25e38318b30a02f47b2b/deepmerge-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6cd924a37f8eb170ffcd03720e91c373", "sha256": "ae23dd76d3c0d22d33a3fd3980c92d3f0773e4affb48d9b341847d0b0a24e8f8" }, "downloads": -1, "filename": "deepmerge-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6cd924a37f8eb170ffcd03720e91c373", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9337, "upload_time": "2019-09-04T21:04:59", "url": "https://files.pythonhosted.org/packages/c5/0c/0ae77c296ba6a76e4c5b27f0152854145808107fefab2c7a9fd5c662a55c/deepmerge-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e9c8fba06837c1bd9ffd27f35e28ef1a", "sha256": "3d37f739e74e8a284ee0bd683daaef88acc8438ba048545aefb87ade695a2a34" }, "downloads": -1, "filename": "deepmerge-0.1.0.tar.gz", "has_sig": false, "md5_digest": "e9c8fba06837c1bd9ffd27f35e28ef1a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5228, "upload_time": "2019-09-04T21:05:01", "url": "https://files.pythonhosted.org/packages/a3/0f/30d6b361fd10127ba80aa1962e0cb3cc58cfdb2e25e38318b30a02f47b2b/deepmerge-0.1.0.tar.gz" } ] }