{ "info": { "author": "sqwishy", "author_email": "somebody@froghat.ca", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Programming Language :: Python :: 3.6", "Topic :: Office/Business", "Topic :: Utilities" ], "description": "Impetuous\n=========\n\n.. image:: https://img.shields.io/badge/TODOs-420-729fcf.svg\n.. image:: https://img.shields.io/badge/downloads-743M%2Fday-brightgreen.svg\n.. image:: https://img.shields.io/badge/coverage-no-lightgrey.svg\n.. image:: https://img.shields.io/badge/build-disappointed-blue.svg\n.. image:: https://img.shields.io/badge/node.js-webscale-orange.svg\n.. image:: https://img.shields.io/badge/available%20on-itunes-9377db.svg\n.. image:: https://img.shields.io/badge/uptime-since%20lunch-78bdf2.svg\n.. image:: https://img.shields.io/badge/kony-2012-ff69b4.svg\n\nThis is some time/task tracking software. It can talk (barely) to/at JIRA and Freshdesk. \ud83d\udc11 *PLEASELIKEANDSUBSCRIBE*\n\nRequirements\n------------\n\npython 3.6\n\nInstallation\n------------\n\nInstall from pypi with pip. Like :code:`sudo python3 -m pip install impetuous` or :code:`python3 -m pip install --user impetuous` or something.\n\nClone the source code and install with :code:`python3 -m pip install --user -e .`. If you want. :sup:`You don't have to.` :sub:`I'm not the police.`\n\nCLI Usage\n---------\n\nThe data is stored in a sqlite3 database at :code:`~/.local/share/impetuous/data.sqlite`. This can be overridden by setting :code:`IM_DB`.\n\nTo start doing something, run :code:`im doing something`. Once you're not doing anything anymore, run it again but doing tell it what you're doing; :code:`im doing`. If you start doing something and you're already doing a thing, it'll try to stop the thing you're doing before starting the new one. You can use :code:`-w` to specify the date and/or time you're starting the thing.\n\n:code:`im show` will list time entries. It uses :code:`--since` and :code:`--until` to filter on entries to show. By default, that range is today. Sometimes it's nice to look at yesterday, so you can pass :code:`-y` or :code:`--yesterday` for that. You can provide :code:`-y` multiple times to keep going back. These time range options should be given after :code:`im` and before the action (such as :code:`doing` or :code:`show`).\n\n:code:`--yesterday` works by moving back the dates (given and default) for :code:`--since` and :code:`--until` and :code:`--when` for :code:`im doing`.\n\nMany actions can do dry runs with :code:`--dry-run`.\n\nWhen all else fails, use :code:`im edit` to open a YAML representation of your time entries in :code:`EDITOR`. Like :code:`im show`, this only shows entries filtered by :code:`--yesterday`, :code:`--since`, and :code:`--until`.\n\n:code:`im post` will post your time entries to an external service you have configured. The responses are saved in the database, so impetuous will remember the result and won't double-post if you run :code:`im post` again.\n\nExamples\n^^^^^^^^\n\nHere's a thing.\n\n.. image:: https://asciinema.org/a/rAmVRGoo0x4SdaRBZoXQf9kEx.png?theme=tango\n :width: 640px\n :alt: Usage Demo\n :target: https://asciinema.org/a/rAmVRGoo0x4SdaRBZoXQf9kEx?theme=tango\n\nConfiguration and JIRA and Freshdesk\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nEdit the configuration by running :code:`im config-edit`, which just opens the configuration file in :code:`~/.config/impetuous/config.ini` in :code:`EDITOR`. This is an example :code:`config.ini`::\n\n [jira]\n api = jira\n server = https://funkymonkey.atlassian.net\n basic_auth = admin:hunter2\n pattern = ((?:FOO-\\d+)|(?:BAR-\\d+))\n\n [freshdesk]\n api = freshdesk\n server = https://funkymonkey.freshdesk.com\n api_key = xxxxxxxxxxxxxxxxxxxx\n pattern = freshdesk (\\d+)\n name = sheepdesk\n abbr = \ud83d\udc11\n\n.. note::\n\n The section names are written into the database and used to track entry\n postings. If you change the section names, it'll mess everything up. So\n don't do it.\n\nEach section defines an external service for logging time against. The\n:code:`api` determines how we can talk to it. You can add multiple sections and\ncall them whatever you want.\n\nBy default, the name and abbreviated name are taken from the section name, but\nyou can set them as shown in the \"freshdesk\" section above.\n\nEncoding Config Passwords\n'''''''''''''''''''''''''\n\nYou can use `im encode` to get impetuous to encode your passwords in the configuration file. Then it decodes them when it uses them. It supports a few different encodings. You can encode it multiple times. I don't know why you want to use this. But it's there now.\n\n\nDevelopment\n-----------\n\nVersioning\n^^^^^^^^^^\n\nThis project does not follow semantic versioning yet as it doesn't have anything considered to have a public API. The version numbers are entirely arbitrary and meaningless, just like everything else in life.\n\nTests\n^^^^^\n\nOh man, I don't know. Just run :code:`python3 -m pytest` and hope for the best I suppose.\n\nInternationalization / Localization\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nMaybe?\n\n#. :code:`python3 setup.py extract_messages`\n#. :code:`python3 setup.py update_catalog -l fr`\n#. Modify the translation file ending in :code:`.po` ... if you want\n#. :code:`python3 setup.py compile_catalog`\n#. Run with :code:`LANGUAGE=fr`\n\nYou actually only need to do step 4 and 5 to run the program with localization\nif you don't want to make modifications.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.com/sqwishy/impetuous", "keywords": "time tracking", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "impetuous", "package_url": "https://pypi.org/project/impetuous/", "platform": "", "project_url": "https://pypi.org/project/impetuous/", "project_urls": { "Homepage": "https://gitlab.com/sqwishy/impetuous" }, "release_url": "https://pypi.org/project/impetuous/1.0.9/", "requires_dist": [ "colorama (>=0.4.0)", "python-dateutil (>=2.6.0)", "pyyaml (>=3<4)", "pytz (>=2018.9)", "attrs (>=19.0.0)", "sqlalchemy (>=1.2.0)", "alembic (>=1.0.0)", "aiohttp (>=3.0.0)", "pytest ; extra == 'test'", "pytest-benchmark ; extra == 'test'", "pytest-asyncio ; extra == 'test'" ], "requires_python": "", "summary": "CLI time tracking software indented for use with JIRA", "version": "1.0.9" }, "last_serial": 5952536, "releases": { "0.2.2": [ { "comment_text": "", "digests": { "md5": "6f3f0d4a8c42ea0a8f9f2fc9aec21b4b", "sha256": "86ecfe2dd94162b39474e1d0db349754407417e02a3f232f0d0b85c08f961fb0" }, "downloads": -1, "filename": "impetuous-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "6f3f0d4a8c42ea0a8f9f2fc9aec21b4b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 24442, "upload_time": "2018-03-11T11:04:25", "url": "https://files.pythonhosted.org/packages/9f/19/1da1fa9df40936faf768bbb5ad723afd6a4ee8b4e6628959bcc819a12924/impetuous-0.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ca54f8479b3f2ad66a949354889ca3eb", "sha256": "0f1f1cc367f28d50e6e2a8efad1477c5e6be3cad8c4bf5f7b8bba36d6d83b36b" }, "downloads": -1, "filename": "impetuous-0.2.2.tar.gz", "has_sig": false, "md5_digest": "ca54f8479b3f2ad66a949354889ca3eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18879, "upload_time": "2018-03-11T11:04:26", "url": "https://files.pythonhosted.org/packages/b1/0b/2aaa8c4086c917a9f1e17de85ae66f9335f3094599c81b5decefda7afdee/impetuous-0.2.2.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "4cf953bb03ec63abf26347ed739d92e6", "sha256": "e8fec6bfa2a8883349893a73b4a8fa2cfe942b8edc459af70e619e25a7d8c9ce" }, "downloads": -1, "filename": "impetuous-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "4cf953bb03ec63abf26347ed739d92e6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 43560, "upload_time": "2018-04-15T19:06:46", "url": "https://files.pythonhosted.org/packages/98/f3/6cefc630e5436125381583d280d768d4d7c1fb8099646a10f86792e31bbe/impetuous-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "46646cee13eb93f1dbd8d0f491d72bc2", "sha256": "94025f01b5f77a9cee7f13c7014cb91ae5e89f40777d6de374f6196f5ab316cd" }, "downloads": -1, "filename": "impetuous-1.0.0.tar.gz", "has_sig": false, "md5_digest": "46646cee13eb93f1dbd8d0f491d72bc2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33622, "upload_time": "2018-04-15T19:06:47", "url": "https://files.pythonhosted.org/packages/11/dd/f3c53e320b5be8337ae1f0929a8d56ec32ffb8d0af43bdee7ba47973efbb/impetuous-1.0.0.tar.gz" } ], "1.0.0rc0": [ { "comment_text": "", "digests": { "md5": "b2c9b856b705b4ed3da06739faf36e09", "sha256": "cd2fd7d1cda578cdeb9540647cefdb8019d95686fef60e8f08e40d271a77d94b" }, "downloads": -1, "filename": "impetuous-1.0.0rc0-py3-none-any.whl", "has_sig": false, "md5_digest": "b2c9b856b705b4ed3da06739faf36e09", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 43496, "upload_time": "2018-03-18T08:31:07", "url": "https://files.pythonhosted.org/packages/f4/71/30da892744d64fbdc80f272df5e85ffd31f02e1772e001d9354d88efea28/impetuous-1.0.0rc0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "56b72e4360784ff0634920e7998b4d8a", "sha256": "6d8c359e41001f60cc4a75de89f97f11277b98dff32ecfba28a27bece68c9f14" }, "downloads": -1, "filename": "impetuous-1.0.0rc0.tar.gz", "has_sig": false, "md5_digest": "56b72e4360784ff0634920e7998b4d8a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33594, "upload_time": "2018-03-18T08:31:09", "url": "https://files.pythonhosted.org/packages/31/38/8248e0366b1c893b3c07f0e2641c93ab5e25c8d236849c377f2b4b483558/impetuous-1.0.0rc0.tar.gz" } ], "1.0.0rc1": [ { "comment_text": "", "digests": { "md5": "d0560dcfbe78815808848cb0a9b1283b", "sha256": "2c9c3b0abcb0cda4837a0fe9ee25777353c619a4a8b76934afee0aa43af1fe12" }, "downloads": -1, "filename": "impetuous-1.0.0rc1-py3-none-any.whl", "has_sig": false, "md5_digest": "d0560dcfbe78815808848cb0a9b1283b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 43496, "upload_time": "2018-03-20T01:07:53", "url": "https://files.pythonhosted.org/packages/0f/92/b0e2591c5a144aebb8f205ff2c768e9c02499b20ca2ab99fa93961bb8b59/impetuous-1.0.0rc1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e2a5c7e5fc6ead90da7cfc36162702f6", "sha256": "f82ba73e0751007d8845a1de957c16c6aa370bffd8912b2c7d6ac3dfc298b903" }, "downloads": -1, "filename": "impetuous-1.0.0rc1.tar.gz", "has_sig": false, "md5_digest": "e2a5c7e5fc6ead90da7cfc36162702f6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33608, "upload_time": "2018-03-20T01:07:55", "url": "https://files.pythonhosted.org/packages/05/96/eb6a8bd0e1dbc962d5e1679e6dc5d1eb19042345730e45c6f1cf5f68649a/impetuous-1.0.0rc1.tar.gz" } ], "1.0.0rc2": [ { "comment_text": "", "digests": { "md5": "b675498a9bd2329623429764ca75c883", "sha256": "585b891c3679bb4c67da70a58f7ff435758c2f6bdb0eed9920e895cff7aad916" }, "downloads": -1, "filename": "impetuous-1.0.0rc2-py3-none-any.whl", "has_sig": false, "md5_digest": "b675498a9bd2329623429764ca75c883", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 43583, "upload_time": "2018-03-22T02:07:49", "url": "https://files.pythonhosted.org/packages/d6/4f/8b3ec3fa7a9f22672b7b55cc6c0f6d83b301b2701d77d819a53cb599658e/impetuous-1.0.0rc2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4538a67016d26f4a4810066e9bd346fa", "sha256": "9e29f2ffb521c5b434111e242191fc7a9cd229d81ccdf9a5059ecbcb4f59aa79" }, "downloads": -1, "filename": "impetuous-1.0.0rc2.tar.gz", "has_sig": false, "md5_digest": "4538a67016d26f4a4810066e9bd346fa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33650, "upload_time": "2018-03-22T02:07:51", "url": "https://files.pythonhosted.org/packages/dd/8f/1132d893f3ae2e97164e8ff738c0cbcf3ce95a358a8e65e4a310d4eb29dd/impetuous-1.0.0rc2.tar.gz" } ], "1.0.0rc3": [ { "comment_text": "", "digests": { "md5": "e51b26a2e82c1b33dd51e39d8493d506", "sha256": "10818051e287342e9f79f3417dbbde210c4e1b141c7a5e67e6e08a90bbf98152" }, "downloads": -1, "filename": "impetuous-1.0.0rc3-py3-none-any.whl", "has_sig": false, "md5_digest": "e51b26a2e82c1b33dd51e39d8493d506", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 43613, "upload_time": "2018-03-23T06:41:47", "url": "https://files.pythonhosted.org/packages/ad/9f/a4ba53d5a6571ab73dd60ccc4f45861dea1c90566927382650c4b9ff1798/impetuous-1.0.0rc3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e5c60478174219ab7f82c1ab26245d59", "sha256": "8e04a090e2afbfc27f8d8870f092e91c440ab726bb387bd48dfbf449a90d68a2" }, "downloads": -1, "filename": "impetuous-1.0.0rc3.tar.gz", "has_sig": false, "md5_digest": "e5c60478174219ab7f82c1ab26245d59", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33651, "upload_time": "2018-03-23T06:41:49", "url": "https://files.pythonhosted.org/packages/71/d2/b4e33d0400f70316ac760112477c2b954e9d6103980ec6b8dad4e0208507/impetuous-1.0.0rc3.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "d035a19f971e100531a7a2cf9b0694e4", "sha256": "38145113cf360619b05ea916b6b8b4661590245b2940cd415bfd94f482dfc5d8" }, "downloads": -1, "filename": "impetuous-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "d035a19f971e100531a7a2cf9b0694e4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 43435, "upload_time": "2018-04-16T16:59:38", "url": "https://files.pythonhosted.org/packages/46/59/e292395d9f08fc6523e25e7785113644176b08334b20788052f0b9ac8027/impetuous-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a39885c0870eec713a868413387002b9", "sha256": "2e460c4d61b5ab7a8972510ff01051723f9a9e5bcb837565f0768f6d6e8fe483" }, "downloads": -1, "filename": "impetuous-1.0.1.tar.gz", "has_sig": false, "md5_digest": "a39885c0870eec713a868413387002b9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33597, "upload_time": "2018-04-16T16:59:39", "url": "https://files.pythonhosted.org/packages/1f/c3/a1052229d308c5625d89fd557f5e86d2e04692f5b56d8966973ae5021569/impetuous-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "a4609feaa2b851c06afab731bd7512b6", "sha256": "be52a290415f9cadb262e8ea841001058be283ae87b3b0920e4175d96ebfca11" }, "downloads": -1, "filename": "impetuous-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "a4609feaa2b851c06afab731bd7512b6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 44501, "upload_time": "2018-07-10T12:23:10", "url": "https://files.pythonhosted.org/packages/46/bf/e3a036c609106cfbb98d3a8002bb88c93f0e4957b4d83a34f88427749004/impetuous-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2b832f4ad209e64e4f4444acd833ba7e", "sha256": "85d0c781929a41ef2a0d91c08efa40fa8805d58fc88e276d362b1d827178b336" }, "downloads": -1, "filename": "impetuous-1.0.2.tar.gz", "has_sig": false, "md5_digest": "2b832f4ad209e64e4f4444acd833ba7e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34141, "upload_time": "2018-07-10T12:23:12", "url": "https://files.pythonhosted.org/packages/df/27/4eb82fafbba30d33ffaa333ef11cd4c6cb2b44ad058b49a474bc3c3b0250/impetuous-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "1a5b4ffa61328c6e675c62b9cd5a3272", "sha256": "a234ea404679fd22e3fb9c402dcd6a0e3f8f765d65bf01565472f0d61745befd" }, "downloads": -1, "filename": "impetuous-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "1a5b4ffa61328c6e675c62b9cd5a3272", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 44894, "upload_time": "2018-07-11T03:32:42", "url": "https://files.pythonhosted.org/packages/a4/a3/07e10b2196b027c107033982e5f0861fbbe9e13a4134478571fdbaf5efd9/impetuous-1.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "89e1ee2de54d2a6d3f317a52f6748f55", "sha256": "3bf06584b9f0f5ad3de68fdbfaf2f10e93becd928fa9abbeae5bb46f1e82cd32" }, "downloads": -1, "filename": "impetuous-1.0.3.tar.gz", "has_sig": false, "md5_digest": "89e1ee2de54d2a6d3f317a52f6748f55", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34465, "upload_time": "2018-07-11T03:32:43", "url": "https://files.pythonhosted.org/packages/e5/67/ad6c04df6bd84d7173dba1af262ac074534712972acdb44c563e8aca1639/impetuous-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "2f5973194394f9923c0067ac9381684c", "sha256": "909b7e862eeb0f28244f4c34bdd25d600a70d95d868ecc351f30af42cc45a3fa" }, "downloads": -1, "filename": "impetuous-1.0.4-py3-none-any.whl", "has_sig": true, "md5_digest": "2f5973194394f9923c0067ac9381684c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 45639, "upload_time": "2018-08-28T03:37:45", "url": "https://files.pythonhosted.org/packages/3a/96/31bee994fedb5b3cc42051fdf6b2d823ffc37439ce31216fc95edd5cb25f/impetuous-1.0.4-py3-none-any.whl" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "5ea3574a6310752e915e26c3445596f9", "sha256": "9fb982d6532c60f41d1e48c1b684803ff711e9169096eb3879946c8bf29357d1" }, "downloads": -1, "filename": "impetuous-1.0.5-py3-none-any.whl", "has_sig": true, "md5_digest": "5ea3574a6310752e915e26c3445596f9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 42407, "upload_time": "2019-04-24T18:40:54", "url": "https://files.pythonhosted.org/packages/50/76/c03c60ad060e17a4c715e3138b0e92c1245adbdd36863cafe62c04dc602c/impetuous-1.0.5-py3-none-any.whl" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "d41f1888ca4f2d21b90ce963fc3d9414", "sha256": "b399eedeb2d250bd3cdc083a6369f0a9efce57d8aa127d996d198987f2f643b6" }, "downloads": -1, "filename": "impetuous-1.0.6-py3-none-any.whl", "has_sig": true, "md5_digest": "d41f1888ca4f2d21b90ce963fc3d9414", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 42744, "upload_time": "2019-07-10T00:29:06", "url": "https://files.pythonhosted.org/packages/de/09/21cb3db2c232aae4bd761c83bb83e440c1eefa949697e4a99626fd98a60a/impetuous-1.0.6-py3-none-any.whl" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "8ea5ba079a416a08ae0d24e084ef1fd1", "sha256": "4b1fe90f6aa345b6c46873af089b5d5a264b63adef6f5faf20469468088bb3d2" }, "downloads": -1, "filename": "impetuous-1.0.7-py3-none-any.whl", "has_sig": true, "md5_digest": "8ea5ba079a416a08ae0d24e084ef1fd1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 43834, "upload_time": "2019-07-10T04:22:30", "url": "https://files.pythonhosted.org/packages/54/1f/7bb6bb2c09500160009a4d7e561655e7af4db4b93886eb814cac9ba580b3/impetuous-1.0.7-py3-none-any.whl" } ], "1.0.8": [ { "comment_text": "", "digests": { "md5": "b7c4d26eee51f3b1eccb91a4cbb6c9c4", "sha256": "c70f5f74ccf1d6c17da6c3f2b19b07c8998c3b1ea52eaba9cc8c4de4c1a010dc" }, "downloads": -1, "filename": "impetuous-1.0.8-py3-none-any.whl", "has_sig": true, "md5_digest": "b7c4d26eee51f3b1eccb91a4cbb6c9c4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 43842, "upload_time": "2019-07-12T20:13:53", "url": "https://files.pythonhosted.org/packages/20/75/ceaa3e044613c9bc61c5b8098e1ab75b06bcbe5ba9eab877f8dcd3a40700/impetuous-1.0.8-py3-none-any.whl" } ], "1.0.9": [ { "comment_text": "", "digests": { "md5": "0b3c36f1cc831eb36954079dca25ecdc", "sha256": "3d979db16eac07067941de2ff8b6b436ad6c62b87120db811c2bc0722668ecb8" }, "downloads": -1, "filename": "impetuous-1.0.9-py3-none-any.whl", "has_sig": true, "md5_digest": "0b3c36f1cc831eb36954079dca25ecdc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 44187, "upload_time": "2019-10-10T00:18:41", "url": "https://files.pythonhosted.org/packages/58/de/42f9cbd769351dfbd8cdcd36d4556dbbd3fbae6122377ae6c9950065c012/impetuous-1.0.9-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0b3c36f1cc831eb36954079dca25ecdc", "sha256": "3d979db16eac07067941de2ff8b6b436ad6c62b87120db811c2bc0722668ecb8" }, "downloads": -1, "filename": "impetuous-1.0.9-py3-none-any.whl", "has_sig": true, "md5_digest": "0b3c36f1cc831eb36954079dca25ecdc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 44187, "upload_time": "2019-10-10T00:18:41", "url": "https://files.pythonhosted.org/packages/58/de/42f9cbd769351dfbd8cdcd36d4556dbbd3fbae6122377ae6c9950065c012/impetuous-1.0.9-py3-none-any.whl" } ] }