{ "info": { "author": "Pablo O Vieira", "author_email": "noipy@pv8.io", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Intended Audience :: End Users/Desktop", "Intended Audience :: System Administrators", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Internet :: Name Service (DNS)" ], "description": "noipy: DDNS update tool\n=======================\n\n\n.. image:: https://img.shields.io/pypi/v/noipy.svg\n :target: https://pypi.python.org/pypi/noipy/\n\n.. image:: https://img.shields.io/pypi/pyversions/noipy.svg\n :target: https://pypi.python.org/pypi/noipy\n\n.. image:: https://build.snapcraft.io/badge/pv8/noipy.svg\n :target: https://build.snapcraft.io/user/pv8/noipy\n :alt: Snap Status\n\n.. image:: https://api.travis-ci.org/pv8/noipy.svg?branch=master\n :target: https://travis-ci.org/pv8/noipy\n\n.. image:: https://codecov.io/gh/pv8/noipy/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/pv8/noipy\n\n.. image:: https://landscape.io/github/pv8/noipy/master/landscape.svg\n :target: https://landscape.io/github/pv8/noipy/master\n :alt: Code Health\n\n.. image:: https://api.codeclimate.com/v1/badges/1f700be0ea796c8a49e9/maintainability\n :target: https://codeclimate.com/github/pv8/noipy/maintainability\n :alt: Maintainability\n\n.. image:: https://zenodo.org/badge/doi/10.5281/zenodo.29017.svg?style=flat-square\n :target: http://dx.doi.org/10.5281/zenodo.29017\n\nCommand line tool to update DDNS hosts IP address via update API. Initially\nthe tool was designed to update IP address only on No-IP DDNS provider. But\nnow **noipy** has support for the following DDNS providers:\n\n- `No-IP `_\n- `DuckDNS `_\n- `DynDNS `_\n\n\nInstallation\n------------\n\nInstall with `pip `_:\n\n.. code-block:: bash\n\n $ pip install noipy\n\nOr with `Snappy `_ on `supported distros `_:\n\n.. code-block:: bash\n\n $ sudo snap install noipy\n\n**Note**: **noipy** will also install the `Requests HTTP library `_.\n\n\nUsage\n-----\n\nBasic usage of **noipy** command line tool:\n\n.. code-block:: bash\n\n $ noipy -u -p -n \n --provider {generic|noip|dyn|duck}\n\n\nFor `DuckDNS provider `_, the command line would look like this:\n\n.. code-block:: bash\n\n $ noipy -u -n --provider duck\n\n\nOr you can just use ``--hostname`` (``-n``) and ``--provider`` arguments if you have\npreviously `stored your auth information <#storing-auth-information>`_ with ``--store`` option.\n\n.. code-block:: bash\n\n $ noipy --hostname --provider {generic|noip|dyn| duck}\n\n\nYou can also specify a custom DDNS URL (thanks to `@jayennis22 `_):\n\n.. code-block:: bash\n\n $ noipy --hostname [--provider generic]\n --url \n\n\nIt is also possible to inform an IP address other than the machine's current:\n\n.. code-block:: bash\n\n $ noipy --hostname 127.0.0.1\n\n\nIf ``--provider`` option is not informed, **generic** will be used as provider.\n\n\nFor details:\n\n.. code-block:: bash\n\n $ noipy --help\n\n\nStoring auth information\n------------------------\n\nWith ``--store`` option it is possible to store login information. The\ninformation is sotred in ``$HOME/.noipy/`` directory:\n\n.. code-block:: bash\n\n $ noipy --store --username --password \\\n --provider {generic|noip|dyn| duck}\n\nOr simply:\n\n.. code-block:: bash\n\n $ noipy --store --provider {generic|noip|dyn| duck}\n\nAnd type username and password when required.\n\n**Note:** password is stored simply encoded with\n`Base64 `_ method and is not actually\n*encrypted*!\n\nRunning tests\n~~~~~~~~~~~~~\n\nInstall tests dependencies (`tox `_\nand `flake8 `_):\n\n.. code-block:: bash\n\n $ pip install -r requirements_dev.txt\n\n\nTest the code against all supported Python versions and check it against **PEP8** with ``tox``:\n\n.. code-block:: bash\n\n $ tox\n\nCheck **PEP8** only:\n\n.. code-block:: bash\n\n $ tox -e pep8\n\n\nCopyright & License\n-------------------\n\n.. image:: https://img.shields.io/github/license/pv8/noipy.svg?style=flat-square\n :target: LICENSE\n :alt: License\n\nCopyright (c) 2013 Pablo Vieira (pv8).\n\n\n.. :changelog:\n\nChangelog\n=========\n\n1.5.1 (2017-12-19)\n------------------\n\n- Support for Python 3.6\n- Minor refactor related to code style\n- Improved integration with `codeclimate `_\n\n1.5.0 (2016-10-30)\n------------------\n\n- Automatic deploy to `PyPI `_ via `Travis CI `_\n- Minor refactor\n- **Dropped support for Python 3.2**\n\n1.4.4 (2016-04-11)\n------------------\n\n- Bugfix\n\n1.4.3 (2015-10-15)\n------------------\n\n- Included ``User-Agent`` in request Header\n- Improvements on plugins test cases\n- Changed code coverage service from `Coveralls `_ to `Codecov `_\n\n1.4.2 (2015-08-22)\n------------------\n\n- **Bugfix**: storing auth credentials properly from ``stdin``\n- Test case for ``--store`` option getting username/password from ``stdin``\n\n1.4.0 (2015-04-25)\n------------------\n\n- Using the awesome `Requests HTTP library `_\n- Using `tox `_ in order to ease test against multiple Python versions\n\n1.3.1 (2014-12-19)\n------------------\n\n- Send update to DDNS only if IP address has changed\n\n1.3.0 (2014-12-16)\n------------------\n\n- Support for custom DDNS URL via ``--url`` parameter\n\n1.2.3 (2014-10-10)\n------------------\n\n- Unit tests improvements and ``PluginsTest`` bug fixes\n- Custom config directory feature bug fix (``--config`` argument)\n\n1.2.2 (2014-07-03)\n------------------\n\n- PEP8'd code (Closes #5)\n- Switched to `Apache License, Version 2.0 `_\n- Unit test improvement\n- Minor feature: custom config directory via ``-c`` or ``--config`` argument.\n\n1.2.1 (2014-06-30)\n------------------\n\n- Bug fix (execution via command line. issue #5)\n\n1.2.0 (2014-04-21)\n------------------\n\n- Support for `DuckDNS domains update `_\n\n1.1.4 (2013-08-29)\n------------------\n\n- Test case improvements\n- `Coveralls.io `_ support\n\n1.1.3 (2013-07-24)\n------------------\n\n- Python 3.3 compatibility\n\n1.1.0 (2013-05-15)\n------------------\n\n- Support for `DynDNS Update API `_\n- DDNS auth info storage changed\n\n1.0.1 (2013-05-10)\n------------------\n\n- Added flexibility to DNS updater with ``abc.ABCMeta``\n- Code organization\n- Manual settings file removed (auth info can be stored via command line)\n\n0.1.0 (2013-03-22)\n------------------\n\n- Conception\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/povieira/noipy", "keywords": "no-ip,dyndns,duckdns,ddns,api", "license": "Apache License, Version 2.0", "maintainer": "", "maintainer_email": "", "name": "noipy", "package_url": "https://pypi.org/project/noipy/", "platform": "", "project_url": "https://pypi.org/project/noipy/", "project_urls": { "Homepage": "https://github.com/povieira/noipy" }, "release_url": "https://pypi.org/project/noipy/1.5.2/", "requires_dist": [ "requests (>=2.0)" ], "requires_python": "", "summary": "Command line tool for DDNS IP address updating.", "version": "1.5.2" }, "last_serial": 5093993, "releases": { "1.1.0": [ { "comment_text": "", "digests": { "md5": "6e67b8f16695f702d0d3e7e12e7723f5", "sha256": "21073bbd187e345c083f8001bda08b19a63a938adb4b98ae0c784f52a13027f4" }, "downloads": -1, "filename": "noipy-1.1.0.tar.gz", "has_sig": false, "md5_digest": "6e67b8f16695f702d0d3e7e12e7723f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11104, "upload_time": "2013-07-03T18:41:45", "url": "https://files.pythonhosted.org/packages/60/dc/955ba17d1efa4538f1fb679bed54a90d6615d2c4dffac2be67ef89f39cc3/noipy-1.1.0.tar.gz" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "a495a6a8113fd8ccc8b5823e7159a145", "sha256": "25224a920fa69293d878445c41f4aa5416deda8a895c391bbd9df6c90fc6b3a7" }, "downloads": -1, "filename": "noipy-1.1.3.tar.gz", "has_sig": false, "md5_digest": "a495a6a8113fd8ccc8b5823e7159a145", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11415, "upload_time": "2013-07-25T18:00:15", "url": "https://files.pythonhosted.org/packages/d1/f1/add18d9b56a7d543658526ffae643c91b85021811e17fa59b0cc3d23954d/noipy-1.1.3.tar.gz" } ], "1.1.4": [ { "comment_text": "", "digests": { "md5": "87a43299e3c43f02c54b5528b24a3e13", "sha256": "8c50dc2d212bc71a1db07dccdb4ae644904bc0138a08a188cc637108f79ec162" }, "downloads": -1, "filename": "noipy-1.1.4.tar.gz", "has_sig": false, "md5_digest": "87a43299e3c43f02c54b5528b24a3e13", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12108, "upload_time": "2013-08-29T22:12:46", "url": "https://files.pythonhosted.org/packages/e5/06/5df8ee6933974c6e53db44d641c3f21b6bf9730c9556c55350e8a7b4571f/noipy-1.1.4.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "7bf8734ed6137612d5a2fadcab08b9ea", "sha256": "6c4a51ec923dfb937f3a014687217a2ed9e41f6becc41d57ef062010df049902" }, "downloads": -1, "filename": "noipy-1.2.0.tar.gz", "has_sig": false, "md5_digest": "7bf8734ed6137612d5a2fadcab08b9ea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13873, "upload_time": "2014-04-21T18:43:36", "url": "https://files.pythonhosted.org/packages/e8/81/a9021d6d93e089c9a5ba6eee838c6ab4c1ada06ae8f8fa87d2d15d309e04/noipy-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "a511d6638fde23a95135f3633481ec56", "sha256": "89409b825d6285d71312f6feed9af7954d448396a5329b679c8cdf413c4734d3" }, "downloads": -1, "filename": "noipy-1.2.1.tar.gz", "has_sig": false, "md5_digest": "a511d6638fde23a95135f3633481ec56", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14339, "upload_time": "2014-06-30T19:06:11", "url": "https://files.pythonhosted.org/packages/60/1b/6f404bd665b2c2430f6dc4afa7dec841d4fdc012d065219f4f73f63c4700/noipy-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "3696e54640ef14747f5344178f8a39c9", "sha256": "6ef02171e97096ecca3bc7adffdb7daba1c764bf80bf0f844386169e7daaa363" }, "downloads": -1, "filename": "noipy-1.2.2.tar.gz", "has_sig": false, "md5_digest": "3696e54640ef14747f5344178f8a39c9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14238, "upload_time": "2014-07-03T13:19:37", "url": "https://files.pythonhosted.org/packages/a7/4d/496e8fc23a7abb75f758a42f32882e1cd333d7c2f8c1d17dee856371c4ee/noipy-1.2.2.tar.gz" } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "2818b241566b61db3dd2ffd50227102f", "sha256": "17dcb1293a92d301403c522aa0c565b794d1f86e343b9e188083e3226309414d" }, "downloads": -1, "filename": "noipy-1.2.3.tar.gz", "has_sig": false, "md5_digest": "2818b241566b61db3dd2ffd50227102f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14490, "upload_time": "2014-10-10T20:38:45", "url": "https://files.pythonhosted.org/packages/e3/1c/3c9f3b5d24fcfe1221ac3b736806a00caab2af0218efeae430e734a303f2/noipy-1.2.3.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "c86b4fa10ffbe91b1c1796af4b77ceb3", "sha256": "404d90e1d3352db6e095f7e6ff928f4dd3629d4651672ab459b8f2b6a2aafb47" }, "downloads": -1, "filename": "noipy-1.3.0.tar.gz", "has_sig": false, "md5_digest": "c86b4fa10ffbe91b1c1796af4b77ceb3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15463, "upload_time": "2014-12-16T12:54:21", "url": "https://files.pythonhosted.org/packages/c1/dc/8b91e7c6d2679b6c14b5770bead403ee101c52d851493382dfbfdfc28483/noipy-1.3.0.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "de771796a59f9053606ec792a449b588", "sha256": "5458d2076bcc639f9cdd5794242ce2b1be6762e7a7c0afecdaa7b3b2d95f5595" }, "downloads": -1, "filename": "noipy-1.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "de771796a59f9053606ec792a449b588", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 17655, "upload_time": "2014-12-19T21:17:08", "url": "https://files.pythonhosted.org/packages/2a/51/66834cce076406c3eda2d357b0e4902853ad92c8e73d1592d293f0f6dfc9/noipy-1.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "eebd070aade75d3541b9e3b20e2f7c1d", "sha256": "3734ef1bcaee662bf14f932564e8895153bd01e4ff757b8e3f0b88c072f5f89f" }, "downloads": -1, "filename": "noipy-1.3.1.tar.gz", "has_sig": false, "md5_digest": "eebd070aade75d3541b9e3b20e2f7c1d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15720, "upload_time": "2014-12-19T21:17:05", "url": "https://files.pythonhosted.org/packages/9b/2e/0db1e928b2058e5cd9ab232dd030fdad01f79c25cae75eb1c231e40c619f/noipy-1.3.1.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "a4e71659a95d9f8d858817e69e3724ec", "sha256": "fe4290e832c7e14a249e92c205aa6413710d602e8a7b52661d44d80d4099508d" }, "downloads": -1, "filename": "noipy-1.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a4e71659a95d9f8d858817e69e3724ec", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14065, "upload_time": "2015-04-25T17:21:46", "url": "https://files.pythonhosted.org/packages/9b/75/72787cc5389bd64fedc8bc16628554d1c703266f2aa975f5f1e9b7109dbe/noipy-1.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "58a5f6100587a983d7373fd68b373c8e", "sha256": "c3bc290df74f51f04082a34d243b65be5287c41c0fd7579091dc58f4cc47909c" }, "downloads": -1, "filename": "noipy-1.4.0.tar.gz", "has_sig": false, "md5_digest": "58a5f6100587a983d7373fd68b373c8e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16192, "upload_time": "2015-04-25T17:21:50", "url": "https://files.pythonhosted.org/packages/f2/10/2f6e94216edd48480f6235616496f5f88faee4fe818d1d0a76dc9cd5032f/noipy-1.4.0.tar.gz" } ], "1.4.1": [], "1.4.2": [ { "comment_text": "", "digests": { "md5": "767cbc307d084e4ad8d57a095bcba6fd", "sha256": "a942fc1aab9fef14018c24cbec5e6739f2ae51f2cd9633c4ab84d902a226b4c4" }, "downloads": -1, "filename": "noipy-1.4.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "767cbc307d084e4ad8d57a095bcba6fd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14169, "upload_time": "2015-08-22T16:51:56", "url": "https://files.pythonhosted.org/packages/f9/ed/38b43a301f654a80bb448f07b085f5e534ace90fc4f4fc7699125e008a0a/noipy-1.4.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "77c18be3b12816932cceb2e5e1881602", "sha256": "3e898c6a80d6a48aa2c5b8461b4aaf5145e756702616de26d03f6888623305cc" }, "downloads": -1, "filename": "noipy-1.4.2.tar.gz", "has_sig": false, "md5_digest": "77c18be3b12816932cceb2e5e1881602", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16443, "upload_time": "2015-08-22T16:52:07", "url": "https://files.pythonhosted.org/packages/16/36/afb18324818c749ce2221324cef3662e0a4006aa018b404e9f07daf65f15/noipy-1.4.2.tar.gz" } ], "1.4.3": [ { "comment_text": "", "digests": { "md5": "5e8e903e744343d62fcf217408ffa3c7", "sha256": "30ba65f9eef896859107055100781fcaf1ad08d662cc81537e055a3d7cb24bf1" }, "downloads": -1, "filename": "noipy-1.4.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5e8e903e744343d62fcf217408ffa3c7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14443, "upload_time": "2015-10-15T17:53:11", "url": "https://files.pythonhosted.org/packages/cd/7a/0b46a968cfbda6e856cc5c33294b63c58bec48e60b7728db2273120728ec/noipy-1.4.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2f41f597c785044955e87d23737f7c61", "sha256": "0275b778fff766fa4f6b8281b67778a966b488544ab0fe429200691e7ec4bb54" }, "downloads": -1, "filename": "noipy-1.4.3.tar.gz", "has_sig": false, "md5_digest": "2f41f597c785044955e87d23737f7c61", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16942, "upload_time": "2015-10-15T17:53:15", "url": "https://files.pythonhosted.org/packages/32/7a/8e0074f0e78f474129ba7e7adfab8e5934126acd68cf18e12f303737230f/noipy-1.4.3.tar.gz" } ], "1.4.4": [ { "comment_text": "", "digests": { "md5": "fc16f00abd153c908542b25afce1bcdf", "sha256": "f5dd5cfd5e2a7d58a57860f2fd99067c3209d29abd70e03cb570b9d7dffbd9d3" }, "downloads": -1, "filename": "noipy-1.4.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fc16f00abd153c908542b25afce1bcdf", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14480, "upload_time": "2016-04-11T23:44:20", "url": "https://files.pythonhosted.org/packages/fd/cd/03f1eee412783761e08a7b2ffaadf1f007db8276908736662a6bd179fad0/noipy-1.4.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "af1aebeb7d76df657de828b64923fb7f", "sha256": "8493abfda97a1405564bc63bb086ff7254478e26413f920954391bbd233c219b" }, "downloads": -1, "filename": "noipy-1.4.4.tar.gz", "has_sig": false, "md5_digest": "af1aebeb7d76df657de828b64923fb7f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16950, "upload_time": "2016-04-11T23:44:32", "url": "https://files.pythonhosted.org/packages/7f/c8/a971a91f2d0fd0101fb3d83f6ff80993902f56fe4a08fc69ee40c997a988/noipy-1.4.4.tar.gz" } ], "1.5.0": [ { "comment_text": "", "digests": { "md5": "ba29fc08f9af0e3ca78ec3296ce146f6", "sha256": "8e3c41676c886514c5a2a3821ba95723eada83fa6825855ba20355286e4f92c3" }, "downloads": -1, "filename": "noipy-1.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ba29fc08f9af0e3ca78ec3296ce146f6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14145, "upload_time": "2016-10-30T20:17:42", "url": "https://files.pythonhosted.org/packages/d7/4b/2e61b386bffe023ec948a7c4f01afc7750ca9af136594f4e58006c91266f/noipy-1.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0b953a65fb0dbb3705aebfaa28e54dc6", "sha256": "e2face9be8d293715a00d31dc39ada7f59fa72a784b49ff12ddfcddc123e4330" }, "downloads": -1, "filename": "noipy-1.5.0.tar.gz", "has_sig": false, "md5_digest": "0b953a65fb0dbb3705aebfaa28e54dc6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18848, "upload_time": "2016-10-30T20:17:44", "url": "https://files.pythonhosted.org/packages/c5/60/6714dce5951419c10efa2fb959096f73f59dd78f24b7018e47b22ebf3df8/noipy-1.5.0.tar.gz" } ], "1.5.1": [ { "comment_text": "", "digests": { "md5": "ddc2e553ece25c3b333981b1b14046d4", "sha256": "6fe9d433528a808c71668fd2449932c9e58abe0220c657cb7b9a806e0579f6b1" }, "downloads": -1, "filename": "noipy-1.5.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ddc2e553ece25c3b333981b1b14046d4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13894, "upload_time": "2017-12-20T00:57:39", "url": "https://files.pythonhosted.org/packages/00/26/10483be28dea30d1f60d707b59f2a4badf76d78fd71afe3399028456557b/noipy-1.5.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5e219173e829be4522fa73278b9f21db", "sha256": "d8b573d86e99ca71f79117e383ac1af8ec5fb0d604d4449960eac5ece6c33fe1" }, "downloads": -1, "filename": "noipy-1.5.1.tar.gz", "has_sig": false, "md5_digest": "5e219173e829be4522fa73278b9f21db", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19186, "upload_time": "2017-12-20T00:57:40", "url": "https://files.pythonhosted.org/packages/52/73/8f624481ec8d92a0b23ff56d35152252aa995d4dabbbf31f87734d09d58d/noipy-1.5.1.tar.gz" } ], "1.5.2": [ { "comment_text": "", "digests": { "md5": "9888ad6ea2f3108e656f2b8d1adfdde3", "sha256": "2ce91c816a14db215339703376ba6eae023a044c0bd78770ed8984b3e59f96f1" }, "downloads": -1, "filename": "noipy-1.5.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9888ad6ea2f3108e656f2b8d1adfdde3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14689, "upload_time": "2019-04-04T03:00:05", "url": "https://files.pythonhosted.org/packages/9e/15/4cb8c12d6cb5b552960aee689a9175df5a8816252dd3eacbc13635c0a556/noipy-1.5.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "143583e80d1332aef638e46ebcd08e46", "sha256": "e04be0c6b178b9359e3692b72395ad6727e9e10cfa0707841191a8b1722b1960" }, "downloads": -1, "filename": "noipy-1.5.2.tar.gz", "has_sig": false, "md5_digest": "143583e80d1332aef638e46ebcd08e46", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19827, "upload_time": "2019-04-04T03:00:07", "url": "https://files.pythonhosted.org/packages/04/06/3a5d84c3bf8b203cc44774268853da8c0dd93b5589e9ed3ca1c7d9646e21/noipy-1.5.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9888ad6ea2f3108e656f2b8d1adfdde3", "sha256": "2ce91c816a14db215339703376ba6eae023a044c0bd78770ed8984b3e59f96f1" }, "downloads": -1, "filename": "noipy-1.5.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9888ad6ea2f3108e656f2b8d1adfdde3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14689, "upload_time": "2019-04-04T03:00:05", "url": "https://files.pythonhosted.org/packages/9e/15/4cb8c12d6cb5b552960aee689a9175df5a8816252dd3eacbc13635c0a556/noipy-1.5.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "143583e80d1332aef638e46ebcd08e46", "sha256": "e04be0c6b178b9359e3692b72395ad6727e9e10cfa0707841191a8b1722b1960" }, "downloads": -1, "filename": "noipy-1.5.2.tar.gz", "has_sig": false, "md5_digest": "143583e80d1332aef638e46ebcd08e46", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19827, "upload_time": "2019-04-04T03:00:07", "url": "https://files.pythonhosted.org/packages/04/06/3a5d84c3bf8b203cc44774268853da8c0dd93b5589e9ed3ca1c7d9646e21/noipy-1.5.2.tar.gz" } ] }