{ "info": { "author": "Aubrey Taylor", "author_email": "aubricus+klak@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "[click]: https://click.palletsprojects.com/en/master/\n[poetry]: https://github.com/sdispater/poetry\n[click setuptools integration]: https://click.palletsprojects.com/en/master/setuptools/\n[click bash completions]: https://click.palletsprojects.com/en/master/bashcomplete/#activation\n\n# Klak\n\n[![pypi](https://img.shields.io/pypi/v/klak.svg)](https://pypi.python.org/pypi/klak)\n[![standard-readme compliant](https://img.shields.io/badge/standard--readme-OK-green.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme)\n[![travis-ci](https://img.shields.io/travis/aubricus/klak.svg)](https://travis-ci.org/aubricus/klak)\n[![docs](https://readthedocs.org/projects/klak/badge/?version=latest)](https://klak.readthedocs.io/en/latest/?badge=latest)\n[![docs](https://readthedocs.org/projects/klak/badge/?version=latest)](https://klak.readthedocs.io/en/latest/?badge=latest)\n\n\n\n> Klak provides the ergonoics of a project Makefile with the ease of Python and power of [Click].\n\n## Table of Contents\n\n- [Background](#background)\n- [Install](#install)\n- [Usage](#usage)\n- [Maintainers](#maintainers)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Background\n\nMakefiles provide a simple interface, `make `, that is great for automating repetitive project tasks. Makefile syntax, however, is archaic, error-prone, and ill-suited for constructing modern, useful command-line interfaces.\n\nPython, on the other hand, has wonderful syntax and is _great_ for scripting. When Python is paired with [Click] constructing modern, useful command-line interfaces is easy!\n\nIs there a way we can combine the power of Python and Click into a \"Makefile like\" experience?\n\n_Enter Klak_.\n\nKlak exposes a single entry-point\u2014`klak`\u2014which auto-loads a _100%_, vanilla Python file called a **Clickfile**. All CLI is built using standard Python and Click, and all commands are available via: `klak ` (see [Usage](#usage)).\n\n### What is it good for?\n\nKlak's purpose is to provide a convenient, single-file experince for automating repetitive project tasks. It does not, nor will it ever, intend to replace Make or Makefiles.\n\n## Install\n\n### Stable Release\n\n```bash\n# NOTE: This is the recommended method of installation.\npip install klak\n```\n\n### From Source\n\n> Klak uses [Poetry] to manage depdencies and distribution (in lieu of setuptools).\n\n```bash\n# NOTE: Clone the public repository\ngit clone git://github.com/aubricus/klak\n\n# NOTE: or download the tarball\ncurl -OL https://github.com/aubricus/klak/tarball/master\n\n# NOTE: Once the source is downloaded\npoetry install\n```\n\n## Usage\n\nTo get started with Klak create a **Clickfile**. Here's a simple **Clickfile** to get started:\n\n```python\n\"\"\"\nExample Clickfile.\n\nNOTE: Set your editor's language mode to Python to\n enable syntax highlighting! :^)\n\"\"\"\n\nimport logging\nimport click\nfrom klak.cli import cli\n\n\nlog = logging.getLogger(\"Clickfile\")\n\n\n# -------------------------------------\n# Examples\n# -------------------------------------\n\n# Example: Add a command.\n@cli.command()\n@click.argument(\"name\")\ndef greet(name):\n \"\"\"Greet someone.\"\"\"\n click.secho(f\"Hello, {name}\")\n\n\n# Example: Add a group and sub-command.\n@cli.group()\ndef humans():\n \"\"\"Humans command group.\"\"\"\n pass\n\n\n@humans.command(name=\"count\")\ndef humans_count():\n \"\"\"Count all the humans.\"\"\"\n click.secho(\"Over 9000!!!\")\n\n```\n\n**NOTE**: You can also organize commands into a python package in the same directory. See [Klak/Pull/229](https://github.com/aubricus/klak/pull/229).\n\nOnce your **Clickfile** is ready, access commands through `klak`.\n\n```bash\n$ klak --help\n```\n\n## Support\n\nThis project is a hobby/passion project which I maintain in my own time.\n\n### Python\n\n- Python 3.5+\n\n### OS\n\n- Linux \u2713\n- MacOS \u2713\n- Windows \u2718 (any volunteers?)\n\n## Maintainers\n\n[@aubricus](https://github.com/aubricus)\n\n## Contributing\n\nSee [the contributing file](CONTRIBUTING.md)!\n\nPRs accepted!\n\nPlease note, if editing the README, please conform to the [standard-readme](https://github.com/RichardLitt/standard-readme) specification.\n\n## License\n\n[MIT \u00a9 2018, 2019 aubricus@gmail.com](./LICENSE)\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/aubricus/klak", "keywords": "klak,automation", "license": "MIT", "maintainer": "Aubrey Taylor", "maintainer_email": "aubricus+klak@gmail.com", "name": "klak", "package_url": "https://pypi.org/project/klak/", "platform": "", "project_url": "https://pypi.org/project/klak/", "project_urls": { "Documentation": "https://github.com/aubricus/klak", "Homepage": "https://github.com/aubricus/klak", "Repository": "https://github.com/aubricus/klak" }, "release_url": "https://pypi.org/project/klak/0.4.3/", "requires_dist": [ "click (>=7.0,<8.0)" ], "requires_python": ">=3.5,<4.0", "summary": "Klak provides the ergonoics of a project Makefile with the ease of Python and power of Click.", "version": "0.4.3" }, "last_serial": 5515639, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "768f506e6918e657683d4e8087ad83b5", "sha256": "8fd2d48b7a38767ac0d20065c1e7168ad5c753e6e0f12a8fecccd94c838eb3bd" }, "downloads": -1, "filename": "klak-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "768f506e6918e657683d4e8087ad83b5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4050, "upload_time": "2018-03-22T01:52:02", "url": "https://files.pythonhosted.org/packages/49/12/e55a6f4e385a3555611fd8c8fc87ab2aadc594d007bccb3a6481c81a3cee/klak-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f9013511f89c97b65ab4cb08f0439b99", "sha256": "a5982b75d4823341fdb38d44f7be5c2fdb8d530297a25a25382800cfd4f68bf8" }, "downloads": -1, "filename": "klak-0.1.0.tar.gz", "has_sig": false, "md5_digest": "f9013511f89c97b65ab4cb08f0439b99", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8467, "upload_time": "2018-03-22T01:52:04", "url": "https://files.pythonhosted.org/packages/f5/d2/505a7e8c1f96f2872c5b565613af84eb6ac2bc0bd18c7bca7b1028a9f5d9/klak-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "72aec7be798181daed5035e1a7a6848e", "sha256": "8f781e82db9f349e6ee3586de1edf854c19a12b1ae7a5b9b99b4c1b3a37c9ad1" }, "downloads": -1, "filename": "klak-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "72aec7be798181daed5035e1a7a6848e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5733, "upload_time": "2018-03-22T19:25:32", "url": "https://files.pythonhosted.org/packages/4f/c3/9fb14add82e19b06c0574de037a0bc2b45fe07401de168a18fe7fcd76319/klak-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3d677de09ab8e8eb76da10344fc433c2", "sha256": "a932a3a6413c99c9cb6212f1c492785d11c3f6c439f12700518067792d633970" }, "downloads": -1, "filename": "klak-0.2.0.tar.gz", "has_sig": false, "md5_digest": "3d677de09ab8e8eb76da10344fc433c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11177, "upload_time": "2018-03-22T19:25:33", "url": "https://files.pythonhosted.org/packages/82/45/4a69310ac8ca848f5769560e1b870b617b9f2852074d0b0dbb1c984908a2/klak-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "0b65e445f4c10f9a9970ee6294576422", "sha256": "bf0360a21d1dfd2a63aeb25af71315796f1d9bddc02ce50b0a34d6ba10142863" }, "downloads": -1, "filename": "klak-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0b65e445f4c10f9a9970ee6294576422", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5879, "upload_time": "2018-03-26T16:56:51", "url": "https://files.pythonhosted.org/packages/00/a1/d2f1f9722d30134141c034b6f0c75447cc408516c217becbd9c280e43112/klak-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ac3a6ec38a3db5eaa3891354016da13e", "sha256": "27c616e77f41046b77c2c5af3ba6764af7abf4d20d9a4d84131370846e08ded2" }, "downloads": -1, "filename": "klak-0.2.1.tar.gz", "has_sig": false, "md5_digest": "ac3a6ec38a3db5eaa3891354016da13e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11255, "upload_time": "2018-03-26T16:56:52", "url": "https://files.pythonhosted.org/packages/c2/fb/4fc4014d9b470f81233d95dab86899c4f04d89c32b85546e2b24ce7f28c7/klak-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "686904792799c98eca712258441691f9", "sha256": "540e00e10fec07142d49c3a360fde970124669276481cfd69ee84bcb284e04dd" }, "downloads": -1, "filename": "klak-0.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "686904792799c98eca712258441691f9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6120, "upload_time": "2018-03-27T00:23:55", "url": "https://files.pythonhosted.org/packages/be/99/927400ce9866e9444965f37907b193ea4b5913724b7f3f296e5116bb3775/klak-0.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "25be63497804928bbdcb5b6d51cffa00", "sha256": "10af0278d5c66525d7dd2702ff6bd1cad475f7ec3d8c9450588214d3842ac8cd" }, "downloads": -1, "filename": "klak-0.2.2.tar.gz", "has_sig": false, "md5_digest": "25be63497804928bbdcb5b6d51cffa00", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11452, "upload_time": "2018-03-27T00:23:56", "url": "https://files.pythonhosted.org/packages/99/3b/0ebfac656c8647594641bf02e126d4436cc3c79279c6a5c7e4f825d78a4a/klak-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "95a35d509c2a4c8241cae1541e1ae6fa", "sha256": "f9850d2221bf70a13ee007b14454200db9b0770b83d3a3d7a7573e28c198e443" }, "downloads": -1, "filename": "klak-0.2.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "95a35d509c2a4c8241cae1541e1ae6fa", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6212, "upload_time": "2018-03-30T19:23:37", "url": "https://files.pythonhosted.org/packages/6a/82/57857b1507a48cf58166ca2733e10146f3ca0a133ef970c85657bfb6a07e/klak-0.2.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b406dc2c3134a27abe879c13f0b2617e", "sha256": "8fc13a4809c7d40d48a188bd6c46c603c31d20c4d874e1075585caaeda9f91af" }, "downloads": -1, "filename": "klak-0.2.3.tar.gz", "has_sig": false, "md5_digest": "b406dc2c3134a27abe879c13f0b2617e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11481, "upload_time": "2018-03-30T19:23:38", "url": "https://files.pythonhosted.org/packages/83/2a/9003b04313362e22ff97d9ab85acc80c18696e3fd12a5f9ce40172d78426/klak-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "f668379c8a306fb66d046d97480a0c9c", "sha256": "b621f86231fea9ce8d36ba371e02157de26ad14ecf5fd74fdcd3ce07fe0cec16" }, "downloads": -1, "filename": "klak-0.2.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f668379c8a306fb66d046d97480a0c9c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4508, "upload_time": "2018-09-22T22:20:18", "url": "https://files.pythonhosted.org/packages/9e/28/b82c4de5e66ed0f2b81a89235c5dee9ff1b44f217ccb84e4d5606520b08e/klak-0.2.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "72b15ad69559869a03a7ff2d6a47ef85", "sha256": "07833ac1f43ef5a9fe5a73307230f92dd29ff7aeabc2c1b55432b01bbf1fa525" }, "downloads": -1, "filename": "klak-0.2.4.tar.gz", "has_sig": false, "md5_digest": "72b15ad69559869a03a7ff2d6a47ef85", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12134, "upload_time": "2018-09-22T22:20:20", "url": "https://files.pythonhosted.org/packages/1e/2c/e6d8da42e0287b3d2a7f8edf60025859eb953b7d33a93d4145a06468f250/klak-0.2.4.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "d16b043abd2a74ec81b675affb90cc59", "sha256": "faec4d84026ce4660e6877bd8ca5d60045da3a96503c36ef69be3b3c26ea7a79" }, "downloads": -1, "filename": "klak-0.3.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d16b043abd2a74ec81b675affb90cc59", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4036, "upload_time": "2018-09-24T03:02:12", "url": "https://files.pythonhosted.org/packages/d8/35/9d1856e27155d9fd29f1988f48a9eda6fb563346f386e83d5766945abf4e/klak-0.3.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "62ee3196ff6e21c0c54e512a9a8e5627", "sha256": "54eff870da0e56700e3a7d522aa12841f22aec91e77ba9ff854a3cef3d0ac914" }, "downloads": -1, "filename": "klak-0.3.2.tar.gz", "has_sig": false, "md5_digest": "62ee3196ff6e21c0c54e512a9a8e5627", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11908, "upload_time": "2018-09-24T03:02:13", "url": "https://files.pythonhosted.org/packages/a2/ea/c759e50de14862a9b4e6aae39ddd315f7ae78530557804718cd93217e064/klak-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "924f23c53285ab84e2c69e906f0fa045", "sha256": "bac5fc0f68a03a970ccb360cc46542a48803de7cb78a1720302efccd5576c78a" }, "downloads": -1, "filename": "klak-0.3.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "924f23c53285ab84e2c69e906f0fa045", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4076, "upload_time": "2018-09-24T03:22:01", "url": "https://files.pythonhosted.org/packages/14/50/b40d22f4d000a434c7ebf6c96a6585e43656162a3ddf3aea015b641c7bc5/klak-0.3.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ba9f02905d48f8d5e2d2d1cf82860930", "sha256": "59ceac8738954db5277d313191659713f4e0f21d5699ee1421b9fdeede1af850" }, "downloads": -1, "filename": "klak-0.3.3.tar.gz", "has_sig": false, "md5_digest": "ba9f02905d48f8d5e2d2d1cf82860930", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11983, "upload_time": "2018-09-24T03:22:02", "url": "https://files.pythonhosted.org/packages/e8/23/c8c1465c5c80f36494d5b7de15a600f68e9099b817f8409c9d4efc3972fb/klak-0.3.3.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "e6fd5cac721b354b42f0fea9450ce405", "sha256": "6a15d094c29afe38637cc74c649e7f20de005cc1c49cef05d6b9d9b42b6db5dd" }, "downloads": -1, "filename": "klak-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "e6fd5cac721b354b42f0fea9450ce405", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5,<4.0", "size": 3504, "upload_time": "2019-06-21T17:34:15", "url": "https://files.pythonhosted.org/packages/6e/5b/768d26dfcdf21e1bfb813f39ff6c7546d980beb1924dc1c82c18ac93b0f4/klak-0.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "05da07371ad6e2f04702fa1c5b77ec2f", "sha256": "8a1377ebdfae44a5faf07adfd3f08748f9d83cab4c758ba943955fc831b50819" }, "downloads": -1, "filename": "klak-0.4.0.tar.gz", "has_sig": false, "md5_digest": "05da07371ad6e2f04702fa1c5b77ec2f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5,<4.0", "size": 2741, "upload_time": "2019-06-21T17:34:17", "url": "https://files.pythonhosted.org/packages/6c/6f/2404715beae6d89fdb663a05e4fb7bb7ba6fa905f29540c669ffe2793871/klak-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "e1d1fb1dcd5c486b905464c3b2f1bcd3", "sha256": "d69ce014c34405f77c27930a2e7db1923eb210d51ac670a358cf2b8d99d3d216" }, "downloads": -1, "filename": "klak-0.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "e1d1fb1dcd5c486b905464c3b2f1bcd3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5,<4.0", "size": 5338, "upload_time": "2019-06-21T18:30:58", "url": "https://files.pythonhosted.org/packages/26/f9/7fa42c2c4035c4e89ea8cabef82bd6bdde8e628cdcb19743760b9cada5a0/klak-0.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2ab92ef9da3bf1ca57435add9a679894", "sha256": "86d796485b7ad232510ebbdebd994a44b332b5f2970e18e33895e19d14f4822e" }, "downloads": -1, "filename": "klak-0.4.1.tar.gz", "has_sig": false, "md5_digest": "2ab92ef9da3bf1ca57435add9a679894", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5,<4.0", "size": 5203, "upload_time": "2019-06-21T18:30:59", "url": "https://files.pythonhosted.org/packages/09/eb/3712d89dfdbef0ded2edeb1d5742c50f97134755e71a1d1aa63851019bfe/klak-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "4f8ca56ebd83faa5fb6dbdcb5286f874", "sha256": "61bd4c505334cb6ca3154ffa0ec930f9e61af407af041ad22bf34297ade3d24e" }, "downloads": -1, "filename": "klak-0.4.2-py3-none-any.whl", "has_sig": false, "md5_digest": "4f8ca56ebd83faa5fb6dbdcb5286f874", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5,<4.0", "size": 5354, "upload_time": "2019-06-24T17:05:14", "url": "https://files.pythonhosted.org/packages/03/6a/6639393cbaa9c0e6859f0f3ac37e96e3bd8feaa7dff553c7a69d6479a9f9/klak-0.4.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d62009cbcf139d5eb77225e66ff49b72", "sha256": "da78373838a83c6766c5ee0c00fd9fc8275a9f9e64d0f5a077a1f25e629c258f" }, "downloads": -1, "filename": "klak-0.4.2.tar.gz", "has_sig": false, "md5_digest": "d62009cbcf139d5eb77225e66ff49b72", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5,<4.0", "size": 5244, "upload_time": "2019-06-24T17:05:16", "url": "https://files.pythonhosted.org/packages/d2/5c/e69bbf8495cae7c004a8631c323f5cf1e34870e4df4d46029e9e6246943d/klak-0.4.2.tar.gz" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "f93278808b6b7b3405b66e52ed0c986f", "sha256": "a652733a9eb465829b2896cbd670bf484bc9ada016e03c978a5b01c3243a8d51" }, "downloads": -1, "filename": "klak-0.4.3-py3-none-any.whl", "has_sig": false, "md5_digest": "f93278808b6b7b3405b66e52ed0c986f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5,<4.0", "size": 5438, "upload_time": "2019-07-11T06:36:48", "url": "https://files.pythonhosted.org/packages/ef/b5/7a12bc85d244f5cbdf68d5815b8033a567c817e0601790815bc3fa3394cb/klak-0.4.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f74344b9de3badf15bdaae65ffd300d3", "sha256": "dbacf7dbe16eddfb90c7b07768631875069cc6e4ef940355948c37bfc889a782" }, "downloads": -1, "filename": "klak-0.4.3.tar.gz", "has_sig": false, "md5_digest": "f74344b9de3badf15bdaae65ffd300d3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5,<4.0", "size": 5279, "upload_time": "2019-07-11T06:36:49", "url": "https://files.pythonhosted.org/packages/c1/0d/5cc1f3a1eecbe41ffefc40e44a77da9574e98e844484de4f54fb93f94874/klak-0.4.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f93278808b6b7b3405b66e52ed0c986f", "sha256": "a652733a9eb465829b2896cbd670bf484bc9ada016e03c978a5b01c3243a8d51" }, "downloads": -1, "filename": "klak-0.4.3-py3-none-any.whl", "has_sig": false, "md5_digest": "f93278808b6b7b3405b66e52ed0c986f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5,<4.0", "size": 5438, "upload_time": "2019-07-11T06:36:48", "url": "https://files.pythonhosted.org/packages/ef/b5/7a12bc85d244f5cbdf68d5815b8033a567c817e0601790815bc3fa3394cb/klak-0.4.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f74344b9de3badf15bdaae65ffd300d3", "sha256": "dbacf7dbe16eddfb90c7b07768631875069cc6e4ef940355948c37bfc889a782" }, "downloads": -1, "filename": "klak-0.4.3.tar.gz", "has_sig": false, "md5_digest": "f74344b9de3badf15bdaae65ffd300d3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5,<4.0", "size": 5279, "upload_time": "2019-07-11T06:36:49", "url": "https://files.pythonhosted.org/packages/c1/0d/5cc1f3a1eecbe41ffefc40e44a77da9574e98e844484de4f54fb93f94874/klak-0.4.3.tar.gz" } ] }