{ "info": { "author": "Kaede Hoshikawa", "author_email": "futursolo@icloud.com", "bugtrack_url": null, "classifiers": [ "Operating System :: MacOS", "Operating System :: MacOS :: MacOS X", "Operating System :: Microsoft", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Operating System :: POSIX :: Linux", "Operating System :: Unix", "Programming Language :: Python", "Programming Language :: Python :: 3 :: Only" ], "description": "magicdict\n=========\n.. image:: https://codecov.io/gl/futursolo/magicdict/branch/master/graph/badge.svg\n :target: https://codecov.io/gl/futursolo/magicdict\n\n.. image:: https://gitlab.com/futursolo/magicdict/badges/master/build.svg\n :target: https://gitlab.com/futursolo/magicdict/commits/master\n\nAn ordered, one-to-many mapping.\n\nInstall\n-------\n\n.. code-block:: shell\n\n $ pip install -U magicdict\n\nThread Safety\n-------------\n:code:`FrozenMagicDict` and its subclasses should be thread safe without additional\nlocking. If any data races occurred, then that's a bug. Please file an issue\nwith reproducing procedure.\n\nUsage\n-----\n:code:`MagicDict` should function like :code:`collections.OrderedDict` except\n:code:`move_to_end` is not defined and :code:`d[key]` always returns the first\nitem.\n\n:code:`FrozenMagicDict` is an immutable version of :code:`MagicDict`.\n\n:code:`FrozenTolerantMagicDict` and :code:`TolerantMagicDict` are\ncase-insensitive versions of :code:`FrozenMagicDict` and :code:`MagicDict`\nrespectively.\n\n:code:`get_first`, :code:`get_last`, :code:`get_iter`, and :code:`get_list`:\nThese methods are available in `FrozenMagicDict` and its subclasses.\nFor more details, please read the comments of each method.\n\n:code:`add`:\nMethod :code:`add` is available in :code:`MagicDict` and\n:code:`TolerantMagicDict`. This method is used as an substitution of\n:code:`dic[key] = value` as it can append a value to the\ndictionary without removing the existing one. Setting values like normal\n:code:`OrderedDict` will clear the stored value(s) if any.\n\nContributing\n------------\nThe repository is hosted on `GitLab `_.\n\nLicense\n-------\nCopyright 2018 Kaede Hoshikawa\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.com/futursolo/magicdict", "keywords": "", "license": "Apache License 2.0", "maintainer": "", "maintainer_email": "", "name": "magicdict", "package_url": "https://pypi.org/project/magicdict/", "platform": "", "project_url": "https://pypi.org/project/magicdict/", "project_urls": { "Homepage": "https://gitlab.com/futursolo/magicdict" }, "release_url": "https://pypi.org/project/magicdict/1.0.3/", "requires_dist": [ "pytest (<4,>=3.3.2); extra == 'test'", "pytest-benchmark (<4,>=3.1.1); extra == 'test'", "flake8 (<4,>=3.5.0); extra == 'test'", "mypy (<1,>=0.560); extra == 'test'" ], "requires_python": "", "summary": "An ordered, one-to-many mapping.", "version": "1.0.3" }, "last_serial": 3506034, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "52926f60a015850d889d51d130cd1a46", "sha256": "fa4e9c30436e817a31a941e9d05d80fa91e8f670af1395708a63a7161eedb7ad" }, "downloads": -1, "filename": "magicdict-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "52926f60a015850d889d51d130cd1a46", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 8708, "upload_time": "2017-02-22T08:44:45", "url": "https://files.pythonhosted.org/packages/03/72/1b3a39aeb4f011a0d80b0d25bdc8c9e0cad019fd28a364ae1c1981fdfe87/magicdict-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bf9cd96981f95161bc0ade5f07a4f820", "sha256": "1437193a1b2093576f099915feeca3fc8b063da10f9a3b5cc4db8ac1d18d042f" }, "downloads": -1, "filename": "magicdict-0.1.0.tar.gz", "has_sig": false, "md5_digest": "bf9cd96981f95161bc0ade5f07a4f820", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6060, "upload_time": "2017-02-22T08:44:42", "url": "https://files.pythonhosted.org/packages/4d/e9/6ff26010adeef73d7f9932f07cb4283cf8c48549ea56a50a66af7bf4e962/magicdict-0.1.0.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "b1391c9d70d38ee5b149f42940ce0d85", "sha256": "a55ab31b5c5cc2923980632257388dea6590ac8da0d0f9312fbc99da6f3413eb" }, "downloads": -1, "filename": "magicdict-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b1391c9d70d38ee5b149f42940ce0d85", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15128, "upload_time": "2018-01-19T02:14:00", "url": "https://files.pythonhosted.org/packages/b8/cf/5ef28ab13cf1429613ecc5f8e1bf9f3943e428336fdc678469dfd928cb06/magicdict-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8569b9150be79d004fac4788fff106a2", "sha256": "04b926d23529c2686a96f9e379fa4335429fce83a63b46b63ab14686f8f4efc8" }, "downloads": -1, "filename": "magicdict-1.0.0.tar.gz", "has_sig": false, "md5_digest": "8569b9150be79d004fac4788fff106a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13693, "upload_time": "2018-01-19T02:14:01", "url": "https://files.pythonhosted.org/packages/a7/96/714dc32de497497d6045538522e34f37a1284812e84258b8641eb434560c/magicdict-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "2ed5d903287ce78293a56349c7cab220", "sha256": "e07d4184f438b4772966995155f3ca930d81131ca2876394461437be74e3a5ee" }, "downloads": -1, "filename": "magicdict-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "2ed5d903287ce78293a56349c7cab220", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14902, "upload_time": "2018-01-19T02:40:43", "url": "https://files.pythonhosted.org/packages/1d/bd/4b7d9c1fd402b29cdd396eddc484592e9466602a46a0f99444cf51ca2aa9/magicdict-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0b412f70a88e602a8f4e93347b8fde71", "sha256": "69db936ce55b0fd84a6125b8a8764d12a4e6836df8b03d6456eee2673e3b30da" }, "downloads": -1, "filename": "magicdict-1.0.1.tar.gz", "has_sig": false, "md5_digest": "0b412f70a88e602a8f4e93347b8fde71", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13491, "upload_time": "2018-01-19T02:40:45", "url": "https://files.pythonhosted.org/packages/39/34/501eb8132befcfe67b6b595fabcdfa6da98f8d38ff009af513752ba0ab4b/magicdict-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "73869d1d404d23980760d1103f965c36", "sha256": "005337ef4f9b9615a43216d66d690b77024b2ad0802ce7a06831096c0a026d1d" }, "downloads": -1, "filename": "magicdict-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "73869d1d404d23980760d1103f965c36", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14903, "upload_time": "2018-01-19T22:50:22", "url": "https://files.pythonhosted.org/packages/be/94/c443410e73bb43f6171b13fd2f82f4baadcb0454d506b14889f73aaef610/magicdict-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fdf72f77d992cb1930560cff8307d948", "sha256": "53b42c2fea01c5564ccd281e68ff5e10cbad6a33e054ec35095723fe35a6b521" }, "downloads": -1, "filename": "magicdict-1.0.2.tar.gz", "has_sig": false, "md5_digest": "fdf72f77d992cb1930560cff8307d948", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13612, "upload_time": "2018-01-19T22:50:24", "url": "https://files.pythonhosted.org/packages/9e/a4/6a1a19f1782df6529a413988ec4d4ca813034752dcb5985ad6f669696c8f/magicdict-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "2f1a4f992be03776cd8564f97b47740f", "sha256": "06033cfc43bd3925934a96e994c8363c6a18d371a904d4dd686f0dca94106642" }, "downloads": -1, "filename": "magicdict-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "2f1a4f992be03776cd8564f97b47740f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15139, "upload_time": "2018-01-20T00:13:59", "url": "https://files.pythonhosted.org/packages/dc/e6/22d14929291193e451060dcf31fcbd254181110a48b8feed4b4b933b759f/magicdict-1.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4a5c90aee3f0e9946ab10a21d059e05f", "sha256": "90a87aee00d0d8226171f5b54ed57310e92a8c140b44c5863322f6121bb705be" }, "downloads": -1, "filename": "magicdict-1.0.3.tar.gz", "has_sig": false, "md5_digest": "4a5c90aee3f0e9946ab10a21d059e05f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13901, "upload_time": "2018-01-20T00:14:00", "url": "https://files.pythonhosted.org/packages/19/03/83063ff98bcbeaf9808a2e94dee71dafcf4d270caed7cce067f6863b36c2/magicdict-1.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2f1a4f992be03776cd8564f97b47740f", "sha256": "06033cfc43bd3925934a96e994c8363c6a18d371a904d4dd686f0dca94106642" }, "downloads": -1, "filename": "magicdict-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "2f1a4f992be03776cd8564f97b47740f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15139, "upload_time": "2018-01-20T00:13:59", "url": "https://files.pythonhosted.org/packages/dc/e6/22d14929291193e451060dcf31fcbd254181110a48b8feed4b4b933b759f/magicdict-1.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4a5c90aee3f0e9946ab10a21d059e05f", "sha256": "90a87aee00d0d8226171f5b54ed57310e92a8c140b44c5863322f6121bb705be" }, "downloads": -1, "filename": "magicdict-1.0.3.tar.gz", "has_sig": false, "md5_digest": "4a5c90aee3f0e9946ab10a21d059e05f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13901, "upload_time": "2018-01-20T00:14:00", "url": "https://files.pythonhosted.org/packages/19/03/83063ff98bcbeaf9808a2e94dee71dafcf4d270caed7cce067f6863b36c2/magicdict-1.0.3.tar.gz" } ] }