{ "info": { "author": "Eduardo Naufel Schettino", "author_email": "schettino72@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "mergedict - A Python `dict` with a merge() method\n===================================================\n\n.. display some badges\n\n.. image:: https://travis-ci.org/schettino72/mergedict.png?branch=master\n :target: https://travis-ci.org/schettino72/mergedict\n\n.. image:: https://coveralls.io/repos/schettino72/mergedict/badge.png\n :target: https://coveralls.io/r/schettino72/mergedict\n\n\nA MergeDict is a `dict` with a `merge()` method.\n`merge()` is like `dict.update()`...\n\n::\n\n from mergedict import MergeDict\n\n d1 = MergeDict({'a': 1, 'b': 'one'})\n d1.merge({'a':2, 'c': [2]})\n\n assert d1 == {'a': 2, 'c': [2], 'b': 'one'}\n\n\nA MergeDict can be subclassed to create custom \"merge\" operations\nbased on the type of an item value.\n\n\n::\n\n from mergedict import MergeDict\n\n class SumDict(MergeDict):\n @MergeDict.dispatch(int)\n def merge_int(this, other):\n return this + other\n\n d2 = SumDict({'a': 1, 'b': 'one'})\n d2.merge({'a':2, 'b': 'two'})\n\n assert d2 == {'a': 3, 'b': 'two'}\n\n\n`mergedict` module comes with a `ConfigDict` that will\nextend/update lists/sets/dicts.\n\n::\n\n from mergedict import ConfigDict\n\n d3 = ConfigDict({'a': 1, 'my_list': [1, 2]})\n d3.merge({'a':2, 'my_list': [3, 4]})\n\n assert d3 == {'a': 2, 'my_list': [1, 2, 3, 4]}\n\n\n\n\nProject Details\n===============\n\n- Project management on github - https://github.com/schettino72/mergedict/\n\n\nlicense\n=======\n\nThe MIT License\nCopyright (c) 2013 Eduardo Naufel Schettino\n\nsee LICENSE file\n\n\ndevelopers / contributors\n==========================\n\n- Eduardo Naufel Schettino\n\n\ninstall\n=======\n\n::\n\n $ pip install mergedict\n\nor download and::\n\n $ python setup.py install\n\n\ntests\n=======\n\nTo run the tests::\n\n $ py.test", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/schettino72/mergedict/", "keywords": "dict,singledispatch,config", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "mergedict", "package_url": "https://pypi.org/project/mergedict/", "platform": "any", "project_url": "https://pypi.org/project/mergedict/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/schettino72/mergedict/" }, "release_url": "https://pypi.org/project/mergedict/0.2.0/", "requires_dist": null, "requires_python": null, "summary": "A Python `dict` with a merge() method.", "version": "0.2.0" }, "last_serial": 1163951, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "6b8bb1ffecba71f141f017e1d5cf284e", "sha256": "70786d867d41016f190ee5eaf36188b0a1ced52aad097d1598b578c5b22f6b7a" }, "downloads": -1, "filename": "mergedict-0.1.0.tar.gz", "has_sig": false, "md5_digest": "6b8bb1ffecba71f141f017e1d5cf284e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3361, "upload_time": "2013-12-14T14:43:08", "url": "https://files.pythonhosted.org/packages/17/02/9885d41e20ecb290233f999a0a872ab11c4cef8df03af2b26df9e5212de4/mergedict-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "47d10b7129f83bd173affb933ef1731c", "sha256": "694784d8c80ea08ffb7b3ccb03178b47620f6a2b79188a33129bfa127551df78" }, "downloads": -1, "filename": "mergedict-0.1.1.tar.gz", "has_sig": false, "md5_digest": "47d10b7129f83bd173affb933ef1731c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3353, "upload_time": "2013-12-14T14:53:19", "url": "https://files.pythonhosted.org/packages/f2/05/1dc9a0e0bbaad3906e03cb3467482ce4b99b384ba4d4ef889e3e18261095/mergedict-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "8a564f5b93ff69dc14f516d6e6750c97", "sha256": "b61b38f87324caeb3e31a814062bed680b86fe84a8fbf777c1cb8bb75a2f2a88" }, "downloads": -1, "filename": "mergedict-0.1.2.tar.gz", "has_sig": false, "md5_digest": "8a564f5b93ff69dc14f516d6e6750c97", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3262, "upload_time": "2014-07-07T06:01:18", "url": "https://files.pythonhosted.org/packages/dd/43/b701bc46569bf0cf34c2f9e5bb45a67bc2441fdebd2e0d50fca9a10c8db6/mergedict-0.1.2.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "0a52ba99f7e56f5c88670ecfe422c5f7", "sha256": "67c972c30087072f02cbf5052ee6e6cd87eba26c193bc698b71b58b32b141369" }, "downloads": -1, "filename": "mergedict-0.2.0.tar.gz", "has_sig": false, "md5_digest": "0a52ba99f7e56f5c88670ecfe422c5f7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3554, "upload_time": "2014-07-21T07:08:46", "url": "https://files.pythonhosted.org/packages/0e/19/ccc2d886d9cbdc0757fd57167bed592c72763e779756e25eef2c1d7a2b0f/mergedict-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0a52ba99f7e56f5c88670ecfe422c5f7", "sha256": "67c972c30087072f02cbf5052ee6e6cd87eba26c193bc698b71b58b32b141369" }, "downloads": -1, "filename": "mergedict-0.2.0.tar.gz", "has_sig": false, "md5_digest": "0a52ba99f7e56f5c88670ecfe422c5f7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3554, "upload_time": "2014-07-21T07:08:46", "url": "https://files.pythonhosted.org/packages/0e/19/ccc2d886d9cbdc0757fd57167bed592c72763e779756e25eef2c1d7a2b0f/mergedict-0.2.0.tar.gz" } ] }