{ "info": { "author": "Ian Good", "author_email": "icgood@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 3.7", "Topic :: Communications :: Email :: Post-Office", "Topic :: Communications :: Email :: Post-Office :: IMAP" ], "description": "pymap\n=====\n\nLightweight, asynchronous IMAP serving in Python.\n\n[![Build Status](https://travis-ci.org/icgood/pymap.svg?branch=master)](https://travis-ci.org/icgood/pymap)\n[![Coverage Status](https://coveralls.io/repos/icgood/pymap/badge.svg)](https://coveralls.io/r/icgood/pymap)\n[![PyPI](https://img.shields.io/pypi/v/pymap.svg)](https://pypi.python.org/pypi/pymap)\n[![PyPI](https://img.shields.io/pypi/pyversions/pymap.svg)](https://pypi.python.org/pypi/pymap)\n[![PyPI](https://img.shields.io/pypi/l/pymap.svg)](https://pypi.python.org/pypi/pymap)\n\nThis project attempts to simplify the complexity of the [IMAP protocol][1] into\na set of clean Python APIs that can be implemented by pluggable backends.\nEverything runs in an [asyncio][2] event loop.\n\n#### [API Documentation](http://icgood.github.io/pymap/)\n\n### Table of Contents\n\n* [Install and Usage](#install-and-usage)\n * [dict Plugin](#dict-plugin)\n * [maildir Plugin](#maildir-plugin)\n * [redis Plugin](#redis-plugin)\n* [Admin Tool](#admin-tool)\n* [Supported Extensions](#supported-extensions)\n* [Development and Testing](#development-and-testing)\n * [Type Hinting](#type-hinting)\n\n## Install and Usage\n\n```bash\n$ pip install pymap\n$ pymap --help\n$ pymap dict --help\n$ pymap maildir --help\n```\n\n### dict Plugin\n\nThe dict plugin uses in-memory dictionary objects to store mail and metadata.\nWhile the server is running, all concurrent and future connections will see the\nsame data, including added and removed messages, but no changes will persist if\nthe server is restarted.\n\nYou can try out the dict plugin with demo data:\n\n```bash\n$ pymap --port 1143 --debug dict --demo-data\n```\n\nIn another terminal, connect to port 1143 and run some commands:\n\n```\n* OK [CAPABILITY IMAP4rev1 STARTTLS AUTH=PLAIN AUTH=LOGIN AUTH=CRAM-MD5 BINARY UIDPLUS MULTIAPPEND IDLE APPENDLIMIT=1000000000] Server ready 163.1.168.192.in-addr.arpa\n. login demouser demopass\n. OK Authentication successful.\n. select INBOX\n* OK [PERMANENTFLAGS (\\Answered \\Deleted \\Draft \\Flagged \\Seen)] Flags permitted.\n* FLAGS (\\Answered \\Deleted \\Draft \\Flagged \\Recent \\Seen)\n* 4 EXISTS\n* 1 RECENT\n* OK [UIDNEXT 105] Predicted next UID.\n* OK [UIDVALIDITY 4097774359] UIDs valid.\n* OK [UNSEEN 4] First unseen message.\n. OK [READ-WRITE] Selected mailbox.\n. logout\n* BYE Logging out.\n. OK Logout successful.\n```\n\nHere are some other commands to try:\n\n```\n. uid fetch 1:* all\n. list \"\" *\n. create \"A New Folder\"\n. store * +FLAGS (\\Deleted)\n. expunge\n```\n\nAdd new messages using the append command:\n\n```\n. append INBOX (\\Flagged) {38+}\nFrom: user@example.com\n\ntest message!\n\n```\n\n### maildir Plugin\n\nThe maildir plugin uses on-disk storage for mail and metadata. For mail data,\nit uses the eponymous [Maildir][3] format. However, since Maildir alone is not\nenough for modern IMAP usage, it is extended with additional data as described\nin Dovecot's [MailboxFormat/Maildir][4], with the intention of being fully\ncompatible.\n\nFor login, the plugin uses a simple formatted text file, e.g.:\n\n```\njohn::s3cretp4ssword\nsally:mail/data:sallypass\nsusan:/var/mail/susan:!@#$%^:*\n```\n\nThe colon-delimited fields are the user ID, the mailbox path, and the password.\nThe mailbox path may be empty, relative, or absolute. An empty mailbox path\nwill use the user ID as a relative path.\n\nTry out the maildir plugin:\n\n```\n$ pymap --port 1143 --debug maildir /path/to/users.txt\n```\n\nOnce started, check out the dict plugin example above to connect and see it in\naction. The biggest difference is, when stop and restart the pymap server, your\nmail messages remain intact.\n\n### redis Plugin\n\nThe redis plugin uses the [Redis][8] data structure store for mail and\nmetadata. It requires [aioredis][9] and will not appear in the plugins list\nwithout it.\n\n```\n$ pip install aioredis msgpack\n$ pymap redis --help\n```\n\nKeys are composed of a heirarchy of prefixes separated by `/`. For example, the\nkey containing the flags of a message might be:\n\n```\n/ns/eacb1cf1558741d0b5419b3f838882f5/mbx/Fdaddd3075d7b42e78a7edb1d87ee5800/msg/9173/flags\n```\n\nIn this example, the `eacb1cf1558741d0b5419b3f838882f5` and\n`Fdaddd3075d7b42e78a7edb1d87ee5800` prefixes are randomly generated IDs acting\nas the namespaces for the login user and mailbox, respectively, and the message\nhas UID `9173`.\n\nThe default way to create logins is with a redis hash with a `password` field.\nFor example:\n\n```\n127.0.0.1:6379> HSET /john password \"s3cretp4ssword\"\n(integer) 1\n127.0.0.1:6379> HSET /sally password \"sallypass\"\n(integer) 1\n```\n\nFor compatibility with [dovecot's auth dict][12], a JSON object can be used\ninstead of a redis hash with the `--users-json` command-line argument.\n\n```\n127.0.0.1:6379> SET /susan \"{\\\"password\\\": \\\"!@#$%^:*\\\"}\"\n(integer) 1\n```\n\nTry out the redis plugin:\n\n```\n$ pymap --port 1143 --debug redis redis://localhost\n```\n\nOnce started, check out the dict plugin example above to connect and see it in\naction.\n\n## Admin Tool\n\nThe `pymap-admin` tool can be used to perform various admin functions against a\nrunning pymap server. This is a separate [grpc][10] service using [grpclib][11]\nlistening on a UNIX socket, typically `/tmp/pymap/admin-.sock`.\n\nThe admin tool and service have extra dependencies you must install first:\n\n```\npip install grpclib protobuf\n```\n\n#### `append` Command\n\nTo append a message directly to a mailbox, without using IMAP, use the\n`append` admin command. First, check out the help:\n\n```\n$ pymap-admin append --help\n```\n\nAs a basic example, you can append a message to a `dict` plugin backend like\nthis:\n\n```\n$ cat < From: user@example.com\n>\n> test message!\n> EOF\nvalidity: 1784302999\nuid: 101\n```\n\nThe output is the UID validity value of the mailbox the message was appended\nto, and the UID of the appended message. In this example, `demouser` is the\nlogin user and the default mailbox is `INBOX`.\n\n## Supported Extensions\n\nIn addition to [RFC 3501][1], pymap supports a number of IMAP extensions to\ngive clients easier and more powerful use.\n\n#### [RFC 2177](https://tools.ietf.org/html/rfc2177)\n\nAdds the `IDLE` capability and command, which lets clients wait (without\nissuing commands) and receive mailbox updates as they happen without polling.\n\n#### [RFC 2180](https://tools.ietf.org/html/rfc2180)\n\nDefines some conventions for handling multi-access in scenarios such as\n`EXPUNGE` and mailbox deletion.\n\n#### [RFC 3502](https://tools.ietf.org/html/rfc3502)\n\nAdds the `MULTIAPPEND` capability, allowing multiple messages to be atomically\nappended to a mailbox with a single `APPEND` command.\n\n#### [RFC 3516](https://tools.ietf.org/html/rfc3516)\n\nAdds the `BINARY` extension, providing better support for the encoding and\ntransfer of binary data.\n\n#### [RFC 4315](https://tools.ietf.org/html/rfc4315)\n\nAdds the `UIDPLUS` capability, which adds the `UID EXPUNGE` command and defines\nthe `APPENDUID` and `COPYUID` giving clients more insight into the messages\nadded to a mailbox.\n\n#### [RFC 4466](https://tools.ietf.org/html/rfc4466)\n\nNo additional functionality by itself, but allows pymap to be extended easily\nand more robustly handle bad client implementations.\n\n#### [RFC 5530](https://tools.ietf.org/html/rfc5530)\n\nAdds additional IMAP response codes that can help tell an IMAP client why a\ncommand failed.\n\n#### [RFC 7889 (partial)](https://tools.ietf.org/html/rfc7889)\n\nAdds the `APPENDLIMIT=` capability, declaring the maximum message size a server\nwill accept from an `APPEND` command. Mailbox-specific limitations defined\nby the RFC are not supported.\n\n#### [RFC 8474](https://tools.ietf.org/html/rfc8474)\n\nAdds the `OBJECTID` capability, assigning unique IDs to mailboxes, messages,\nand threads to improve client caching and display.\n\n## Development and Testing\n\nYou will need to do some additional setup to develop and test plugins. First\noff, I suggest activating a [venv][5]. Then, install the test requirements and\na local link to the pymap package:\n\n```\n$ pip install -r test/requirements.txt\n$ pip install -e .\n```\n\nRun the tests with py.test:\n\n```\n$ py.test\n```\n\nIf you intend to create a pull request, you should make sure the full suite of\ntests run by CI/CD is passing:\n\n```\n$ py.test\n$ mypy pymap test\n$ flake8 pymap test\n```\n\nA py.test run executes both unit and integration tests. The integration tests\nuse mocked sockets to simulate the sending and receiving of commands and\nresponses, and are kept in the `test/server/` subdirectory.\n\n### Type Hinting\n\nThis project makes heavy use of Python's [type hinting][6] system, with the\nintention of a clean run of [mypy][7]:\n\n```\nmypy pymap\n```\n\nNo code contribution will be accepted unless it makes every effort to use type\nhinting to the extent possible and common in the rest of the codebase. There is\nno need to attempt `--strict` mode.\n\n[1]: https://tools.ietf.org/html/rfc3501\n[2]: https://docs.python.org/3/library/asyncio.html\n[3]: https://en.wikipedia.org/wiki/Maildir\n[4]: https://wiki.dovecot.org/MailboxFormat/Maildir\n[5]: https://docs.python.org/3/library/venv.html\n[6]: https://www.python.org/dev/peps/pep-0484/\n[7]: http://mypy-lang.org/\n[8]: https://redis.io/\n[9]: https://github.com/aio-libs/aioredis\n[10]: https://grpc.io/\n[11]: https://github.com/vmagamedov/grpclib\n[12]: https://wiki.dovecot.org/AuthDatabase/Dict\n\n## The MIT License (MIT)\n\nCopyright (c) 2019 Ian Good\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n\n\n", "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/icgood/pymap/", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pymap", "package_url": "https://pypi.org/project/pymap/", "platform": "", "project_url": "https://pypi.org/project/pymap/", "project_urls": { "Homepage": "https://github.com/icgood/pymap/" }, "release_url": "https://pypi.org/project/pymap/0.13.3/", "requires_dist": [ "pysasl (>=0.5.0)", "typing-extensions", "grpclib ; extra == 'grpc'", "protobuf ; extra == 'grpc'", "hiredis ; extra == 'optional'", "passlib ; extra == 'optional'", "systemd-python ; extra == 'optional'", "aioredis (>=1.3.0) ; extra == 'redis'", "msgpack ; extra == 'redis'", "sievelib ; extra == 'sieve'" ], "requires_python": "", "summary": "Lightweight, asynchronous IMAP serving in Python.", "version": "0.13.3" }, "last_serial": 5999887, "releases": { "0.10.0": [ { "comment_text": "", "digests": { "md5": "a98e0094fa9ac2f7ba27d2dfca4d6701", "sha256": "7f3a7fcd0fff0d78e73d5f82eb8d1de5775520ce69af9409ee16cffd1a5d6e6b" }, "downloads": -1, "filename": "pymap-0.10.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a98e0094fa9ac2f7ba27d2dfca4d6701", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.7", "size": 163771, "upload_time": "2019-02-15T03:20:32", "url": "https://files.pythonhosted.org/packages/cb/69/7b647cc2e0cdf850ca3195d7e0dc92227e82a833aff7bad11b94c9e927c3/pymap-0.10.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8c7c055db702938c2167dd57e410975a", "sha256": "f9488ae6b64224b31866bab5369372fed0993bba9e919c509903ed05d71e47de" }, "downloads": -1, "filename": "pymap-0.10.0.tar.gz", "has_sig": false, "md5_digest": "8c7c055db702938c2167dd57e410975a", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 130719, "upload_time": "2019-02-15T03:20:33", "url": "https://files.pythonhosted.org/packages/ba/2f/53c1b2a9d8e12c03d24c15cfc0e3483b22dc18cbf7aa78184be190875a86/pymap-0.10.0.tar.gz" } ], "0.10.1": [ { "comment_text": "", "digests": { "md5": "41228e1eaed946cfba30cd8eda42e52b", "sha256": "6f88c93bd96a0de5c27b42000bfe8fe1c0a06a4eca06cd59f1c73095580fccc4" }, "downloads": -1, "filename": "pymap-0.10.1-py3-none-any.whl", "has_sig": false, "md5_digest": "41228e1eaed946cfba30cd8eda42e52b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.7", "size": 164389, "upload_time": "2019-02-16T00:24:12", "url": "https://files.pythonhosted.org/packages/48/57/29f7484e4d3e250319174afc19ce004f1b07e890cded47c3067d34273cdd/pymap-0.10.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "acf6ff5be11738713eabf21233c36e37", "sha256": "5a1eea15b6c42b3f893c35679eaa47505b3fb5612f5226b9a1e477ce90cd6bf0" }, "downloads": -1, "filename": "pymap-0.10.1.tar.gz", "has_sig": false, "md5_digest": "acf6ff5be11738713eabf21233c36e37", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 131228, "upload_time": "2019-02-16T00:24:14", "url": "https://files.pythonhosted.org/packages/d3/da/a4cbc86044df51208a6152a702e7582b78b014a7ea1151701d854c759345/pymap-0.10.1.tar.gz" } ], "0.10.2": [ { "comment_text": "", "digests": { "md5": "1d0191ef3b8d8dd1e2cba0256d9c9b1a", "sha256": "984933603321da0c149a21c09530611a3ccb76c9661bcdbec5cd8a978a2bea2d" }, "downloads": -1, "filename": "pymap-0.10.2-py3-none-any.whl", "has_sig": false, "md5_digest": "1d0191ef3b8d8dd1e2cba0256d9c9b1a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.7", "size": 165222, "upload_time": "2019-02-16T16:24:53", "url": "https://files.pythonhosted.org/packages/7c/25/c16264731e4aa70fcef5fcb1151e957768fd33e004c3d235fc7b4145c22c/pymap-0.10.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "edd7484afae14f044701031e8e1fa9e2", "sha256": "31379b35dd9c9cefd53c7e2c82429c7fe44705cf166b3fcf0c4c6f1cc6a2bc56" }, "downloads": -1, "filename": "pymap-0.10.2.tar.gz", "has_sig": false, "md5_digest": "edd7484afae14f044701031e8e1fa9e2", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 131249, "upload_time": "2019-02-16T16:24:54", "url": "https://files.pythonhosted.org/packages/2c/fb/0cda2d757a544acfd12a0938d8134f81ea26479b40e56152be0011ecd95f/pymap-0.10.2.tar.gz" } ], "0.10.3": [ { "comment_text": "", "digests": { "md5": "60c6c17ce640616eb1216ea5d3133872", "sha256": "0f0ec0b42580ec2e837b54f8db3d716351f93d47c7787a0bc437c27f520e4924" }, "downloads": -1, "filename": "pymap-0.10.3-py3-none-any.whl", "has_sig": false, "md5_digest": "60c6c17ce640616eb1216ea5d3133872", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.7", "size": 194562, "upload_time": "2019-07-22T23:43:37", "url": "https://files.pythonhosted.org/packages/89/b9/ca8ecfc4bc6993d1637643c0802f4544b56311fdbb29a3ea454dc153a0a9/pymap-0.10.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1639fd535ed9c77b48ac0a794a77d3aa", "sha256": "0bd5b36283210465c5a89c3d7c3a197b6f8e2ef7a4b9bd8669cb37fd0faeb9bd" }, "downloads": -1, "filename": "pymap-0.10.3.tar.gz", "has_sig": false, "md5_digest": "1639fd535ed9c77b48ac0a794a77d3aa", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 131432, "upload_time": "2019-07-22T23:43:39", "url": "https://files.pythonhosted.org/packages/86/33/c6503f33fe884a82118732de6c263674b0056310ad140dc575d1226b0ca9/pymap-0.10.3.tar.gz" } ], "0.11.0": [ { "comment_text": "", "digests": { "md5": "53eb06f008eff99cd72f8b49b42b1754", "sha256": "2ce1809c026276b9369bd0cfcbdcc535dd510d811ed1ad7639a12410f19bfd46" }, "downloads": -1, "filename": "pymap-0.11.0-py3-none-any.whl", "has_sig": false, "md5_digest": "53eb06f008eff99cd72f8b49b42b1754", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.7", "size": 161916, "upload_time": "2019-08-22T02:20:51", "url": "https://files.pythonhosted.org/packages/c8/50/6691181b75b8ad9f16ce9e2fc5d50e5715540b6d8d6226db42763247a6ca/pymap-0.11.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2040ad686732caa6d95e68fdeb80b5f0", "sha256": "2abe881f6c28c17ed81f04808f0454a2a4f81bba743a8675912f3fc6378f63c9" }, "downloads": -1, "filename": "pymap-0.11.0.tar.gz", "has_sig": false, "md5_digest": "2040ad686732caa6d95e68fdeb80b5f0", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 135010, "upload_time": "2019-08-22T02:20:53", "url": "https://files.pythonhosted.org/packages/38/5a/dd709b33670fd64f69f2fb83d96a6559d6617338f41794e8a5ae3b600432/pymap-0.11.0.tar.gz" } ], "0.12.0": [ { "comment_text": "", "digests": { "md5": "6414fa924565f3992d186e1e253a3787", "sha256": "96ebe0c1bafb6f3ff143506978e6a156450b587d5b1f9db4ce7340760dbc14af" }, "downloads": -1, "filename": "pymap-0.12.0-py3-none-any.whl", "has_sig": false, "md5_digest": "6414fa924565f3992d186e1e253a3787", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.7", "size": 187823, "upload_time": "2019-09-09T01:06:25", "url": "https://files.pythonhosted.org/packages/cb/4d/8c6b4b57fc2731b9e6941ea8aa3bfd2bcfd5951a6e0bb970f8788164c105/pymap-0.12.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0d6cf4fae679aabd0766670d5941055e", "sha256": "cf5a1f3305b77e5b405203ce1ae4503fa8f1553de15c9d40b8c796b9b8320ce6" }, "downloads": -1, "filename": "pymap-0.12.0.tar.gz", "has_sig": false, "md5_digest": "0d6cf4fae679aabd0766670d5941055e", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 145919, "upload_time": "2019-09-09T01:06:27", "url": "https://files.pythonhosted.org/packages/70/56/b72896fcc3c1b55967ab327a40859734a383de282eb1f6a39d18eb62f211/pymap-0.12.0.tar.gz" } ], "0.12.1": [ { "comment_text": "", "digests": { "md5": "494312cddd284b80d884259091da8edd", "sha256": "4a3ce2a4567846d85d167df58b569c72e3fed8ae1e42c067f89432c45fd88f33" }, "downloads": -1, "filename": "pymap-0.12.1-py3-none-any.whl", "has_sig": false, "md5_digest": "494312cddd284b80d884259091da8edd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.7", "size": 177279, "upload_time": "2019-09-10T01:22:26", "url": "https://files.pythonhosted.org/packages/14/e7/102862678fa7ef46f50e1ce2b1855f92cd94663aba609f4ccc950e1849ba/pymap-0.12.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b6c3fe3781db4bf941bf8c6548bbe5ee", "sha256": "c8e14cae42cf1e3a53ba252b103e0ffc4a6faef3c4bfadae6d1c47a49cf4cb54" }, "downloads": -1, "filename": "pymap-0.12.1.tar.gz", "has_sig": false, "md5_digest": "b6c3fe3781db4bf941bf8c6548bbe5ee", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 146287, "upload_time": "2019-09-10T01:22:28", "url": "https://files.pythonhosted.org/packages/dc/15/00106973c6f3070b5f904fba1d3ba0088e1b37980c0fa908e45072f6c826/pymap-0.12.1.tar.gz" } ], "0.12.2": [ { "comment_text": "", "digests": { "md5": "886f5aa8e16ca61c431d361778ea0a9a", "sha256": "a5313e3407f299792692def543e13efcfa74200f114ba62d9e6128852a6eca43" }, "downloads": -1, "filename": "pymap-0.12.2-py3-none-any.whl", "has_sig": false, "md5_digest": "886f5aa8e16ca61c431d361778ea0a9a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.7", "size": 177377, "upload_time": "2019-09-11T02:26:59", "url": "https://files.pythonhosted.org/packages/a4/36/be0eb819441d526924b1e346424016bc8d2eb244fffd333aabb6f5e616df/pymap-0.12.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3ba9ddb03bb62d78b1e4c952d44f92cf", "sha256": "0383cd7ca8c8209efd7fbc0685a9567fff8ef965f5fe8f6ecd03c221e35bafb6" }, "downloads": -1, "filename": "pymap-0.12.2.tar.gz", "has_sig": false, "md5_digest": "3ba9ddb03bb62d78b1e4c952d44f92cf", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 146464, "upload_time": "2019-09-11T02:27:01", "url": "https://files.pythonhosted.org/packages/77/f3/4a92b08cd2c8214c87dd2509f6914da81fc0548cfb204a01ea395d3274a5/pymap-0.12.2.tar.gz" } ], "0.13.1": [ { "comment_text": "", "digests": { "md5": "c7af789a13b315748396a9150775acba", "sha256": "251eb44d482b92fc3ccdc71c11e13b292770650415a33effcb549e26bbc90c5b" }, "downloads": -1, "filename": "pymap-0.13.1-py3-none-any.whl", "has_sig": false, "md5_digest": "c7af789a13b315748396a9150775acba", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.7", "size": 190667, "upload_time": "2019-09-24T23:05:01", "url": "https://files.pythonhosted.org/packages/31/cc/b3056db8ff576229bf9fbb4aa24388148477f80ac99cdecceebd4aa16a0a/pymap-0.13.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9bb18ba7823012e3c2bff3c14d061ae0", "sha256": "48f072465c6f1a17f60cbb014642dfc677fd6138863623ae0b3f47108c5d8fd0" }, "downloads": -1, "filename": "pymap-0.13.1.tar.gz", "has_sig": false, "md5_digest": "9bb18ba7823012e3c2bff3c14d061ae0", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 151572, "upload_time": "2019-09-24T23:05:04", "url": "https://files.pythonhosted.org/packages/26/46/ab90ce143bbb2a9ad51163bd70e425d38c36aa425d166cc11541c93135a4/pymap-0.13.1.tar.gz" } ], "0.13.2": [ { "comment_text": "", "digests": { "md5": "ab7a62b6bfcb6801758b10c1fb89804f", "sha256": "e1a4f723c4e24d66f93b2279c5c2c28c32297ab3a7d1827ef27c280f0578d304" }, "downloads": -1, "filename": "pymap-0.13.2-py3-none-any.whl", "has_sig": false, "md5_digest": "ab7a62b6bfcb6801758b10c1fb89804f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.7", "size": 191061, "upload_time": "2019-09-26T21:51:55", "url": "https://files.pythonhosted.org/packages/2b/76/dce1b059e1d6bcef69ce6cc56f266b9c1b5c5cdbb7a1a5be66d3298f2293/pymap-0.13.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "97222ad7941ebb738029a519d8ca4d4b", "sha256": "4979daa3036435ab4dd0577d5aa60aac6a02ab3756fc40905ebfb5ca3a676185" }, "downloads": -1, "filename": "pymap-0.13.2.tar.gz", "has_sig": false, "md5_digest": "97222ad7941ebb738029a519d8ca4d4b", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 151312, "upload_time": "2019-09-26T21:51:57", "url": "https://files.pythonhosted.org/packages/a0/33/57ecb7d0c7ff6eef71345c382744e91c151ef3847581c88e73c22681a1b0/pymap-0.13.2.tar.gz" } ], "0.13.3": [ { "comment_text": "", "digests": { "md5": "28d8fbbc2bde93e33b536e2fc0de80f2", "sha256": "cdab6090a6bcc63b316fd023ceda92c259d7663292148e5204e1df0e92d8e252" }, "downloads": -1, "filename": "pymap-0.13.3-py3-none-any.whl", "has_sig": false, "md5_digest": "28d8fbbc2bde93e33b536e2fc0de80f2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 191232, "upload_time": "2019-10-19T13:56:37", "url": "https://files.pythonhosted.org/packages/85/13/d2fa3c8426490ac7428c4ff1bb7d11f466d8bbc4713be542607cffef9d38/pymap-0.13.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3bcb5fcbf2793c74893f2f5a1145f80f", "sha256": "49d7aade5a6ad55e499a4805cdf94aca268a1e6ef7dc980080b1efcbaa1cc64f" }, "downloads": -1, "filename": "pymap-0.13.3.tar.gz", "has_sig": false, "md5_digest": "3bcb5fcbf2793c74893f2f5a1145f80f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 156342, "upload_time": "2019-10-19T13:56:39", "url": "https://files.pythonhosted.org/packages/56/4a/339790b2fd3f80c85503ee3ea9df43b36615a36a052d0faba2dcec21023e/pymap-0.13.3.tar.gz" } ], "0.3.0.post1": [ { "comment_text": "", "digests": { "md5": "7812a759634cbb8184f23807f02694f6", "sha256": "7ed88691eada9733e5566b72f692137a70bc4c89d922929751363bce236befeb" }, "downloads": -1, "filename": "pymap-0.3.0.post1-py3-none-any.whl", "has_sig": false, "md5_digest": "7812a759634cbb8184f23807f02694f6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.7", "size": 139423, "upload_time": "2019-01-27T22:26:01", "url": "https://files.pythonhosted.org/packages/09/db/24b25fe3a047dbc940b5956ff2e9fc2b6db15edb35b4638bbaa2d5f72d28/pymap-0.3.0.post1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "03f016d76bf4be8b5e787552a79ce959", "sha256": "e0e61cf66d1f49aaf3fe7a29c635b7bb6762c75f22790593b1be807fc1b47395" }, "downloads": -1, "filename": "pymap-0.3.0.post1.tar.gz", "has_sig": false, "md5_digest": "03f016d76bf4be8b5e787552a79ce959", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 65426, "upload_time": "2019-01-27T22:26:03", "url": "https://files.pythonhosted.org/packages/c9/6c/6ea8a6df0f77b5fe5b40cf091775288c054bb93b46e812644568f130a476/pymap-0.3.0.post1.tar.gz" } ], "0.4.0.post1": [ { "comment_text": "", "digests": { "md5": "a279baa01f00eda109854124c26bd1dd", "sha256": "a1fc519f51dbd6aaec933af57990803979c97955301fda2d6944733eac3a5019" }, "downloads": -1, "filename": "pymap-0.4.0.post1-py3-none-any.whl", "has_sig": false, "md5_digest": "a279baa01f00eda109854124c26bd1dd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.7", "size": 154180, "upload_time": "2019-01-27T22:28:48", "url": "https://files.pythonhosted.org/packages/f3/b3/6c5bb75746823f8211eed463ed1bab3005914d8543f0923d570556895bd6/pymap-0.4.0.post1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bb2ec4bbc9d006016e73e4ce7ef02141", "sha256": "a33b9ee44d1377b29f08faa90402f03dbfe1d461fb0a47b20b6780e316bc5708" }, "downloads": -1, "filename": "pymap-0.4.0.post1.tar.gz", "has_sig": false, "md5_digest": "bb2ec4bbc9d006016e73e4ce7ef02141", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 78073, "upload_time": "2019-01-27T22:28:50", "url": "https://files.pythonhosted.org/packages/0f/56/2b7f0224db85461eb77a027c4dbb1953f2b983c2fc086aecfc143eb042d6/pymap-0.4.0.post1.tar.gz" } ], "0.5.1.post1": [ { "comment_text": "", "digests": { "md5": "a4d0b624545094f1d4d426a09a2d2c56", "sha256": "e80057fdd99e2d3734ec13b4ff25a25be92b8007283b029a9c941b727bfa4233" }, "downloads": -1, "filename": "pymap-0.5.1.post1-py3-none-any.whl", "has_sig": false, "md5_digest": "a4d0b624545094f1d4d426a09a2d2c56", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.7", "size": 155915, "upload_time": "2019-01-27T22:30:59", "url": "https://files.pythonhosted.org/packages/ae/7f/74af4526b88972899dbaf3d863f467a5da0a371159f3a974605e297184c5/pymap-0.5.1.post1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1c2c97f907557b3c0fb40a4ce774d4fa", "sha256": "5761e0d5c9e3dce1c8c803b748c95e64ab609ead1e3e698310da41ad521f388b" }, "downloads": -1, "filename": "pymap-0.5.1.post1.tar.gz", "has_sig": false, "md5_digest": "1c2c97f907557b3c0fb40a4ce774d4fa", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 88086, "upload_time": "2019-01-27T22:31:01", "url": "https://files.pythonhosted.org/packages/46/79/15912ceaaca5f0afd11388744c13dcf1f57f87f06959be4b77a316f7418e/pymap-0.5.1.post1.tar.gz" } ], "0.6.0.post1": [ { "comment_text": "", "digests": { "md5": "078fbd0dc0b0cba2447c6421283a666d", "sha256": "86363f1e2813366e6e598b2b9cddfb16f3a8299d11e105c20b9e3d7d75422d15" }, "downloads": -1, "filename": "pymap-0.6.0.post1-py3-none-any.whl", "has_sig": false, "md5_digest": "078fbd0dc0b0cba2447c6421283a666d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.7", "size": 159013, "upload_time": "2019-01-27T22:31:56", "url": "https://files.pythonhosted.org/packages/bc/55/f1b8e0181d926027251f1e6e7d6165e3adb6509b831cdf5447c557cc9402/pymap-0.6.0.post1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "390399b5dff1425ca88013a277104735", "sha256": "a50f8c9dc9b2c98ac9f9db0a56f3ef5895075395b8582645700fe7981ea69097" }, "downloads": -1, "filename": "pymap-0.6.0.post1.tar.gz", "has_sig": false, "md5_digest": "390399b5dff1425ca88013a277104735", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 100904, "upload_time": "2019-01-27T22:31:57", "url": "https://files.pythonhosted.org/packages/0a/b1/46c341cbcf5d2ceae7d9132e19c86d22bc08039422989df1958b92ddd3b5/pymap-0.6.0.post1.tar.gz" } ], "0.7.0.post1": [ { "comment_text": "", "digests": { "md5": "9c88bd70b482ff6fd78014d0a795df47", "sha256": "64f13154c45605cd615a0b2e6a3d921a7d3d11c0c567aad261e22b35f790a9ed" }, "downloads": -1, "filename": "pymap-0.7.0.post1-py3-none-any.whl", "has_sig": false, "md5_digest": "9c88bd70b482ff6fd78014d0a795df47", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.7", "size": 160288, "upload_time": "2019-01-27T22:33:25", "url": "https://files.pythonhosted.org/packages/21/58/ca0c5290a4e6ef230dfe02cbc46a5f12bdad7359828a4ead32edf993d844/pymap-0.7.0.post1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ab40d881a087a50dd0fc643765f7f1a1", "sha256": "4434dcb7dbe6d9d6dc1220fd6c85723cc285737ee515a431a71e203bdf029b25" }, "downloads": -1, "filename": "pymap-0.7.0.post1.tar.gz", "has_sig": false, "md5_digest": "ab40d881a087a50dd0fc643765f7f1a1", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 108189, "upload_time": "2019-01-27T22:33:26", "url": "https://files.pythonhosted.org/packages/1d/3d/5c57544ce3f854b383379ac407d88c487cbb08989d4e001732df3ba760be/pymap-0.7.0.post1.tar.gz" } ], "0.7.1.post1": [ { "comment_text": "", "digests": { "md5": "694d67b7bbb5ab92411e3935dcb7afd6", "sha256": "6cbc82019c18377dca2124460fe862596e4d90ad0cfd15f0c28e269c83482130" }, "downloads": -1, "filename": "pymap-0.7.1.post1-py3-none-any.whl", "has_sig": false, "md5_digest": "694d67b7bbb5ab92411e3935dcb7afd6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.7", "size": 161765, "upload_time": "2019-01-27T22:34:28", "url": "https://files.pythonhosted.org/packages/ae/9d/c154114db2a053837b50e1b5098373afa4fbe35b7845dbbea455367ba168/pymap-0.7.1.post1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "45e46b9e966991e9aea1b9215dea44a4", "sha256": "e452aa27f0924349826e59066a72bee80a3125c32d807ff320c85dd2ed5416c8" }, "downloads": -1, "filename": "pymap-0.7.1.post1.tar.gz", "has_sig": false, "md5_digest": "45e46b9e966991e9aea1b9215dea44a4", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 109925, "upload_time": "2019-01-27T22:34:29", "url": "https://files.pythonhosted.org/packages/ba/ad/a3ea76a6650680d81b4bcce943ac8d19cf65a3f1999a0a8e202ccaf803cd/pymap-0.7.1.post1.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "4bfdb268184b91e145e2a326b3867168", "sha256": "9d69acf21ffbe8e54e5034be7a639fed811cfd99352f2f9b2273aaaaf66c0a93" }, "downloads": -1, "filename": "pymap-0.8.0-py3-none-any.whl", "has_sig": false, "md5_digest": "4bfdb268184b91e145e2a326b3867168", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.7", "size": 138588, "upload_time": "2019-01-26T19:30:44", "url": "https://files.pythonhosted.org/packages/82/cf/087f144544340ff92993f5171f790463d5a72aee0bcabf43321775a298a7/pymap-0.8.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c189dbcdca32df1fd74052e82a0e7356", "sha256": "a3499142c4f8db966b35196769277ec567f1bff4c1d4aa9f84c038a6e5335e18" }, "downloads": -1, "filename": "pymap-0.8.0.tar.gz", "has_sig": false, "md5_digest": "c189dbcdca32df1fd74052e82a0e7356", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 116609, "upload_time": "2019-01-26T19:30:24", "url": "https://files.pythonhosted.org/packages/8a/87/2d5dd7f6fba032dddb2497abe020a65ede65dee2a0adaa66c3e5d5a96507/pymap-0.8.0.tar.gz" } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "b5e3cbe09a55e617a3af7a0d514c2fa1", "sha256": "639cf9572fa9ce86d48d0bfd072c156eaad29eade202c84739ccd68233b9f695" }, "downloads": -1, "filename": "pymap-0.9.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b5e3cbe09a55e617a3af7a0d514c2fa1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.7", "size": 186316, "upload_time": "2019-02-01T03:49:57", "url": "https://files.pythonhosted.org/packages/0c/85/2a00476f6260795d36f3b6430122d89bedd99455c8f441bda54f35f2317a/pymap-0.9.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4c45061ae09182ad627eb4407771b4d5", "sha256": "49dbfc01ae761f2c10f01555f709ee142af21d6603a2b92f04a48d95b9807eb4" }, "downloads": -1, "filename": "pymap-0.9.0.tar.gz", "has_sig": false, "md5_digest": "4c45061ae09182ad627eb4407771b4d5", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 125051, "upload_time": "2019-02-01T03:49:59", "url": "https://files.pythonhosted.org/packages/f0/8b/353bc3152645bcc4452afcf9ff72a3a2fb153e1c49390ac07a6e3657abd7/pymap-0.9.0.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "3af5eaeef57b642f900bfcb47e134aee", "sha256": "ff7024c596320c524ee5b3e8826c5e32cbb3e7bc708a2ad0bbce52d59da28136" }, "downloads": -1, "filename": "pymap-0.9.1-py3-none-any.whl", "has_sig": false, "md5_digest": "3af5eaeef57b642f900bfcb47e134aee", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.7", "size": 157663, "upload_time": "2019-02-02T18:02:49", "url": "https://files.pythonhosted.org/packages/8f/e8/ebed88b3a4d394d33574c15100d92e57a79761bf2b20b295a23236829fac/pymap-0.9.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "13141b480aef36afc3d068a75bd5c2e9", "sha256": "11f667e7d797bbfc89bde637f62bb1c013a7813b34fb81c9eafbc837ada1dff5" }, "downloads": -1, "filename": "pymap-0.9.1.tar.gz", "has_sig": false, "md5_digest": "13141b480aef36afc3d068a75bd5c2e9", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 125631, "upload_time": "2019-02-02T18:02:51", "url": "https://files.pythonhosted.org/packages/d1/3c/30886a1a5b99899d5fb05372cf5f64e70b639780da67a842ec6553e64249/pymap-0.9.1.tar.gz" } ], "0.9.2": [ { "comment_text": "", "digests": { "md5": "6b2812c3262f8614c357d9ab8c8d65df", "sha256": "b0eec6ebfb11cd557f1350aed1d4fd7986e446d9ab63093ef42bfd1b3219e1e5" }, "downloads": -1, "filename": "pymap-0.9.2-py3-none-any.whl", "has_sig": false, "md5_digest": "6b2812c3262f8614c357d9ab8c8d65df", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.7", "size": 160452, "upload_time": "2019-02-06T12:52:46", "url": "https://files.pythonhosted.org/packages/d2/eb/97cf92515402f7149ffdf6a6c66800d1ad224b7f6eac121fdaf197cd68eb/pymap-0.9.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a6c115be39ff70e66cc61a9e64ca2ad5", "sha256": "f18895c9b970ba43766068b145588a169d30dc538915a4cfb80d1066b7991158" }, "downloads": -1, "filename": "pymap-0.9.2.tar.gz", "has_sig": false, "md5_digest": "a6c115be39ff70e66cc61a9e64ca2ad5", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 127854, "upload_time": "2019-02-06T12:52:48", "url": "https://files.pythonhosted.org/packages/e4/e0/01e650d8aa456f896384b3061536ec0c23731e9f7ac6d31b4725abe76ece/pymap-0.9.2.tar.gz" } ], "0.9.3": [ { "comment_text": "", "digests": { "md5": "65beae8bf1566e9badb4c61622c543ac", "sha256": "4e7180d81c314e7c4079469bf2347c295340af175c6f72cd0262c828324b8a66" }, "downloads": -1, "filename": "pymap-0.9.3-py3-none-any.whl", "has_sig": false, "md5_digest": "65beae8bf1566e9badb4c61622c543ac", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.7", "size": 190206, "upload_time": "2019-02-09T02:22:51", "url": "https://files.pythonhosted.org/packages/57/3d/1a194419749338d70a34d3f8ef63c995b699bf200fb9af7f493b66c7f8a0/pymap-0.9.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9bb6173d538c097a869b90c11e058297", "sha256": "5ba044946d1b0e8db1c1a02eadcf6406a008f1cf7488cab8709ce49b668e7578" }, "downloads": -1, "filename": "pymap-0.9.3.tar.gz", "has_sig": false, "md5_digest": "9bb6173d538c097a869b90c11e058297", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 128248, "upload_time": "2019-02-09T02:22:52", "url": "https://files.pythonhosted.org/packages/14/9e/51ee5bbfccbb176e51a35e1a6c6dbc781dcebfecdbe1c79000d11e5967f5/pymap-0.9.3.tar.gz" } ], "0.9.4": [ { "comment_text": "", "digests": { "md5": "a255f9bd0d20f085ee30d4b7274c425f", "sha256": "6274b74c51503787a5b80dff12293b0efcd907b3ac7870e7d5f7300224b7665b" }, "downloads": -1, "filename": "pymap-0.9.4-py3-none-any.whl", "has_sig": false, "md5_digest": "a255f9bd0d20f085ee30d4b7274c425f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.7", "size": 191445, "upload_time": "2019-02-10T16:18:59", "url": "https://files.pythonhosted.org/packages/6a/ba/2e05c958b03631e48906ff6f12a021a4094dcb438968ff1c3afbd90800c7/pymap-0.9.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1bcba3b98882fadd7d1ae6995f0d6b62", "sha256": "f7e8b3f0876a1f3631ba9e9b24f0b6cc5f3d463522df37cd14ada615ece21167" }, "downloads": -1, "filename": "pymap-0.9.4.tar.gz", "has_sig": false, "md5_digest": "1bcba3b98882fadd7d1ae6995f0d6b62", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 129119, "upload_time": "2019-02-10T16:19:00", "url": "https://files.pythonhosted.org/packages/51/17/2004246100d3af6bdb1784e6f8e579e0efb14fe944939b45ee4ebe0b7ba8/pymap-0.9.4.tar.gz" } ], "0.9.5": [ { "comment_text": "", "digests": { "md5": "bb5953d4d0d8b0288512bf4b2066ab55", "sha256": "f6a8bfd7b2a8c96ee2bcdda9015b666f4de63224c2df48b987177dd3c4301486" }, "downloads": -1, "filename": "pymap-0.9.5-py3-none-any.whl", "has_sig": false, "md5_digest": "bb5953d4d0d8b0288512bf4b2066ab55", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.7", "size": 191269, "upload_time": "2019-02-10T20:45:58", "url": "https://files.pythonhosted.org/packages/5f/73/7e857dbec29d60c6753236147f86869cf32c4ade6a048e1b4d4b24b7eb70/pymap-0.9.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "76182f52a9926eadd554d3a11bf2bc2a", "sha256": "d8509435f0694dc3630797ee6947fca430c0bafdc311f51b4e734d746b86e21c" }, "downloads": -1, "filename": "pymap-0.9.5.tar.gz", "has_sig": false, "md5_digest": "76182f52a9926eadd554d3a11bf2bc2a", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 128919, "upload_time": "2019-02-10T20:46:00", "url": "https://files.pythonhosted.org/packages/e2/3b/f99b32c4c5c162cf79d5db0f6ff4cc7ec703a1db0181fd0cf4a6b050588c/pymap-0.9.5.tar.gz" } ], "0.9.6": [ { "comment_text": "", "digests": { "md5": "c8fd58bb15f02c775c40c6c545652201", "sha256": "4343c17fe4a60d11c15ca0ae8d700f6853114141a37c386c9651f61287d43f40" }, "downloads": -1, "filename": "pymap-0.9.6-py3-none-any.whl", "has_sig": false, "md5_digest": "c8fd58bb15f02c775c40c6c545652201", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.7", "size": 191940, "upload_time": "2019-02-12T00:52:05", "url": "https://files.pythonhosted.org/packages/5f/6b/69c5426df2ecefa0df71496fcbd57105e8337327d7071890aac7c925e995/pymap-0.9.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b515c29c4f12f2bd1bb89bdb2a3a9feb", "sha256": "4ae539f352ca9bea746f9491255c8c0c5b29c238fd96528842ebc5885487d4c7" }, "downloads": -1, "filename": "pymap-0.9.6.tar.gz", "has_sig": false, "md5_digest": "b515c29c4f12f2bd1bb89bdb2a3a9feb", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 129584, "upload_time": "2019-02-12T00:52:08", "url": "https://files.pythonhosted.org/packages/2a/5a/5f6cd5528d334cc9d4bef58ab2008b92d3ea2677f433cc2750f52df784c3/pymap-0.9.6.tar.gz" } ], "0.9.7": [ { "comment_text": "", "digests": { "md5": "95488ecf1a1bb4629de1600f2e3eaca3", "sha256": "b292755727847ca96b6f9c7b6eaf139b926b49048a418a3e1140114b4818e9b1" }, "downloads": -1, "filename": "pymap-0.9.7-py3-none-any.whl", "has_sig": false, "md5_digest": "95488ecf1a1bb4629de1600f2e3eaca3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.7", "size": 192018, "upload_time": "2019-02-12T02:26:07", "url": "https://files.pythonhosted.org/packages/85/dc/eee6324e7d91ed173e77575d5d0b52cccf5ed9e3e6848f77427ce1aeed1e/pymap-0.9.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "921d2d9a3dd03f1a97c9c8216f184445", "sha256": "14c77e23c78476152cbb3418a98df100ab61510c5158db963a53ae79a893748c" }, "downloads": -1, "filename": "pymap-0.9.7.tar.gz", "has_sig": false, "md5_digest": "921d2d9a3dd03f1a97c9c8216f184445", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 129648, "upload_time": "2019-02-12T02:26:09", "url": "https://files.pythonhosted.org/packages/99/7c/f35c4b4960d80c3cf6279248e6d0b2ab6874188d4f955c4089d7905c8e31/pymap-0.9.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "28d8fbbc2bde93e33b536e2fc0de80f2", "sha256": "cdab6090a6bcc63b316fd023ceda92c259d7663292148e5204e1df0e92d8e252" }, "downloads": -1, "filename": "pymap-0.13.3-py3-none-any.whl", "has_sig": false, "md5_digest": "28d8fbbc2bde93e33b536e2fc0de80f2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 191232, "upload_time": "2019-10-19T13:56:37", "url": "https://files.pythonhosted.org/packages/85/13/d2fa3c8426490ac7428c4ff1bb7d11f466d8bbc4713be542607cffef9d38/pymap-0.13.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3bcb5fcbf2793c74893f2f5a1145f80f", "sha256": "49d7aade5a6ad55e499a4805cdf94aca268a1e6ef7dc980080b1efcbaa1cc64f" }, "downloads": -1, "filename": "pymap-0.13.3.tar.gz", "has_sig": false, "md5_digest": "3bcb5fcbf2793c74893f2f5a1145f80f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 156342, "upload_time": "2019-10-19T13:56:39", "url": "https://files.pythonhosted.org/packages/56/4a/339790b2fd3f80c85503ee3ea9df43b36615a36a052d0faba2dcec21023e/pymap-0.13.3.tar.gz" } ] }