{ "info": { "author": "Kyle Lahnakoski", "author_email": "kyle@lahnakoski.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "# More Dots!\n\n\n|Branch |Status |\n|------------|---------|\n|master | [![Build Status](https://travis-ci.org/klahnakoski/mo-dots.svg?branch=master)](https://travis-ci.org/klahnakoski/mo-dots) |\n|dev | [![Build Status](https://travis-ci.org/klahnakoski/mo-dots.svg?branch=dev)](https://travis-ci.org/klahnakoski/mo-dots) [![Coverage Status](https://coveralls.io/repos/github/klahnakoski/mo-dots/badge.svg?branch=dev)](https://coveralls.io/github/klahnakoski/mo-dots?branch=dev) |\n\n\n\n## Overview\n\nThis library defines a `Data` class that can serve as a replacement for `dict`, with additional features. \n\n >>> from mo_dots import wrap, Data\n\n*See the [full documentation](https://github.com/klahnakoski/mo-dots/tree/dev/docs) for all the features of `mo-dots`*\n\n### Easy Definition\n\nDefine `Data` using named parameters, just like you would a `dict`\n\n >>> Data(b=42, c=\"hello world\")\n Data({'b': 42, 'c': 'hello world'})\n\nYou can also wrap existing `dict`s so they can be used like `Data`\n\n >>> wrap({'b': 42, 'c': 'hello world'})\n Data({'b': 42, 'c': 'hello world'})\n\n### Dot Access\n\nAccess properties with attribute dots: `a.b == a[\"b\"]`. You have probably seen this before.\n\n### Path Access\n\nAccess properties by dot-delimited path.\n\n\t>>> a = wrap({\"b\": {\"c\": 42}})\n\t>>> a[\"b.c\"] == 42\n\tTrue\n\n### Safe Access\n\nIf a property does not exist then return `Null` rather than raising an error.\n\n\t>>> a = Data()\n\ta == {}\n\t>>> a.b == None\n\tTrue\n\t>>> a.b.c == None\n\tTrue\n\t>>> a[None] == None\n\tTrue\n\n### Path assignment\n\nNo need to make intermediate `dicts`\n\n >>> a = Data()\n a == {}\n >>> a[\"b.c\"] = 42 # same as a.b.c = 42\n a == {\"b\": {\"c\": 42}}\n\n### Path accumulation\n\nUse `+=` to add to a property; default zero (`0`)\n\n >>> a = Data()\n a == {}\n >>> a.b.c += 1\n a == {\"b\": {\"c\": 1}}\n >>> a.b.c += 42\n a == {\"b\": {\"c\": 43}}\n\nUse `+=` with a list ([]) to append to a list; default empty list (`[]`)\n\n >>> a = Data()\n a == {}\n >>> a.b.c += [1]\n a == {\"b\": {\"c\": [1]}}\n >>> a.b.c += [42]\n a == {\"b\": {\"c\": [1, 42]}}\n\n\n## Transforming JSON Data in Python\n\nThis library is the basis for a data transformation algebra: We want a succinct way of transforming data in Python. We want operations on data to result in yet more data. We do not want data operations to raise exceptions. This library is solves Python's lack of consistency (lack of closure) under the dot (`.`) and slice `[::]` operators when operating on data objects. \n\n[Full documentation](https://github.com/klahnakoski/mo-dots/tree/dev/docs)", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/klahnakoski/mo-dots", "keywords": "", "license": "MPL 2.0", "maintainer": "", "maintainer_email": "", "name": "mo-dots", "package_url": "https://pypi.org/project/mo-dots/", "platform": "", "project_url": "https://pypi.org/project/mo-dots/", "project_urls": { "Homepage": "https://github.com/klahnakoski/mo-dots" }, "release_url": "https://pypi.org/project/mo-dots/2.53.19239/", "requires_dist": null, "requires_python": "", "summary": "More Dots! Dot-access to Python dicts like Javascript", "version": "2.53.19239" }, "last_serial": 5738195, "releases": { "1.2.17035": [ { "comment_text": "", "digests": { "md5": "92e7fd78f67cb2904718bc1278630a7c", "sha256": "43609d070d763fec0f3502a2473f0e65a4eba3e6f4c14863e44623108522b5cb" }, "downloads": -1, "filename": "mo_dots-1.2.17035-py2.7.egg", "has_sig": false, "md5_digest": "92e7fd78f67cb2904718bc1278630a7c", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 35853, "upload_time": "2017-02-03T03:18:48", "url": "https://files.pythonhosted.org/packages/2d/ac/0e6871c9ea4bb3d8bde9d5e0581bbcb1248ecb15520d35cf10af4b236646/mo_dots-1.2.17035-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "e30d064615f7c3e60c6bd7d4c81c93e3", "sha256": "5932301d881f62e61dfb2ba571221fad98c120f85be7dd8db3b31e23d1b3c2b3" }, "downloads": -1, "filename": "mo-dots-1.2.17035.zip", "has_sig": false, "md5_digest": "e30d064615f7c3e60c6bd7d4c81c93e3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17246, "upload_time": "2017-02-03T03:18:59", "url": "https://files.pythonhosted.org/packages/21/30/bcd05192a57c34ecd27ba22cee04e41d34578f47dec06d52859886362ad7/mo-dots-1.2.17035.zip" } ], "1.2.17039": [ { "comment_text": "", "digests": { "md5": "88f36d84a353565bc75b3ccf7cc7e25d", "sha256": "195c8ba51d1454141d3fab9dbbfa35f903ce33122066ab8e9693f35ad3d991c3" }, "downloads": -1, "filename": "mo_dots-1.2.17039-py2.7.egg", "has_sig": false, "md5_digest": "88f36d84a353565bc75b3ccf7cc7e25d", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 37001, "upload_time": "2017-02-07T14:45:21", "url": "https://files.pythonhosted.org/packages/65/94/f7b673ccd0551d2b6f82952283ce46d22b97d9a8e17e60bc3044f7994772/mo_dots-1.2.17039-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "fbcf0fe9b8f29bd64d13c566ab5a3a6e", "sha256": "18b04fd3f315b214a1de29de1c557f2fb49c86837855e71b99744b974c89e4c1" }, "downloads": -1, "filename": "mo-dots-1.2.17039.zip", "has_sig": false, "md5_digest": "fbcf0fe9b8f29bd64d13c566ab5a3a6e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17817, "upload_time": "2017-02-07T14:45:26", "url": "https://files.pythonhosted.org/packages/c7/42/6c57d4b790059a9c34f2766367b21402b03ea6285a7db3d40ac26e20a043/mo-dots-1.2.17039.zip" } ], "1.3.17035": [ { "comment_text": "", "digests": { "md5": "4b9f1c5040bf27950f02be88cd7258cf", "sha256": "8a117227838c28fffbc27d421f70f7bc322bab262f383ae8f3dd7d9692a42202" }, "downloads": -1, "filename": "mo_dots-1.3.17035-py2.7.egg", "has_sig": false, "md5_digest": "4b9f1c5040bf27950f02be88cd7258cf", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 36979, "upload_time": "2017-02-03T18:26:45", "url": "https://files.pythonhosted.org/packages/53/10/835e355af6bebe142b87802aca4fd6a1766a3c56ae6e2db1ef461dd8c604/mo_dots-1.3.17035-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "412752004e5ea5e59d1dff94cd472366", "sha256": "5af5ccb0efcf18254a77f508db06a35f0d21b2291e3f0d10404a1f4217ce4283" }, "downloads": -1, "filename": "mo-dots-1.3.17035.zip", "has_sig": false, "md5_digest": "412752004e5ea5e59d1dff94cd472366", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17815, "upload_time": "2017-02-03T18:26:49", "url": "https://files.pythonhosted.org/packages/98/72/a6450982a0da848c2ec6234f846e1b72e6a0e88f9245aef18abfd5ba7321/mo-dots-1.3.17035.zip" } ], "1.3.17040": [ { "comment_text": "", "digests": { "md5": "6cb51ded4910784a101ededab3f8c338", "sha256": "9694f0e940599df75be89047805a48436a5d9b18e30724f81b8e5ca74cd57f45" }, "downloads": -1, "filename": "mo_dots-1.3.17040-py2.7.egg", "has_sig": false, "md5_digest": "6cb51ded4910784a101ededab3f8c338", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 14864, "upload_time": "2017-02-08T02:45:27", "url": "https://files.pythonhosted.org/packages/57/7d/2d2c9cbb3e917ddddf3f9d1ae978f3e8d03e7532b949b2b774bd0666e8a8/mo_dots-1.3.17040-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "67db22b83ad6e57be8242593565765f3", "sha256": "25bf18f9ec199dfaf3e649e493fda7d93788f1fc50b5e95bcd7ca3160b5b7920" }, "downloads": -1, "filename": "mo-dots-1.3.17040.zip", "has_sig": false, "md5_digest": "67db22b83ad6e57be8242593565765f3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17815, "upload_time": "2017-02-08T02:45:33", "url": "https://files.pythonhosted.org/packages/35/f8/f7a30bdb13cb8af0531233210a189e7f6f9ebfef8911e613e7bcff44922a/mo-dots-1.3.17040.zip" } ], "1.3.17050": [ { "comment_text": "", "digests": { "md5": "def744edde39be3dd35a359b480e0888", "sha256": "c8c2337b18b7cdd076fcbaa7506bb242a6814192162ae099ff9f315cec196737" }, "downloads": -1, "filename": "mo_dots-1.3.17050-py2.7.egg", "has_sig": false, "md5_digest": "def744edde39be3dd35a359b480e0888", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 14900, "upload_time": "2017-02-18T01:25:31", "url": "https://files.pythonhosted.org/packages/71/03/7d060498e6f2e4ba24c8689b2f8ab92b49736cdbac05b0241803eaa7c3fd/mo_dots-1.3.17050-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "fde4c6a58e9448c19bcaeaf4782bb8fa", "sha256": "5dd0ac631e7e82190630863e7e2ff41b052565c9db5ba59744f965912ff22257" }, "downloads": -1, "filename": "mo-dots-1.3.17050.zip", "has_sig": false, "md5_digest": "fde4c6a58e9448c19bcaeaf4782bb8fa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17844, "upload_time": "2017-02-18T01:25:35", "url": "https://files.pythonhosted.org/packages/ff/f9/15b5c22dc4e7175d7f36fb0e7f34730c3ec3729a1827563fa2cf6dbd8db8/mo-dots-1.3.17050.zip" } ], "1.3.17056": [ { "comment_text": "", "digests": { "md5": "d572446490fc05e5bb26e226dc3aaa01", "sha256": "46b44efdd6e28336208e58d22a3e92257266a4f927010ac0e62952f5fab31944" }, "downloads": -1, "filename": "mo_dots-1.3.17056-py2.7.egg", "has_sig": false, "md5_digest": "d572446490fc05e5bb26e226dc3aaa01", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 14911, "upload_time": "2017-02-25T20:24:01", "url": "https://files.pythonhosted.org/packages/a7/cc/ed1d6d764d3850c1bea7c03616f688dc0293b4e867bd5634714c1f5c9147/mo_dots-1.3.17056-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "395b454aa406c92d40c55b793105dbaa", "sha256": "a04132b1c9263ead718de3132372d8f59f59e2af53ed86ae676cd8c05905b7ab" }, "downloads": -1, "filename": "mo-dots-1.3.17056.zip", "has_sig": false, "md5_digest": "395b454aa406c92d40c55b793105dbaa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17855, "upload_time": "2017-02-25T20:24:06", "url": "https://files.pythonhosted.org/packages/f6/07/d9f5db14e2f4b66970b22c7ec0287f3f28b0dca4b5d3cb59fab21564046f/mo-dots-1.3.17056.zip" } ], "1.3.17085": [ { "comment_text": "", "digests": { "md5": "81ff4e87aa7eface1ba256b8d511bfce", "sha256": "0ce2f3ea26421005fcdd0a7f171054fdd702b17d0c34d623e891d561ef847c2f" }, "downloads": -1, "filename": "mo_dots-1.3.17085-py2.7.egg", "has_sig": false, "md5_digest": "81ff4e87aa7eface1ba256b8d511bfce", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 14968, "upload_time": "2017-03-26T12:26:37", "url": "https://files.pythonhosted.org/packages/76/dc/25cde961f7901c0da7faddfb8a16584f94e98f44998506a200fd37ba7060/mo_dots-1.3.17085-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "15c10248917a35573a3e89f5a6595123", "sha256": "1ed8f921f1be8e070800cd0f74b3d3ffb360cbb311bcf5ad835fdc3a1bd6c8ef" }, "downloads": -1, "filename": "mo-dots-1.3.17085.zip", "has_sig": false, "md5_digest": "15c10248917a35573a3e89f5a6595123", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17913, "upload_time": "2017-03-26T12:26:47", "url": "https://files.pythonhosted.org/packages/4f/95/199a5d6dc0b96fb64aef0c26ff6fe06d7b66c40c0a99603b9f2097e71854/mo-dots-1.3.17085.zip" } ], "1.3.17101": [ { "comment_text": "", "digests": { "md5": "015e7601821ba01698df346b930c63b1", "sha256": "7878d648672b2a7334f14d24806d41b9bdd629a4d2c146dabd5ede3de2505ef1" }, "downloads": -1, "filename": "mo-dots-1.3.17101.zip", "has_sig": false, "md5_digest": "015e7601821ba01698df346b930c63b1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17992, "upload_time": "2017-04-11T20:32:53", "url": "https://files.pythonhosted.org/packages/bc/17/c7b14164b398cad028a3669d80a52ba5ec3751a73406113dd66a18303ff6/mo-dots-1.3.17101.zip" } ], "1.3.17131": [ { "comment_text": "", "digests": { "md5": "b74434037def127be8af63ed0e70a985", "sha256": "85545f6df16d086c772e106e81b770b11a67679ad28273a1a1bb5f1f4aea1f6b" }, "downloads": -1, "filename": "mo-dots-1.3.17131.zip", "has_sig": false, "md5_digest": "b74434037def127be8af63ed0e70a985", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25277, "upload_time": "2017-05-11T13:40:07", "url": "https://files.pythonhosted.org/packages/2a/ad/73cdb8746575629b397cc39fea244ec925279875eed14f2837d0e2e86f06/mo-dots-1.3.17131.zip" } ], "1.3.17173": [ { "comment_text": "", "digests": { "md5": "441d4879a3dff1ce3c0a7425b9acfd4e", "sha256": "c7a4d6a4f6525e5d9bf45587114cbfcc51b9e32939f5c3f140099da2670c6baf" }, "downloads": -1, "filename": "mo-dots-1.3.17173.zip", "has_sig": false, "md5_digest": "441d4879a3dff1ce3c0a7425b9acfd4e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25329, "upload_time": "2017-06-22T19:38:34", "url": "https://files.pythonhosted.org/packages/4f/8a/c82bef1dffc89f8dfb4d926387aa37d995812a3351bf353706e730e15462/mo-dots-1.3.17173.zip" } ], "1.5.17187": [ { "comment_text": "", "digests": { "md5": "b8abe121ee60b2029938d9db515b3fb6", "sha256": "79bb29dfbdb12bf49373e96854963b19e1e806635347d8971db083cd939c9ccd" }, "downloads": -1, "filename": "mo-dots-1.5.17187.zip", "has_sig": false, "md5_digest": "b8abe121ee60b2029938d9db515b3fb6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25430, "upload_time": "2017-07-06T15:10:05", "url": "https://files.pythonhosted.org/packages/6c/06/0603b842abd95157982a43ba72442bd15e4820aaa91770fa94e576e9b6c2/mo-dots-1.5.17187.zip" } ], "1.5.17188": [ { "comment_text": "", "digests": { "md5": "2691862e401e4801217fecca88d019a6", "sha256": "ab4f0bfb4e0b58fb83ca5dbdab36a017fe3b35b7024abacb4aa315bf9835ee0e" }, "downloads": -1, "filename": "mo-dots-1.5.17188.zip", "has_sig": false, "md5_digest": "2691862e401e4801217fecca88d019a6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25445, "upload_time": "2017-07-07T13:58:15", "url": "https://files.pythonhosted.org/packages/85/d9/32941ce7b157e83648ad5a0a9b8f3673527ce3a843cd11f9d866dcdb9269/mo-dots-1.5.17188.zip" } ], "1.5.17206": [ { "comment_text": "", "digests": { "md5": "23903b64383c08c7101e2e2dd093c51c", "sha256": "504e3cbf1e3721c217c5a3f0b7ad956c72658631b33ebc05bb628893eba42b85" }, "downloads": -1, "filename": "mo-dots-1.5.17206.zip", "has_sig": false, "md5_digest": "23903b64383c08c7101e2e2dd093c51c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27600, "upload_time": "2017-07-25T20:01:06", "url": "https://files.pythonhosted.org/packages/6e/26/572e0a9f9576e4b3d1b8c0a30513559e41ce7c3fdb041f43f6169d02e794/mo-dots-1.5.17206.zip" } ], "1.5.17227": [ { "comment_text": "", "digests": { "md5": "b82f3c9aa8be699e5db2b05a1af18ad4", "sha256": "9d60af745a03a2b2c5975dcf5a8e4acbb1e5e3e85ed8e8ebd0c65ddb1869c200" }, "downloads": -1, "filename": "mo-dots-1.5.17227.zip", "has_sig": false, "md5_digest": "b82f3c9aa8be699e5db2b05a1af18ad4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27692, "upload_time": "2017-08-15T12:53:45", "url": "https://files.pythonhosted.org/packages/fe/37/9f020335dfb50d4ff6478a115771eba68b7ebe39420fa1433555c91b69d0/mo-dots-1.5.17227.zip" } ], "1.6.17264": [ { "comment_text": "", "digests": { "md5": "c3a5b5874e190b4add9924066a43187f", "sha256": "d6fbbdeb89a74741f99915533d60daaa3c3de6f5f85119b3d86cdbbda52da4b2" }, "downloads": -1, "filename": "mo-dots-1.6.17264.zip", "has_sig": false, "md5_digest": "c3a5b5874e190b4add9924066a43187f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28058, "upload_time": "2017-09-21T18:11:57", "url": "https://files.pythonhosted.org/packages/e4/5d/6e0deca91850e5384a7238178dc95bc921d81110614da8a8e041291aa86d/mo-dots-1.6.17264.zip" } ], "1.6.17319": [ { "comment_text": "", "digests": { "md5": "71c7dd3cd54e46eeba86ee3764112e31", "sha256": "c1c80dd0ff3fad0ac66d2ec8589d241630543bb946b469bd0982f122a89473b1" }, "downloads": -1, "filename": "mo-dots-1.6.17319.tar.gz", "has_sig": false, "md5_digest": "71c7dd3cd54e46eeba86ee3764112e31", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19601, "upload_time": "2017-11-15T19:14:39", "url": "https://files.pythonhosted.org/packages/0b/0c/2e7bfb95932f07a760f40f40f61b3928569a1051131e7e4dc1383efe4cc6/mo-dots-1.6.17319.tar.gz" } ], "1.7.17339": [ { "comment_text": "", "digests": { "md5": "e8b10ec0844910fa27e4fcb5eaf73f75", "sha256": "bdb69d540de890d8e7406e7c3a6f23d759d1a89a3bccaa51543c2c4f3e60338f" }, "downloads": -1, "filename": "mo-dots-1.7.17339.tar.gz", "has_sig": false, "md5_digest": "e8b10ec0844910fa27e4fcb5eaf73f75", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19639, "upload_time": "2017-12-05T01:57:16", "url": "https://files.pythonhosted.org/packages/cf/da/8c91738e7f25848b25c079d1d51c1ad91b064e037e45e22f4fe48350fdad/mo-dots-1.7.17339.tar.gz" } ], "1.7.18013": [ { "comment_text": "", "digests": { "md5": "7abc7583246d029c1bc323da0ffb7479", "sha256": "4eb25a3d0cea32928665be2a38aa03b70fed8f86243e4253b708cfaa53137a74" }, "downloads": -1, "filename": "mo-dots-1.7.18013.tar.gz", "has_sig": false, "md5_digest": "7abc7583246d029c1bc323da0ffb7479", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19689, "upload_time": "2018-01-13T17:50:28", "url": "https://files.pythonhosted.org/packages/b8/8b/3eeb51382096dac48b48ecd2e8c1811e9e8b8c78207798de52c44b25d7df/mo-dots-1.7.18013.tar.gz" } ], "1.7.18025": [ { "comment_text": "", "digests": { "md5": "3265c77c544507ca7af6b42a5f5f33cb", "sha256": "46f3b8be56f701845ebe6306338ed68f4bfc12e00bc500f9aab9ad17e32af8db" }, "downloads": -1, "filename": "mo-dots-1.7.18025.tar.gz", "has_sig": false, "md5_digest": "3265c77c544507ca7af6b42a5f5f33cb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19674, "upload_time": "2018-01-25T16:29:21", "url": "https://files.pythonhosted.org/packages/70/ee/8eaa3ea44318c235758c091f89676a771ee2bf3878ed42415cd8ca546ea5/mo-dots-1.7.18025.tar.gz" } ], "1.7.18029": [ { "comment_text": "", "digests": { "md5": "ea608ceef7a893eab4bf7540ac05d986", "sha256": "a0345575502b589df518d85c88eaa8729cdb07dfab28c2e8c6c671b7640eb528" }, "downloads": -1, "filename": "mo-dots-1.7.18029.tar.gz", "has_sig": false, "md5_digest": "ea608ceef7a893eab4bf7540ac05d986", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19672, "upload_time": "2018-01-29T14:54:38", "url": "https://files.pythonhosted.org/packages/57/d9/3aecad559f5ac382f8dc53d3ba89f0a2cc18d673a59c1b1ca6391f01a53e/mo-dots-1.7.18029.tar.gz" } ], "2.17.18212": [ { "comment_text": "", "digests": { "md5": "92f5237032b84892a3cce145c8ae33f2", "sha256": "26637c0a88d25454da4275416febf091966e09885acbbd2371a4cb7c0aa42c11" }, "downloads": -1, "filename": "mo-dots-2.17.18212.tar.gz", "has_sig": false, "md5_digest": "92f5237032b84892a3cce145c8ae33f2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20010, "upload_time": "2018-07-31T22:29:15", "url": "https://files.pythonhosted.org/packages/d1/44/c968f96f7b6d3a21e5f6e624f70b82c25018c31ec87b55ac40e84b19a875/mo-dots-2.17.18212.tar.gz" } ], "2.18.18240": [ { "comment_text": "", "digests": { "md5": "d162a7008f09845e56061bd1c2df3d48", "sha256": "819c34982af07252286724deb82d977d7d57fb93dddea2261b270234891d7506" }, "downloads": -1, "filename": "mo-dots-2.18.18240.tar.gz", "has_sig": false, "md5_digest": "d162a7008f09845e56061bd1c2df3d48", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20140, "upload_time": "2018-08-28T12:51:28", "url": "https://files.pythonhosted.org/packages/31/e3/49e81fcaf9949064fea7761556b72bee8c5a41ff891a559105b22430ba67/mo-dots-2.18.18240.tar.gz" } ], "2.20.18318": [ { "comment_text": "", "digests": { "md5": "a8f0ffe6577236e7620daf64dc33c095", "sha256": "ec17b6ae48092ebb304c15dee56bc7eb91f906968bdc5d5e66a55cbc71668c6b" }, "downloads": -1, "filename": "mo-dots-2.20.18318.tar.gz", "has_sig": false, "md5_digest": "a8f0ffe6577236e7620daf64dc33c095", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14101, "upload_time": "2018-11-14T02:29:40", "url": "https://files.pythonhosted.org/packages/98/14/903cc93c55a633f76290565d358505244d5fe96352e2aa4848ac68c41170/mo-dots-2.20.18318.tar.gz" } ], "2.21.19007": [ { "comment_text": "", "digests": { "md5": "50ff5a22898ac3e4cdc15be05752d54e", "sha256": "09f2dc16f9fa26a86838bc7f9475b8dccbe1cd37bcf81f9d3a3def7aeaa4b9dc" }, "downloads": -1, "filename": "mo-dots-2.21.19007.tar.gz", "has_sig": false, "md5_digest": "50ff5a22898ac3e4cdc15be05752d54e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14325, "upload_time": "2019-01-07T16:16:13", "url": "https://files.pythonhosted.org/packages/3b/ce/372252fc9635762c8f559e44d6b6f06776fe6f0928704a0ee74b40f1ec1c/mo-dots-2.21.19007.tar.gz" } ], "2.27.19008": [ { "comment_text": "", "digests": { "md5": "292e4e139689163054acf3bf6b00b3c4", "sha256": "c3d832e3c8cf7a182999ad3a9adb41083093b17e62d459d7d0637d15ffa7d930" }, "downloads": -1, "filename": "mo-dots-2.27.19008.tar.gz", "has_sig": false, "md5_digest": "292e4e139689163054acf3bf6b00b3c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14584, "upload_time": "2019-01-08T17:26:21", "url": "https://files.pythonhosted.org/packages/2a/91/e567489634c18bea2f2d7d80575befa467e309f1152ba37be209710ffcec/mo-dots-2.27.19008.tar.gz" } ], "2.29.19025": [ { "comment_text": "", "digests": { "md5": "1596b02ef91bdaf08e30743e36d76638", "sha256": "4b6c23e9aa1060466841c13f22474a46eabd596728fa09d8311ad1c331940717" }, "downloads": -1, "filename": "mo-dots-2.29.19025.tar.gz", "has_sig": false, "md5_digest": "1596b02ef91bdaf08e30743e36d76638", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14625, "upload_time": "2019-01-25T18:17:39", "url": "https://files.pythonhosted.org/packages/15/08/d75b274957c7b3b901cbe812a69991b12d5ee3be795408243a9fcc0bf370/mo-dots-2.29.19025.tar.gz" } ], "2.30.19025": [ { "comment_text": "", "digests": { "md5": "21126e18d7f906aadebdb517875da53b", "sha256": "1e0cda84a9091117dee171abf649932339ebeb758e056e78683a6ace142e831a" }, "downloads": -1, "filename": "mo-dots-2.30.19025.tar.gz", "has_sig": false, "md5_digest": "21126e18d7f906aadebdb517875da53b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14631, "upload_time": "2019-01-25T21:55:41", "url": "https://files.pythonhosted.org/packages/b9/89/39add6b6ccca59d29cd8c81e7b70eba48263fa32ec12c4e6557a71520eb8/mo-dots-2.30.19025.tar.gz" } ], "2.31.19025": [ { "comment_text": "", "digests": { "md5": "a0115297c285e66b6dbfaf96123aff3e", "sha256": "d05606924ee4018749ace628134d3c91388fc8e455bc79b2df80cde73c99d87f" }, "downloads": -1, "filename": "mo-dots-2.31.19025.tar.gz", "has_sig": false, "md5_digest": "a0115297c285e66b6dbfaf96123aff3e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14623, "upload_time": "2019-01-25T23:47:53", "url": "https://files.pythonhosted.org/packages/81/eb/e6775a9f4480f7c3b7183d7a825810923421064cd02f13fd064d25247a9b/mo-dots-2.31.19025.tar.gz" } ], "2.32.19026": [ { "comment_text": "", "digests": { "md5": "a57297d265bbff2028b91ae9e2f4bfa1", "sha256": "b2bda8756d32390e48a3e00bd414cda930e4305c8671a8f4394a95d4e183cbb8" }, "downloads": -1, "filename": "mo-dots-2.32.19026.tar.gz", "has_sig": false, "md5_digest": "a57297d265bbff2028b91ae9e2f4bfa1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14618, "upload_time": "2019-01-26T01:35:19", "url": "https://files.pythonhosted.org/packages/e0/e4/d9e195b75d18760c115b5d965e3a886778c082e046c8dbf6e97b621b955e/mo-dots-2.32.19026.tar.gz" } ], "2.36.19026": [ { "comment_text": "", "digests": { "md5": "f56ec3da2989344d43ff78c0b2b8e0f1", "sha256": "cc42651282005765d06d600c68ce1b151b799a5379876d659588277ad1edd573" }, "downloads": -1, "filename": "mo-dots-2.36.19026.tar.gz", "has_sig": false, "md5_digest": "f56ec3da2989344d43ff78c0b2b8e0f1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14618, "upload_time": "2019-01-26T18:43:42", "url": "https://files.pythonhosted.org/packages/b1/cd/2db97c42348e54615abdbeb876395b02a5311c72851a76e9cce8ab3cfa26/mo-dots-2.36.19026.tar.gz" } ], "2.37.19026": [ { "comment_text": "", "digests": { "md5": "ff0333ffad3ec46eec7dec13c9795f19", "sha256": "e1d7c21c8f54f6dfe46abddd2b575e700e3e88f022365931e210ff53e864ce3a" }, "downloads": -1, "filename": "mo-dots-2.37.19026.tar.gz", "has_sig": false, "md5_digest": "ff0333ffad3ec46eec7dec13c9795f19", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14694, "upload_time": "2019-01-26T21:41:34", "url": "https://files.pythonhosted.org/packages/fb/d6/22c44f1416a9530b5218e41f82f1b84be83fbc24ebbfd8de35ecd978a40b/mo-dots-2.37.19026.tar.gz" } ], "2.4.18148": [ { "comment_text": "", "digests": { "md5": "6b7f1f16aba3ec26e7bc7662ef913e8d", "sha256": "abb9c59c099d5073c673aef5466ef7ba96fabe780efc60b4823dd946cd063f6d" }, "downloads": -1, "filename": "mo-dots-2.4.18148.tar.gz", "has_sig": false, "md5_digest": "6b7f1f16aba3ec26e7bc7662ef913e8d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19863, "upload_time": "2018-05-28T02:08:10", "url": "https://files.pythonhosted.org/packages/46/c7/35af2422443fdb0ea1a8524509784f3337d751ac828c8143205fb298fe04/mo-dots-2.4.18148.tar.gz" } ], "2.43.19055": [ { "comment_text": "", "digests": { "md5": "abf74482aa5f75cdf1c5e00630a09f43", "sha256": "782dbeb3db12d2aaab4c0b0371d0c73700f6cbebde5a553f98a96bb8b0fa1224" }, "downloads": -1, "filename": "mo-dots-2.43.19055.tar.gz", "has_sig": false, "md5_digest": "abf74482aa5f75cdf1c5e00630a09f43", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14803, "upload_time": "2019-02-24T18:41:25", "url": "https://files.pythonhosted.org/packages/aa/6b/7629a9554f2858c02f0b094010cd6c124db4f7b8e0981d59b754457d2589/mo-dots-2.43.19055.tar.gz" } ], "2.45.19103": [ { "comment_text": "", "digests": { "md5": "5850d6cb0efc2d1cbbe260c332d70bcd", "sha256": "5912d299932ae785152d841c8a3693e7847cd27155bc70ac98bd5f27bae24273" }, "downloads": -1, "filename": "mo-dots-2.45.19103.tar.gz", "has_sig": false, "md5_digest": "5850d6cb0efc2d1cbbe260c332d70bcd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14845, "upload_time": "2019-04-13T20:07:19", "url": "https://files.pythonhosted.org/packages/df/8e/6f5da0c7a7e0f703750f69c57a9add2e6efeaca748a25d9fa1baaa79ac05/mo-dots-2.45.19103.tar.gz" } ], "2.46.19127": [ { "comment_text": "", "digests": { "md5": "fb21fda5c14e6b8547d05e980953f285", "sha256": "fde40bd260bd1ead0578622470e42a21efada51052adc331bb2d91707c60b612" }, "downloads": -1, "filename": "mo-dots-2.46.19127.tar.gz", "has_sig": false, "md5_digest": "fb21fda5c14e6b8547d05e980953f285", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14443, "upload_time": "2019-05-07T15:07:12", "url": "https://files.pythonhosted.org/packages/90/6b/9c3fd318f0149492e4581c224d000f0434f9e301bd4ca93e9d29200b77d5/mo-dots-2.46.19127.tar.gz" } ], "2.5.18148": [ { "comment_text": "", "digests": { "md5": "64c0d09da73b74682c5110bcbd130179", "sha256": "80bf25b180b19f883e976120cb91efe540611ac1de4823e90d55c0a16d53e508" }, "downloads": -1, "filename": "mo-dots-2.5.18148.tar.gz", "has_sig": false, "md5_digest": "64c0d09da73b74682c5110bcbd130179", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19873, "upload_time": "2018-05-28T12:54:00", "url": "https://files.pythonhosted.org/packages/6c/5b/7604755b93149f218f3054238c5c65014ca980d0e853899597c3dc30cc3e/mo-dots-2.5.18148.tar.gz" } ], "2.53.19239": [ { "comment_text": "", "digests": { "md5": "fd3bcd34813326e557680b05732db5fb", "sha256": "55693d5e4a99d94805400f89a695e6fefc05a96f58d0616ea3fb8a30286275c1" }, "downloads": -1, "filename": "mo-dots-2.53.19239.tar.gz", "has_sig": false, "md5_digest": "fd3bcd34813326e557680b05732db5fb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14451, "upload_time": "2019-08-27T17:14:04", "url": "https://files.pythonhosted.org/packages/57/d4/e14a6fe7a767ba9c3d25f85a4fc74046d521c2ac53d6a8135ba96da788c9/mo-dots-2.53.19239.tar.gz" } ], "2.7.18148": [ { "comment_text": "", "digests": { "md5": "af3a789b0129f55b25a77f81a4f03872", "sha256": "3b79c1d0fc8edab027e2e7002904456f4d64cbaf07a994c9ba3103cf4e44f523" }, "downloads": -1, "filename": "mo-dots-2.7.18148.tar.gz", "has_sig": false, "md5_digest": "af3a789b0129f55b25a77f81a4f03872", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19860, "upload_time": "2018-05-28T13:37:05", "url": "https://files.pythonhosted.org/packages/0e/ac/575cc3465c204959890cd3f8151ddc22efb8457a81e91a7ad5a9e67ecf4e/mo-dots-2.7.18148.tar.gz" } ], "2.8.18211": [ { "comment_text": "", "digests": { "md5": "362b64037a26aee77b2f4861f2e29884", "sha256": "8fbf202b88a7832008e78909285ffec5d6571b77524a4f79a7ae2dc9ad118b9f" }, "downloads": -1, "filename": "mo-dots-2.8.18211.tar.gz", "has_sig": false, "md5_digest": "362b64037a26aee77b2f4861f2e29884", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19854, "upload_time": "2018-07-30T16:58:55", "url": "https://files.pythonhosted.org/packages/4e/76/7d56fd8709178c3adcfa0c1c8e8015a5f2fee7b743ed6d8e944978e22d39/mo-dots-2.8.18211.tar.gz" } ], "2.9.18212": [ { "comment_text": "", "digests": { "md5": "4f7fa131d13eae3ca400d15ed122f7cd", "sha256": "4ac7c68539220bed8f2bcfb3cf26819620b1664c18a20524ccef136781e756dd" }, "downloads": -1, "filename": "mo-dots-2.9.18212.tar.gz", "has_sig": false, "md5_digest": "4f7fa131d13eae3ca400d15ed122f7cd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19979, "upload_time": "2018-07-31T16:09:33", "url": "https://files.pythonhosted.org/packages/b0/f1/7b6e64ffd4971b8388edd5dfb8fd8166d625a8b36181e193fefabf56c513/mo-dots-2.9.18212.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "fd3bcd34813326e557680b05732db5fb", "sha256": "55693d5e4a99d94805400f89a695e6fefc05a96f58d0616ea3fb8a30286275c1" }, "downloads": -1, "filename": "mo-dots-2.53.19239.tar.gz", "has_sig": false, "md5_digest": "fd3bcd34813326e557680b05732db5fb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14451, "upload_time": "2019-08-27T17:14:04", "url": "https://files.pythonhosted.org/packages/57/d4/e14a6fe7a767ba9c3d25f85a4fc74046d521c2ac53d6a8135ba96da788c9/mo-dots-2.53.19239.tar.gz" } ] }