{ "info": { "author": "Jeff Michaud", "author_email": "cometaj2@comcast.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Software Development" ], "description": "Huckle (hypermedia unified CLI... with a kick) |build status|_ |pypi|_ \n======================================================================\n\nHuckle is a CLI that can act as an impostor for any CLI expressed via hypertext\ncommand line interface (HCLI) semantics.\n\n----\n\nHuckle provides a way for developers to interact with, or script around, any API that exposes HCLI\nsemantics, while providing dynamic and up to date in-band access to all the API/CLI documentation,\nman page style, which showcases commands, options, and parameters available for execution.\n\nMost, if not all, programming languages have a way to issue shell commands. With the help\nof a generic HCLI client such as Huckle, APIs that make use of HCLI semantics are readily consumable\nanywhere via the familiar CLI mode of operation, and this, without there being a need to write\na custom and dedicated CLI to interact with a specific API.\n\nYou can access a simple example HCLI service to play with huckle on http://hcli.io [1]\n\nThe HCLI Internet-Draft [2] is a work in progress by the author and \nthe current implementation leverages hal+json alongside a static form of ALPS\n(semantic profile) [3] to help enable widespread cross media-type support.\n\nHelp shape huckle and HCLI on the discussion list [4] or by raising issues on github!\n\n[1] http://hcli.io\n\n[2] https://github.com/cometaj2/I-D/tree/master/hcli\n\n[3] http://alps.io\n\n[4] https://groups.google.com/forum/#!forum/huck-hypermedia-unified-cli-with-a-kick\n\nInstall Python, pip and huckle\n------------------------------\n\nHuckle requires bash with access to man pages, Python 2.7, 3.4-3.7 and pip\n\n - Install any one version of Python 2.7, 3.4-3.7 for your system\n\nInstall huckle via Python's pip:\n\n - pip install huckle\n\nBasic usage\n-----------\n\nhuckle cli install \\\n\n This attempts to auto create and configure a CLI name if provided with the root URL of an HCLI API.\n If successful, the CLI can be invoked by name, after restarting the terminal.\n \n Note that an existing configuration file is left alone if the command is run multiple times \n for the same CLI.\n\n An example HCLI that can be used with Huckle is available on hcli.io:\n - ``_ (HCLI root) \n - ``_ (HAL Browser navigation)\n\nhuckle cli run \\\n\n This invokes the cliname to issue HCLI API calls; the details of which are left to API implementers.\n \n Commands, options and parameters are presented gradually, to provide users with a way to\n incrementally discover and learn how the CLI is used.\n\n\\ ...\n\n For brevity, the CLI name can and should be invoked directly rather than through \"huckle cli run \\.\n\n\\ ... help\n\n The reserved \"help\" command can be used anywhere in a command line sequence to have huckle generate\n a man page from the last successfully received HCLI Document. This helps with CLI exploration.\n\nhuckle help\n\n This opens up a man page that describes how to use huckle.\n\nConfiguration\n-------------\n\nHuckle uses small scripts under ~/.huckle/bin to enable CLIs to be invoked by name.\n\nHuckle also uses CLI configuration files (e.g. ~/.huckle/etc/\\/config) to associate a specific\nCLI to an HCLI API root URL and other CLI specific configuration.\n\nVersioning\n----------\n\nThis project makes use of semantic versioning (http://semver.org) and may make use of the \"devx\",\n\"prealphax\", \"alphax\" \"betax\", and \"rcx\" extensions where x is a number (e.g. 0.3.0-prealpha1)\non github. Only full major.minor.patch releases will be pushed to pip from now on.\n\nSupports\n--------\n\n- HCLI version 1.0 semantics for:\n\n - hal+json\n\n- Automatic man page generation with the \"help\" command, anywhere in a CLI.\n\n- Command line execution responses for\n\n - All media types\n\n- Streaming:\n \n - Handles very large stdin/stdout streams (fixed chunk size of 16834)\n\n- SOCKS tunneling through environment variables (ALL_PROXY)\n\n- Auto configuration of a CLI when provided with an HCLI API root URL (e.g. huckle cli install ``_ \n\n- Support listing of installed CLIs\n\n- Supports listing of the configuration of a CLI\n\n- Support auto discovery of cli link relations when attempting to install from a root resource that isn't an hcli-document.\n\nTo Do\n-----\n- Fork restnavigator repo or otherwise adjust to use restnavigator with requests (single http client instead of two)\n\n- Support help docs output in the absence of man pages (e.g. git-bash on Windows)\n\n- Support HCLI version 1.0 semantics for: \n\n - Collection+JSON\n - hal+xml\n - Uber\n - HTML\n - Siren\n - JSON-LD\n - JSON API\n - Mason\n\n- Support stream configuration\n\n - sending and receiving streams (configurable via CLI config)\n - sending and receiving non-streams (configuration via CLI config)\n - chunk size for streams send/receive (configurable via CLI config)\n\n- Support non-stream send/receive (via CLI configuration)\n\n- Support various authentication and/or passthrough per CLI configuration \n\n - HTTP Basic Auth \n - HTTP Digest \n - Oauth \n - X509 (HTTPS mutual authentication) \n - AWS\n - SAML \n\n- Better implementation for huckle params/options handling\n\n- Support for re-aliasing a CLI with additional huckle options (e.g. adding \"--ssl-no-verify\" to huckle cli jsonf's shell script)\n\n- Support server certificate validation bypass (e.g. --ssl-no-verify. This is not secure but is sometimes useful to troubleshoot) \n\n- Support for viewing information about an HCLI root (e.g. huckle view ``_\n\n- Support forward proxy configuration through proxy environment variables (HTTP_PROXY, HTTPS_PROXY)\n\n- Support hcli name conflic resolution (use namespaces?)\n \n - View currently selected namespace (e.g. huckle ns)\n - Viewing namespace list (e.g. huckle ns list)\n - Selecting a namespace (e.g. huckle ns use abc)\n - Remove an entire namespace and all associated CLIs (e.g. huckle ns rm abc)\n - Support adding and removing CLIs to namespaces\n\n- Support multipart/form-data for very large uploads (see requests-toolbelt)\n\n- Support HCLI nativization\n\n- Support for Huckle DEBUG mode\n\n\nBugs\n----\n\n- There's an edge case that's not covered; when executing a cli by invoking the root of the HCLI only. And more specifically when the root is\n not valid HCLI when initially fetching the HALNavigator.\n\n- Disgraceful handling when a cli is invoked when the associated HCLI service is down\n \n.. |build status| image:: https://travis-ci.org/cometaj2/huckle.svg?branch=master\n.. _build status: https://travis-ci.org/cometaj2/huckle\n.. |pypi| image:: https://badge.fury.io/py/huckle.svg\n.. _pypi: https://badge.fury.io/py/huckle", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/cometaj2/huckle", "keywords": "cli client hypermedia rest generic development", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "huckle", "package_url": "https://pypi.org/project/huckle/", "platform": "", "project_url": "https://pypi.org/project/huckle/", "project_urls": { "Homepage": "https://github.com/cometaj2/huckle" }, "release_url": "https://pypi.org/project/huckle/2.4.3/", "requires_dist": null, "requires_python": "", "summary": "A CLI that can act as an impostor for any CLI expressed through hypertext command line interface (HCLI) semantics.", "version": "2.4.3" }, "last_serial": 5692970, "releases": { "0.1.0.dev1": [ { "comment_text": "", "digests": { "md5": "3d14265310c4708733e59f8014d0635e", "sha256": "33a0f3023bf91b3dfdf9062c321f06b7ebd39ea5ccb7bcc047b862c5e39acf87" }, "downloads": -1, "filename": "huckle-0.1.0.dev1.tar.gz", "has_sig": false, "md5_digest": "3d14265310c4708733e59f8014d0635e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6492, "upload_time": "2017-02-13T00:48:12", "url": "https://files.pythonhosted.org/packages/e1/7a/8ad14859a10f4e5d555afe25e39a82730ebcf39e3f7b021c82f0c7994690/huckle-0.1.0.dev1.tar.gz" } ], "0.1.0.dev2": [ { "comment_text": "", "digests": { "md5": "d8621b5286976cd2493cd80584b4e865", "sha256": "52e4a4a3f0bb105609e4a38974203a3160b2e508993130557b2194480fdfcbb4" }, "downloads": -1, "filename": "huckle-0.1.0.dev2.tar.gz", "has_sig": false, "md5_digest": "d8621b5286976cd2493cd80584b4e865", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6107, "upload_time": "2017-02-13T05:59:26", "url": "https://files.pythonhosted.org/packages/1a/97/89e2cc9d869c83a37bfe7a12090eca2abcd37944657b24185a6e7f3ec186/huckle-0.1.0.dev2.tar.gz" } ], "0.1.0.dev3": [ { "comment_text": "", "digests": { "md5": "e36fb785b6f60b060710558e671dd0f6", "sha256": "ecabf27385725345bc3b67f7660387acdb157e6663ce28f21906b9f9bae7e213" }, "downloads": -1, "filename": "huckle-0.1.0.dev3.tar.gz", "has_sig": false, "md5_digest": "e36fb785b6f60b060710558e671dd0f6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6124, "upload_time": "2017-02-14T03:35:35", "url": "https://files.pythonhosted.org/packages/9b/7b/33e89dcb988b43ffc2e3dbcfee75ece6c8645287bef73bd0bc2fa0ffb08d/huckle-0.1.0.dev3.tar.gz" } ], "0.1.0.dev4": [ { "comment_text": "", "digests": { "md5": "1b533033b0d57a5e3524c558d522a359", "sha256": "47e7a9e1e23f519043393f10f47b81be1714678f0b9008135074daa0da321c65" }, "downloads": -1, "filename": "huckle-0.1.0.dev4.tar.gz", "has_sig": false, "md5_digest": "1b533033b0d57a5e3524c558d522a359", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7019, "upload_time": "2017-02-26T05:49:01", "url": "https://files.pythonhosted.org/packages/d2/52/f75df0f4e537ff66b9b320452ff640bd57c986c3f8cfc278bd8ec8586f5a/huckle-0.1.0.dev4.tar.gz" } ], "0.1.0.dev5": [ { "comment_text": "", "digests": { "md5": "25ab66aae35b6d3ad6b33b9080a48669", "sha256": "8c068bfe5947192688e7cf4c96b2bbfe4dd6521e93e9b0a61ddc3909ec81cc0f" }, "downloads": -1, "filename": "huckle-0.1.0.dev5.tar.gz", "has_sig": false, "md5_digest": "25ab66aae35b6d3ad6b33b9080a48669", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7217, "upload_time": "2017-02-26T23:31:29", "url": "https://files.pythonhosted.org/packages/9d/a5/f7a927335d586623fb154f7a2099a4e05a9c760412c5eb5710e450c9f591/huckle-0.1.0.dev5.tar.gz" } ], "0.1.0.dev6": [ { "comment_text": "", "digests": { "md5": "575b4c6198079d72702267b39bf0ee22", "sha256": "870cea03352422123eaa6a8eb1936785638f3f7c37dc04576512ba4a71f79f02" }, "downloads": -1, "filename": "huckle-0.1.0.dev6.tar.gz", "has_sig": false, "md5_digest": "575b4c6198079d72702267b39bf0ee22", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7394, "upload_time": "2017-02-28T04:53:41", "url": "https://files.pythonhosted.org/packages/48/ae/0ecf9dc08921ae961d21e0187110f6c2efc2733d3e213dad173a08650ff2/huckle-0.1.0.dev6.tar.gz" } ], "0.1.0.dev7": [ { "comment_text": "", "digests": { "md5": "924e283ccfff39486079823b86eea4df", "sha256": "9e4502f6d4fb968241c9a60e8dcabd82ebb21a66d77a6196b1dd549427678d1e" }, "downloads": -1, "filename": "huckle-0.1.0.dev7.tar.gz", "has_sig": false, "md5_digest": "924e283ccfff39486079823b86eea4df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7647, "upload_time": "2017-03-04T21:50:02", "url": "https://files.pythonhosted.org/packages/d6/7a/8734fece52b2459eb627d789a8ec8f2f3fb7560fe69ad13763b2535d2b90/huckle-0.1.0.dev7.tar.gz" } ], "0.2.0.dev1": [ { "comment_text": "", "digests": { "md5": "e8749bbe61ed37d468babf95ac29d8fb", "sha256": "dc36de3fb5a2ed1d6ac53810f7c5e6b480bee893da7ad464be16487b582a8b71" }, "downloads": -1, "filename": "huckle-0.2.0.dev1.tar.gz", "has_sig": false, "md5_digest": "e8749bbe61ed37d468babf95ac29d8fb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7871, "upload_time": "2017-03-06T02:45:44", "url": "https://files.pythonhosted.org/packages/f4/6a/ed66515d6d7306c60fba9cad1e629f397b9feed0635209d3982df481b5fd/huckle-0.2.0.dev1.tar.gz" } ], "0.2.0.dev2": [ { "comment_text": "", "digests": { "md5": "fdd75744467e1bb3e15b79a0174433ed", "sha256": "e47d47167da7e70081aff8c13a15803965d955f85398702fd720e727f7fff34d" }, "downloads": -1, "filename": "huckle-0.2.0.dev2.tar.gz", "has_sig": false, "md5_digest": "fdd75744467e1bb3e15b79a0174433ed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7938, "upload_time": "2017-03-12T16:41:03", "url": "https://files.pythonhosted.org/packages/80/fe/f02a1b7a5eea7d913c1ad2d4b48020ddb16d8f874a99dc612db4465d91a9/huckle-0.2.0.dev2.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "d44f732ba6bd5b9d761ddc26cbd2e701", "sha256": "694404c961d5e5f21cc7af68c88f43604fba70fbf46c125bf21b6ae97053eda3" }, "downloads": -1, "filename": "huckle-0.3.0.tar.gz", "has_sig": false, "md5_digest": "d44f732ba6bd5b9d761ddc26cbd2e701", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8207, "upload_time": "2017-04-01T04:46:41", "url": "https://files.pythonhosted.org/packages/a9/00/d1ec40d4466cb471ae76177c034cad5f2568f482f6592f526ec657f47fc9/huckle-0.3.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "d5ab1af9f9f96c2bb9241a4038216559", "sha256": "24b47c66beb9fe11de023410c863b40316ad6a4c189422751c3ebee8adf62733" }, "downloads": -1, "filename": "huckle-0.4.1.tar.gz", "has_sig": false, "md5_digest": "d5ab1af9f9f96c2bb9241a4038216559", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8897, "upload_time": "2017-07-01T01:26:28", "url": "https://files.pythonhosted.org/packages/ad/9a/a9153232abaef1ae4a092c44962d1b4501459d4b215b02c032a4af0f43b1/huckle-0.4.1.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "0ec7de9bc9711074dba75384f1eec879", "sha256": "ce823b2d4a12bf0648f051a2fc7add0da6a6da3f1ec720528a3e6de6c2bfd8c5" }, "downloads": -1, "filename": "huckle-0.5.0.tar.gz", "has_sig": false, "md5_digest": "0ec7de9bc9711074dba75384f1eec879", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8628, "upload_time": "2017-07-02T00:47:08", "url": "https://files.pythonhosted.org/packages/1a/57/2979d4a9e432d61d962613b5d333b0b682828efb14595c23ca6eec0e0c8c/huckle-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "bc39f394d99860f92da28cafae4f92b4", "sha256": "3eedb6fcd7c21e127d8f80876dbe0f50a865c3a039f367687eb38c91ed6492ee" }, "downloads": -1, "filename": "huckle-0.5.1.tar.gz", "has_sig": false, "md5_digest": "bc39f394d99860f92da28cafae4f92b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9163, "upload_time": "2017-07-02T04:51:02", "url": "https://files.pythonhosted.org/packages/48/a5/df301422ba07bf1e68e6bc1aa77174943bf8f9c4a66fab2d0392a1c08961/huckle-0.5.1.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "d97bd6efd248beebda859f2922d468bd", "sha256": "8db12f984ba3ace8aacf8f3ee83a7ddf65f940905a4aac17d9e76dfc5cfe8cee" }, "downloads": -1, "filename": "huckle-0.5.2.tar.gz", "has_sig": false, "md5_digest": "d97bd6efd248beebda859f2922d468bd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9165, "upload_time": "2017-07-02T04:53:47", "url": "https://files.pythonhosted.org/packages/51/ec/9773945ec01a5a2e6742edf234d4723224dc21cbf2c31369129ab384c6f3/huckle-0.5.2.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "97dde5700116373fdd2d2eef6ec27657", "sha256": "7332b4e091f118de7622188dbb391934ed3a9974a0ed6ab50b200067cf1643e1" }, "downloads": -1, "filename": "huckle-0.6.0.tar.gz", "has_sig": false, "md5_digest": "97dde5700116373fdd2d2eef6ec27657", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9427, "upload_time": "2017-07-04T03:48:21", "url": "https://files.pythonhosted.org/packages/0a/2f/1d8f4ebe929f67bc79a280e95efabc481fcf3b5ea6cc5ec1ff64454c4b2d/huckle-0.6.0.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "971d434c9d22f738be5265c712f37c96", "sha256": "4a3aa35fc4354ef653ebe7315307c4b5814ae59c9746a087bc260cd7c1e379f4" }, "downloads": -1, "filename": "huckle-0.6.1.tar.gz", "has_sig": false, "md5_digest": "971d434c9d22f738be5265c712f37c96", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9341, "upload_time": "2017-07-04T04:35:58", "url": "https://files.pythonhosted.org/packages/39/63/568948d7e883c9725572fc577d0226a7a8808f8007d36be72afad97b6138/huckle-0.6.1.tar.gz" } ], "0.6.2": [ { "comment_text": "", "digests": { "md5": "ce864ef837e40f510b8a78decf61cdfa", "sha256": "7faa15ff9de395f568fe146f5455998e85d0419ec2c42bf3c04d184a02a65d10" }, "downloads": -1, "filename": "huckle-0.6.2.tar.gz", "has_sig": false, "md5_digest": "ce864ef837e40f510b8a78decf61cdfa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9817, "upload_time": "2017-07-04T04:54:44", "url": "https://files.pythonhosted.org/packages/e7/d8/8a485a22ff58b7bb55f33613000f0a049dc5ad0d16c6f0748270eee78025/huckle-0.6.2.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "9cbec754b5e9e5aad40e052a3f866d21", "sha256": "0d6e87706324378588ad8d00e526548da8b8994a266d99f719429083d81860ca" }, "downloads": -1, "filename": "huckle-0.7.0.tar.gz", "has_sig": false, "md5_digest": "9cbec754b5e9e5aad40e052a3f866d21", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10023, "upload_time": "2017-07-21T21:38:30", "url": "https://files.pythonhosted.org/packages/ae/54/ee1fb54796096cee024f0f6b7abdd9597a037357c8b7d18eae5f4fb8e656/huckle-0.7.0.tar.gz" } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "9f1a970cb4f11c193508c24780ca5fc2", "sha256": "84365ddf0e8aa10f0a6160c228a4f2e42cbce152bbbf41b62258c06350bef4e1" }, "downloads": -1, "filename": "huckle-0.7.1.tar.gz", "has_sig": false, "md5_digest": "9f1a970cb4f11c193508c24780ca5fc2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10202, "upload_time": "2017-08-06T15:53:17", "url": "https://files.pythonhosted.org/packages/8b/fd/05fb83f2c716f5db1a9ed5ebc1bf8c227e703a020acd9b7680fe8f63507e/huckle-0.7.1.tar.gz" } ], "0.7.2": [ { "comment_text": "", "digests": { "md5": "88da3bff73378d4c8aa5ceb2c6e06826", "sha256": "d3fa131ab781da201ff345ed1ce095854e33fdd6eb60a1e73460ee7e7a9cbd53" }, "downloads": -1, "filename": "huckle-0.7.2.tar.gz", "has_sig": false, "md5_digest": "88da3bff73378d4c8aa5ceb2c6e06826", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10287, "upload_time": "2017-09-08T20:47:51", "url": "https://files.pythonhosted.org/packages/fe/62/acded8f9ec4b01dc214511822e26b700fee3c26ef937bc21a446a1e35c07/huckle-0.7.2.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "9e35e524cef15eaab94bf1335c1a0d7c", "sha256": "e8817624d97ce1634f406e1678ab9a83f0cf834ca246f7aa86956120855e6242" }, "downloads": -1, "filename": "huckle-1.0.0.tar.gz", "has_sig": false, "md5_digest": "9e35e524cef15eaab94bf1335c1a0d7c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10423, "upload_time": "2018-01-30T23:51:48", "url": "https://files.pythonhosted.org/packages/6d/7c/bf786f9e9fceb93e9942f650ccb08463c0da23c23e5d2c22e4c48c23f98d/huckle-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "d035aa434b300a30040f90ce801db39e", "sha256": "f252be22daab4da88db3c6fa5621a178604367ac66b921be2fa33b9c9326bc5e" }, "downloads": -1, "filename": "huckle-1.0.1.tar.gz", "has_sig": false, "md5_digest": "d035aa434b300a30040f90ce801db39e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10264, "upload_time": "2018-01-31T00:01:26", "url": "https://files.pythonhosted.org/packages/25/61/35497323d3ae348b60b63e3f5c930eba3b1135b952daab59a593e8b44be7/huckle-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "fb429273d4393549d85322c0c8c115ce", "sha256": "86cdc6fb493a07ce38b7e4e49e0f99400677b5ff4ae88a45866f0d34131beaef" }, "downloads": -1, "filename": "huckle-1.0.2.tar.gz", "has_sig": false, "md5_digest": "fb429273d4393549d85322c0c8c115ce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10441, "upload_time": "2018-03-18T18:27:50", "url": "https://files.pythonhosted.org/packages/fe/b6/73d8c633b5a08d0afdd3b5cc5883663229d132f6344d608259fbe1d740fd/huckle-1.0.2.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "5e2432a7cee3add5b0d2a406b1b1efea", "sha256": "d033196fd971b0a4fc6b129ee77fd41d78442e4799e623c946237fd0b45be199" }, "downloads": -1, "filename": "huckle-2.0.0.tar.gz", "has_sig": false, "md5_digest": "5e2432a7cee3add5b0d2a406b1b1efea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10413, "upload_time": "2018-05-28T01:30:54", "url": "https://files.pythonhosted.org/packages/80/d3/a49317d92247d1d6b26bb95aef21f3834e7ee3f1ca979cb27ca03b4d146b/huckle-2.0.0.tar.gz" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "1189cc836cf3c920a29fb35256a67847", "sha256": "bb5b74d0522d22b2679d861d967dabe4c387ceeddc064325e784ba82410f1991" }, "downloads": -1, "filename": "huckle-2.1.0.tar.gz", "has_sig": false, "md5_digest": "1189cc836cf3c920a29fb35256a67847", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10772, "upload_time": "2019-05-25T02:46:38", "url": "https://files.pythonhosted.org/packages/6f/96/c52578130a20c1e77d0d4ec271953cffa554b342b24f42f7a4b2be581779/huckle-2.1.0.tar.gz" } ], "2.2.0": [ { "comment_text": "", "digests": { "md5": "d138ebe79891ebd51d62b248b9611b12", "sha256": "42b30126f7d349ef90ccec96620e4e3891a30dcba2fa76d04391ec6f0dbb92c4" }, "downloads": -1, "filename": "huckle-2.2.0.tar.gz", "has_sig": false, "md5_digest": "d138ebe79891ebd51d62b248b9611b12", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10869, "upload_time": "2019-06-15T17:25:59", "url": "https://files.pythonhosted.org/packages/82/0f/81ffd35faeef8bbcde07243f85387d21f1f9beef548e4a97727f87f374af/huckle-2.2.0.tar.gz" } ], "2.3.0": [ { "comment_text": "", "digests": { "md5": "26af4436c211e3db4a04c320897a52f5", "sha256": "be81ed865b46f603bbfb8bddc8757eb96bbacb602d06e26def692a17077ce8c1" }, "downloads": -1, "filename": "huckle-2.3.0.tar.gz", "has_sig": false, "md5_digest": "26af4436c211e3db4a04c320897a52f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11028, "upload_time": "2019-06-29T22:34:57", "url": "https://files.pythonhosted.org/packages/f9/70/acd08d16c46498c3fb0420bc8a2c6d2efc8e485bdb1cfc1d9ae96acb79f5/huckle-2.3.0.tar.gz" } ], "2.3.1": [ { "comment_text": "", "digests": { "md5": "ec7db8f7d7033b16decb518a442674fb", "sha256": "586f42f085e38df62238cbd8f52a07b320f4501b7d6943a6c37824e56ea7c57e" }, "downloads": -1, "filename": "huckle-2.3.1.tar.gz", "has_sig": false, "md5_digest": "ec7db8f7d7033b16decb518a442674fb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11060, "upload_time": "2019-06-30T04:55:48", "url": "https://files.pythonhosted.org/packages/d4/8e/f57e512564f8567fab2dc44231f110d43deb6bc18a64734c8e19fb60c4e2/huckle-2.3.1.tar.gz" } ], "2.3.2": [ { "comment_text": "", "digests": { "md5": "75bceb7e98477a38961e11796804daee", "sha256": "e18e66c506ab26d9558e6384826105ca99e1d75cfe20c79a00cd845296ee48f5" }, "downloads": -1, "filename": "huckle-2.3.2.tar.gz", "has_sig": false, "md5_digest": "75bceb7e98477a38961e11796804daee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11068, "upload_time": "2019-07-14T03:52:01", "url": "https://files.pythonhosted.org/packages/ba/7c/51085c1b27f3bf6b3872e0d59216cb78c7a826d4d1b32f7fed88041e6411/huckle-2.3.2.tar.gz" } ], "2.4.2": [ { "comment_text": "", "digests": { "md5": "5e785b2c3ebd0094a0c1344ec9ef57da", "sha256": "551b7a49835c2941085c46c3806f633734986ae48607dfdbdbc54b8e8afadebb" }, "downloads": -1, "filename": "huckle-2.4.2.tar.gz", "has_sig": false, "md5_digest": "5e785b2c3ebd0094a0c1344ec9ef57da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11128, "upload_time": "2019-08-02T22:23:22", "url": "https://files.pythonhosted.org/packages/28/43/0d277c4f4b9b926f1af2a58dd530e22f024cff700fd34d1e7547c46c9d1c/huckle-2.4.2.tar.gz" } ], "2.4.3": [ { "comment_text": "", "digests": { "md5": "300a7784959bfd50b9e5459cc3c52330", "sha256": "02b33b63889491ab297e78e83345ed689dcf4e382a6ff08f539382fdc5c6c2ad" }, "downloads": -1, "filename": "huckle-2.4.3.tar.gz", "has_sig": false, "md5_digest": "300a7784959bfd50b9e5459cc3c52330", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11162, "upload_time": "2019-08-17T23:17:47", "url": "https://files.pythonhosted.org/packages/04/44/cb7cb158304710189df31eab70202240a5995a1aac5c6f3040cd447d343f/huckle-2.4.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "300a7784959bfd50b9e5459cc3c52330", "sha256": "02b33b63889491ab297e78e83345ed689dcf4e382a6ff08f539382fdc5c6c2ad" }, "downloads": -1, "filename": "huckle-2.4.3.tar.gz", "has_sig": false, "md5_digest": "300a7784959bfd50b9e5459cc3c52330", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11162, "upload_time": "2019-08-17T23:17:47", "url": "https://files.pythonhosted.org/packages/04/44/cb7cb158304710189df31eab70202240a5995a1aac5c6f3040cd447d343f/huckle-2.4.3.tar.gz" } ] }