{ "info": { "author": "Mathias Fu\u00dfenegger", "author_email": "pip@zignar.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "===\ncr8\n===\n\n.. image:: https://travis-ci.org/mfussenegger/cr8.svg?branch=master\n :target: https://travis-ci.org/mfussenegger/cr8\n :alt: travis-ci\n\n.. image:: https://img.shields.io/pypi/wheel/cr8.svg\n :target: https://pypi.python.org/pypi/cr8/\n :alt: Wheel\n\n.. image:: https://img.shields.io/pypi/v/cr8.svg\n :target: https://pypi.python.org/pypi/cr8/\n :alt: PyPI Version\n\n.. image:: https://img.shields.io/pypi/pyversions/cr8.svg\n :target: https://pypi.python.org/pypi/cr8/\n :alt: Python Version\n\nA collection of command line tools for `Crate\n`_ developers (and maybe users as well).\n\nTOC\n====\n\n- `Why cr8? \ud83e\udd14`_\n- `Install \ud83d\udcbe`_\n- `Usage`_\n- `Sub-commands`_\n - `timeit \ud83d\udd50`_\n - `insert-fake-data`_\n - `insert-json`_\n - `insert-blob`_\n - `run-spec`_\n - `run-crate`_\n - `Script reproduction`_\n - `Find regressions`_\n - `Profiling`_\n - `run-track`_\n - `reindex`_\n- `Protocols`_\n- `Development \u2622`_\n\n\nWhy cr8? \ud83e\udd14\n===========\n\n1. To quickly produce sample data. Often if someone reports an issue sample\n data is required to be able to reproduce it.\n `insert-fake-data`_ and `insert-json`_ address this problem.\n\n2. To benchmark queries & compare runtime across Crate versions. `timeit \ud83d\udd50`_,\n `run-spec`_ and `run-track`_ can be used to get runtime statistics of\n queries.\n These tools focus on response latencies. Being able to benchmark throughput\n is NOT a goal of cr8. Similarly, being able to simulate real-world use\n cases is also NOT a goal of cr8.\n\n\n\n.. note::\n\n Although most commands output text by default. Most take a ``--output-fmt\n json`` argument to output JSON.\n This is useful if used together with `jq`_ to post-process the output\n\n\nInstall \ud83d\udcbe\n==========\n\nPython >= 3.6 is required to use the command line tools.\n\nInstall them using `pip `_::\n\n python3.6 -m pip install --user cr8\n\nOr download a single ``zipapp`` file from the `releases page\n`_.\n\n\nUsage\n=====\n\nThe main binary is called ``cr8`` which contains a couple of sub-commands.\n\nUse ``cr8 -h`` or ``cr8 -h`` to get a more detailed usage\ndescription.\n\nThe included sub-commands are described in more detail below:\n\nSub-commands\n============\n\ntimeit \ud83d\udd50\n---------\n\nA tool that can be used to measure the runtime of a given SQL statement on a\ncluster::\n\n >>> echo \"select name from sys.cluster\" | cr8 timeit --hosts localhost:4200\n Runtime (in ms):\n mean: ... \u00b1 ...\n min/max: ... \u2192 ...\n Percentile:\n 50: ... \u00b1 ... (stdev)\n 95: ...\n 99.9: ...\n\n\ninsert-fake-data\n----------------\n\nA tool that can be used to fill a table with random data. The script will\ngenerate the records using `faker `_.\n\nFor example given the table as follows::\n\n create table x.demo (\n id int,\n name text,\n country text\n );\n\nThe following command can be used to insert 1000 records::\n\n >>> cr8 insert-fake-data --hosts localhost:4200 --table x.demo --num-records 200\n Found schema: \n {\n \"country\": \"text\",\n \"id\": \"integer\",\n \"name\": \"text\"\n }\n Using insert statement: \n insert into \"x\".\"demo\" (\"id\", \"name\", \"country\") values (?, ?, ?)\n Will make 1 requests with a bulk size of 200\n Generating fake data and executing inserts\n \n\n\nIt will automatically read the schema from the table and map the columns to\nfaker `providers\n`_ and insert the\ngive number of records.\n\n(Currently only top-level columns are supported)\n\ninsert-json\n-----------\n\n``insert-json`` can be used to insert records from a JSON file::\n\n >>> cat tests/demo.json | cr8 insert-json --table x.demo --hosts localhost:4200\n Executing inserts: bulk_size=1000 concurrency=25\n Runtime (in ms):\n mean: ... \u00b1 0.000\n\nOr simply print the insert statement generated from a JSON string::\n\n >>> echo '{\"name\": \"Arthur\"}' | cr8 insert-json --table mytable\n ('insert into mytable (\"name\") values (?)', ['Arthur'])\n ...\n\ninsert-blob\n-----------\n\nA tool to upload a file into a blob table::\n\n >>> cr8 insert-blob --hosts localhost:4200 --table blobtable specs/sample.toml\n http://.../_blobs/blobtable/c7ba64086c76c2db78dfabf163ef41a338a0d84b\n\nrun-spec\n--------\n\nA tool to run benchmarks against a cluster and store the result in another\ncluster. The benchmark itself is defined in a spec file which defines `setup`,\n`benchmark` and `teardown` instructions.\n\nThe instructions itself are just SQL statements (or files containing SQL\nstatements).\n\nIn the `specs` folder is an example spec file.\n\nUsage::\n\n >>> cr8 run-spec specs/sample.toml localhost:4200 -r localhost:4200\n # Running setUp\n # Running benchmark\n \n ## Running Query:\n Statement: select count(*) from countries\n Concurrency: 2\n Duration: 1\n Runtime (in ms):\n mean: ... \u00b1 ...\n min/max: ... \u2192 ...\n Percentile:\n 50: ... \u00b1 ... (stdev)\n 95: ...\n 99.9: ...\n ...\n ## Skipping (Version ...\n Statement: ...\n # Running tearDown\n \n\n`-r` is optional and can be used to save the benchmark result into a cluster.\nA table named `benchmarks` will be created if it doesn't exist.\n\nWriting spec files in python is also supported::\n\n >>> cr8 run-spec specs/sample.py localhost:4200\n # Running setUp\n # Running benchmark\n ...\n\nrun-crate\n---------\n\nLaunch a Crate instance::\n\n > cr8 run-crate 0.55.0\n\nThis requires Java 8.\n\n``run-crate`` supports chaining of additional commands using ``--``. Under the\ncontext of ``run-crate`` any host urls can be formatted using the\n``{node.http_url}`` format string::\n\n >>> cr8 run-crate latest-stable -- timeit -s \"select 1\" --hosts '{node.http_url}'\n # run-crate\n ===========\n \n ...\n Starting Crate process\n CrateDB launching:\n PID: ...\n Logs: ...\n Data: ...\n \n ...\n Cluster ready to process requests\n \n \n # timeit\n ========\n \n \n \n \n\nIn the above example ``timeit`` is a ``cr8`` specific sub-command. But it's\nalso possible to use arbitrary commands by prefixing them with ``@``::\n\n cr8 run-crate latest-nightly -- @http '{node.http_url}'\n\n\nScript reproduction\n~~~~~~~~~~~~~~~~~~~\n\nOne common use of this feature is to quickly reproduce bug reports::\n\n cr8 run-crate latest-nightly -- @crash --hosts {node.http_url} < 15'\n\nThis could also be combined with `timeout\n`_.\n\n\nProfiling\n~~~~~~~~~\n\nThis can also be used in combination with the Java flight recorder to do\nprofiling::\n\n cr8 run-crate latest-nightly \\\n -e CRATE_HEAP_SIZE=4g \\\n -e CRATE_JAVA_OPTS=\"-Dcrate.signal_handler.disabled=true -XX:+UnlockDiagnosticVMOptions -XX:+DebugNonSafepoints -XX:+UnlockCommercialFeatures -XX:+FlightRecorder\" \\\n -s discovery.type=single-node \\\n -- run-spec path/to/specs/example.toml {node.http_url} --action setup \\\n -- @jcmd {node.process.pid} JFR.start duration=60s filename=myrecording.jfr \\\n -- run-spec path/to/specs/example.toml {node.http_url} --action queries \\\n -- @jcmd {node.process.pid} JFR.stop\n\n\nrun-track\n---------\n\nA tool to run ``.toml`` track files.\nA track is a matrix definition of node version, configurations and spec files.\n\nFor each version and configuration a Crate node will be launched and all specs\nwill be executed::\n\n >>> cr8 run-track tracks/sample.toml\n # Version: latest-testing\n ## Starting Crate latest-testing, configuration: default.toml\n ### Running spec file: sample.toml\n # Running setUp\n # Running benchmark\n ...\n\n\nreindex\n-------\n\nA command to re-index all tables on a cluster which have been created in the\nprevious major versions. So if you're running a 3.x CrateDB cluster, all tables\nfrom 2.x would be re-created::\n\n >>> cr8 reindex --help\n usage: cr8 reindex [-h] --hosts HOSTS\n ...\n\n\nProtocols\n=========\n\n``cr8`` supports using ``HTTP`` or the ``postgres`` protocol if the extra\ndependency ``asyncpg`` is installed.\n\nNote that using the postgres protocol will cause ``cr8`` to measure the\nround-trip time instead of the service time. So measurements will be different::\n\n\n >>> echo \"select 1\" | cr8 timeit --hosts asyncpg://localhost:5432\n Runtime (in ms):\n ...\n\n\nDevelopment \u2622\n==============\n\nTo get a sandboxed environment with all dependencies installed use ``venv``::\n\n python -m venv .venv\n source .venv/bin/activate\n\nInstall the ``cr8`` package using pip::\n\n python -m pip install -e .\n\nRun ``cr8``::\n\n cr8 -h\n\nTests are run with ``python -m unittest``\n\n.. _jq: https://stedolan.github.io/jq/\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/mfussenegger/cr8", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "cr8", "package_url": "https://pypi.org/project/cr8/", "platform": "", "project_url": "https://pypi.org/project/cr8/", "project_urls": { "Homepage": "https://github.com/mfussenegger/cr8" }, "release_url": "https://pypi.org/project/cr8/0.17.0/", "requires_dist": [ "crate (>=0.16)", "argh", "tqdm", "Faker (==0.9.1)", "aiohttp (<4,>=3.3)", "toml", "asyncpg ; extra == 'asyncpg'", "uvloop ; extra == 'uvloop'" ], "requires_python": ">=3.6", "summary": "A collection of command line tools for crate devs", "version": "0.17.0" }, "last_serial": 5707824, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "7813cc80f3dfad35d6d943c52c8423b1", "sha256": "7dfe7d051e39a85a63d5348509a7bda180f81dc5ca1f7bf58b9bc3232038b9ba" }, "downloads": -1, "filename": "cr8-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "7813cc80f3dfad35d6d943c52c8423b1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10445, "upload_time": "2015-11-30T21:51:15", "url": "https://files.pythonhosted.org/packages/35/d3/842501fedaa0661a26f0ec8e99a68be3f2ce5f4317089288ed52d00e402c/cr8-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "453b8aae2d6d9df78d7fb3afe483596f", "sha256": "802d1880797b2ce9a45b8ec86754a0d5c180cff0efd8f62ca8ab35e3840ed193" }, "downloads": -1, "filename": "cr8-0.1.0.tar.gz", "has_sig": false, "md5_digest": "453b8aae2d6d9df78d7fb3afe483596f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10244, "upload_time": "2015-11-30T21:51:23", "url": "https://files.pythonhosted.org/packages/7c/76/97a1e1904953b435363483d6f8ec04e4a14a3ce76495be4b8852336decda/cr8-0.1.0.tar.gz" } ], "0.10.0": [ { "comment_text": "", "digests": { "md5": "3b4839d1b7cf14654dabbecdff1e298e", "sha256": "d1120314114cbd46cc4d6be5c943c91d7041054fe5fd0c87ecd7128ea6c14d26" }, "downloads": -1, "filename": "cr8-0.10.0-py3-none-any.whl", "has_sig": false, "md5_digest": "3b4839d1b7cf14654dabbecdff1e298e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 35788, "upload_time": "2017-06-30T18:12:09", "url": "https://files.pythonhosted.org/packages/37/4e/6dcd72f56f1c96bbd28189e59b2d2462e4c17eaca75549f5d8543c709d7a/cr8-0.10.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "96b459cd6817efddcc378264c3332f98", "sha256": "c0dbce8d56f3df070159a5a095a4628161d2361f14ccd0dd9b6cf135275a1cbf" }, "downloads": -1, "filename": "cr8-0.10.0.tar.gz", "has_sig": false, "md5_digest": "96b459cd6817efddcc378264c3332f98", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 43105, "upload_time": "2017-06-30T18:12:11", "url": "https://files.pythonhosted.org/packages/05/3a/7d533131bb8877ac0be2834d4f698c5228c6694b6e2cd7c21628642b08e3/cr8-0.10.0.tar.gz" } ], "0.10.1": [ { "comment_text": "", "digests": { "md5": "88278aee46e5df0d021d9948bffb70e7", "sha256": "2bff7a321f52689bf90dbda86cf72315342b2dc144de0018870ba85a8745fad6" }, "downloads": -1, "filename": "cr8-0.10.1-py3-none-any.whl", "has_sig": false, "md5_digest": "88278aee46e5df0d021d9948bffb70e7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 35080, "upload_time": "2017-08-04T14:32:54", "url": "https://files.pythonhosted.org/packages/72/88/99ca0e59d66c84ee034d3e891515cf45a8879aac87df419f62489ec8eb4b/cr8-0.10.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b69c220698fa2e4fadcab431c32cf959", "sha256": "850eac54240e58d821e32f19bdefe1c064dbd3ba0b5e9d52eb3936cb18ec5848" }, "downloads": -1, "filename": "cr8-0.10.1.tar.gz", "has_sig": false, "md5_digest": "b69c220698fa2e4fadcab431c32cf959", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 43056, "upload_time": "2017-08-04T14:32:57", "url": "https://files.pythonhosted.org/packages/df/b2/01bb5ed42ced4dd7656aeb5f70d70ea5f0ad188ee8a36d0e0236108b2673/cr8-0.10.1.tar.gz" } ], "0.10.2": [ { "comment_text": "", "digests": { "md5": "86513ed01657928bfe31a0f9162153d2", "sha256": "0ef6d732d2bef5756ff011748e7bd8fd7a84bfed49de4d524fae987dc5a1810d" }, "downloads": -1, "filename": "cr8-0.10.2-py3-none-any.whl", "has_sig": false, "md5_digest": "86513ed01657928bfe31a0f9162153d2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 35145, "upload_time": "2017-09-12T20:38:19", "url": "https://files.pythonhosted.org/packages/91/c7/cd5d1a3b868f2fb58a364f07bf6715f418f1d4606f342622c8a9b017c9f3/cr8-0.10.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5e005642526d5cfe8b2a5ae1614b8c44", "sha256": "0791945bac27b6bc9c0f74d3fc746bc3357b3477b32ca2da02b5f8207d476dfc" }, "downloads": -1, "filename": "cr8-0.10.2.tar.gz", "has_sig": false, "md5_digest": "5e005642526d5cfe8b2a5ae1614b8c44", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 43201, "upload_time": "2017-09-12T20:38:21", "url": "https://files.pythonhosted.org/packages/e1/85/723e12fb9e3b1a0a0ee3bf00a4276c56e8cdf11e53690ab459dd0e77bb0b/cr8-0.10.2.tar.gz" } ], "0.11.0": [ { "comment_text": "", "digests": { "md5": "4e5be334c0b625dd305af8e34bd0bd0f", "sha256": "9e5cece57981afc945c139537d4befba6df0419e44c826cbd3a3cbe2e3166ba3" }, "downloads": -1, "filename": "cr8-0.11.0-py3-none-any.whl", "has_sig": false, "md5_digest": "4e5be334c0b625dd305af8e34bd0bd0f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 36640, "upload_time": "2017-11-05T20:43:07", "url": "https://files.pythonhosted.org/packages/dd/83/f0ad80c85382d3654120811296c74f3854bf27cd338cd7b90e24dbe95f03/cr8-0.11.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7c2aca8e3cbc8e5bff0e8aebfc18f1da", "sha256": "cd08d4d9df79d8bebcc8dfb10d07fc181ef44dc7eb49b60a0443e3b14d105ad3" }, "downloads": -1, "filename": "cr8-0.11.0.tar.gz", "has_sig": false, "md5_digest": "7c2aca8e3cbc8e5bff0e8aebfc18f1da", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 45319, "upload_time": "2017-11-05T20:43:09", "url": "https://files.pythonhosted.org/packages/53/ef/5687332bf734ab44d0bd9cc69bc94a2bb564d0b4c5ab220f1831f0153097/cr8-0.11.0.tar.gz" } ], "0.11.1": [ { "comment_text": "", "digests": { "md5": "1193c6db9f3dafe41963a5cdd7288e65", "sha256": "3b5a285198730bd88d648fdd668e38b2c05630e3387dbd1d4ce736e7a33e486d" }, "downloads": -1, "filename": "cr8-0.11.1-py3-none-any.whl", "has_sig": false, "md5_digest": "1193c6db9f3dafe41963a5cdd7288e65", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 37320, "upload_time": "2018-02-04T19:01:47", "url": "https://files.pythonhosted.org/packages/b3/e9/aa47a895bfe0a85b82520f4e1f9b5587aa652b174a2b9df46ebb9bdbf810/cr8-0.11.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "852cc71e664b602e3053295ddbe321f4", "sha256": "2d77d08a14ed1c54ed6ec0c7de4e807f79b90548e7ed4b12ea149827144ab1b1" }, "downloads": -1, "filename": "cr8-0.11.1.tar.gz", "has_sig": false, "md5_digest": "852cc71e664b602e3053295ddbe321f4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 46323, "upload_time": "2018-02-04T19:01:49", "url": "https://files.pythonhosted.org/packages/fd/3e/e8ac692d174b119e30ba8983eb7012543b6ed84637fb204af7fabaf7711b/cr8-0.11.1.tar.gz" } ], "0.12.0": [ { "comment_text": "", "digests": { "md5": "3d1cfa428bc0bcbb26d3bceed1b7b305", "sha256": "a09c2d7a0f2e3fe4f992ff9db41f98399b7a532a1552bf0d798a11a2aaf19809" }, "downloads": -1, "filename": "cr8-0.12.0-py3-none-any.whl", "has_sig": false, "md5_digest": "3d1cfa428bc0bcbb26d3bceed1b7b305", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 39293, "upload_time": "2018-05-24T17:32:33", "url": "https://files.pythonhosted.org/packages/7c/b2/cf45a83caf0bf1161ae920f4d6edcacdd2b5ebdfe411b74693154550b7b8/cr8-0.12.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "98fdd4256498e6b9ee69089bbecf81f8", "sha256": "15e2504cbd3a3870890f5da82825df6532bfb6c5c9980c4bb89113318ef4b2a4" }, "downloads": -1, "filename": "cr8-0.12.0.tar.gz", "has_sig": false, "md5_digest": "98fdd4256498e6b9ee69089bbecf81f8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 48863, "upload_time": "2018-05-24T17:32:34", "url": "https://files.pythonhosted.org/packages/e2/1b/1aaf0672191b51f57e8d164cd3fc2bb9958df093685b2ae32d1416a9a32b/cr8-0.12.0.tar.gz" } ], "0.12.1": [ { "comment_text": "", "digests": { "md5": "72abc5c6c43e04fb9d0f19d416e6ac04", "sha256": "5d70ea77344964268d3df24b563398560ed85152bb298396324b34e015fe0b58" }, "downloads": -1, "filename": "cr8-0.12.1-py3-none-any.whl", "has_sig": false, "md5_digest": "72abc5c6c43e04fb9d0f19d416e6ac04", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 39426, "upload_time": "2018-06-08T20:26:16", "url": "https://files.pythonhosted.org/packages/ec/5c/d604b343e69f8e25d6011eacc3c0f328bb563305ec1afe4e772f8dc8ca8d/cr8-0.12.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ece233b6f5c99917c2888b705697898f", "sha256": "484696ee3540c0261f978652fee72f802a9ded25395a672dc4334cef343d7788" }, "downloads": -1, "filename": "cr8-0.12.1.tar.gz", "has_sig": false, "md5_digest": "ece233b6f5c99917c2888b705697898f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 49055, "upload_time": "2018-06-08T20:26:18", "url": "https://files.pythonhosted.org/packages/b2/87/863f27b85247ce9038941ca5ad4c79c9a2d9a74eebb821b6e634cfda25c2/cr8-0.12.1.tar.gz" } ], "0.13.0": [ { "comment_text": "", "digests": { "md5": "6ba1b5a64d33dd85229da50a8ac40fa0", "sha256": "502c2fa16e6ae94dd8f0e94ea77f7426eebe91df1e3c1fe57973fbba1aef0dff" }, "downloads": -1, "filename": "cr8-0.13.0-py3-none-any.whl", "has_sig": false, "md5_digest": "6ba1b5a64d33dd85229da50a8ac40fa0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 36361, "upload_time": "2018-07-04T18:35:26", "url": "https://files.pythonhosted.org/packages/58/1b/980cd1eb5d7582c46d44abeb7480493799818b54301103930205e359b09a/cr8-0.13.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d1762d1ac64d243dad1bd11530ad6169", "sha256": "4bf0de2db60534c9463f1ab4ff8c28e052dfe5b7b0449ed4f131c3411ca891c8" }, "downloads": -1, "filename": "cr8-0.13.0.tar.gz", "has_sig": false, "md5_digest": "d1762d1ac64d243dad1bd11530ad6169", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 49225, "upload_time": "2018-07-04T18:35:27", "url": "https://files.pythonhosted.org/packages/b1/72/1da363ab41ab2ea62ac573a6d709262afa83cbf9e20ce402b3567f4abb13/cr8-0.13.0.tar.gz" } ], "0.14.0": [ { "comment_text": "", "digests": { "md5": "4fdd733a9653f8753fc5587c8b031c58", "sha256": "c943c8df9d37482b7816cfb00840a5608321c5f46918ec7376c5313c32652967" }, "downloads": -1, "filename": "cr8-0.14.0-py3-none-any.whl", "has_sig": false, "md5_digest": "4fdd733a9653f8753fc5587c8b031c58", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 37539, "upload_time": "2018-10-08T11:04:19", "url": "https://files.pythonhosted.org/packages/ce/56/ae5c7e2827ccf1839fb0da2bb4d0a1c2a85c06cb29359ed157ee210c7bf0/cr8-0.14.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "67ca3c641a9cf29bcfeef8de88b31965", "sha256": "734f200d208793a504bf91e9f8395167c288cdcac21c5f81f0540e30769ea41d" }, "downloads": -1, "filename": "cr8-0.14.0.tar.gz", "has_sig": false, "md5_digest": "67ca3c641a9cf29bcfeef8de88b31965", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 50754, "upload_time": "2018-10-08T11:04:21", "url": "https://files.pythonhosted.org/packages/41/fb/5e4cfecd19508824444535ab7c2d402411de36ea32581a2359e602ac2edd/cr8-0.14.0.tar.gz" } ], "0.14.1": [ { "comment_text": "", "digests": { "md5": "49b89743b0061661fed45708faf17244", "sha256": "7d7222d961d26ba0e7470e25c7ab7b6aafbffc99e13f27f8ebd36c0b907374b2" }, "downloads": -1, "filename": "cr8-0.14.1-py3-none-any.whl", "has_sig": false, "md5_digest": "49b89743b0061661fed45708faf17244", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 36750, "upload_time": "2019-02-05T15:26:21", "url": "https://files.pythonhosted.org/packages/9c/db/53922e8620aef7fcca8babfb92a09802ddf86902a298f545a295e9095e5e/cr8-0.14.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bffd217a84377ee9960cc81cced6cea4", "sha256": "4a14df898e35da89a8111081fe178ff83b900729afa114109b6a9109ab007c95" }, "downloads": -1, "filename": "cr8-0.14.1.tar.gz", "has_sig": false, "md5_digest": "bffd217a84377ee9960cc81cced6cea4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 50871, "upload_time": "2019-02-05T15:26:23", "url": "https://files.pythonhosted.org/packages/4b/c6/ec8d0d60e888e2b764786fc6fdf4238d1fd029b44e8e23a3c87f15dbc8f7/cr8-0.14.1.tar.gz" } ], "0.14.2": [ { "comment_text": "", "digests": { "md5": "bd84bae49f3a5f263940cbe39d4290a5", "sha256": "0d6e8092708fbd4e14ec080d96d9fc065e8a1b25327010bce699ee6ef897771a" }, "downloads": -1, "filename": "cr8-0.14.2-py3-none-any.whl", "has_sig": false, "md5_digest": "bd84bae49f3a5f263940cbe39d4290a5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 36829, "upload_time": "2019-02-14T15:31:52", "url": "https://files.pythonhosted.org/packages/1a/8b/39b3e9c07eeb1a25574b7e010cb02307d8456afa6748fc68783fda1beab8/cr8-0.14.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b2067559f9c4a93a672e8b64c57f5e0e", "sha256": "592e88f584df9d2cad032f82e29a74cff3e1add51dc14d9da122c43b51279554" }, "downloads": -1, "filename": "cr8-0.14.2.tar.gz", "has_sig": false, "md5_digest": "b2067559f9c4a93a672e8b64c57f5e0e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 50960, "upload_time": "2019-02-14T15:31:54", "url": "https://files.pythonhosted.org/packages/08/37/e78a769b550896578581791dd175eb5f393db5dd3d96cc5e867558cd5f57/cr8-0.14.2.tar.gz" } ], "0.15.0": [ { "comment_text": "", "digests": { "md5": "2c20f71cac7f1fb4e373844c93c00a4d", "sha256": "7c1b24905b418e37374e3ac1bbe705d3afd0c4297154ee8e6450fd3bc65a8ccc" }, "downloads": -1, "filename": "cr8-0.15.0-py3-none-any.whl", "has_sig": false, "md5_digest": "2c20f71cac7f1fb4e373844c93c00a4d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 39054, "upload_time": "2019-02-28T08:30:51", "url": "https://files.pythonhosted.org/packages/b8/52/cd684493064c48a521087ecaebd606a7f49e14a476f8ec35064364cd0b31/cr8-0.15.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7d869472fa678eeee4a7990671e01534", "sha256": "13368ebb19dc96036882150beff10b356614fc3b280a80fbf1545a6b319bfe61" }, "downloads": -1, "filename": "cr8-0.15.0.tar.gz", "has_sig": false, "md5_digest": "7d869472fa678eeee4a7990671e01534", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 52523, "upload_time": "2019-02-28T08:30:53", "url": "https://files.pythonhosted.org/packages/f4/63/48bd98c04c81c6d8d26b5949bf8222922ff8e7bc99def09b9895b463e2f2/cr8-0.15.0.tar.gz" } ], "0.15.1": [ { "comment_text": "", "digests": { "md5": "483456ada3ae0239ffc97b526d13a010", "sha256": "f6b32ecd918ec016dbbfc9ff23e4f4541d5a5a99f34fc12ff6e742ad580205e5" }, "downloads": -1, "filename": "cr8-0.15.1-py3-none-any.whl", "has_sig": false, "md5_digest": "483456ada3ae0239ffc97b526d13a010", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 38489, "upload_time": "2019-04-04T14:20:15", "url": "https://files.pythonhosted.org/packages/c8/61/d6d2cabf30ef4b8c2c699fcb47183a8c98a09a902a19f3b29d2bf9a6eec6/cr8-0.15.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "aff01f65099d89c0f71aa1221735968f", "sha256": "4a460f922a3faf0f2e8a93ae56bc7a0c7a3e5ad15bf465603c3ba2ad27ad9ff1" }, "downloads": -1, "filename": "cr8-0.15.1.tar.gz", "has_sig": false, "md5_digest": "aff01f65099d89c0f71aa1221735968f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 52935, "upload_time": "2019-04-04T14:20:24", "url": "https://files.pythonhosted.org/packages/5d/6b/3696bd04d3d0c46d8109319491ef3fc98403cf953abab206c56ce058ff18/cr8-0.15.1.tar.gz" } ], "0.16.0": [ { "comment_text": "", "digests": { "md5": "4dc203869bec970509d346c23400bc2b", "sha256": "25f512bfcfb614f131b011cf5d263cbd00262e1458349f47c2bb85449214f4a0" }, "downloads": -1, "filename": "cr8-0.16.0-py3-none-any.whl", "has_sig": false, "md5_digest": "4dc203869bec970509d346c23400bc2b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 39375, "upload_time": "2019-07-01T08:02:21", "url": "https://files.pythonhosted.org/packages/e5/f5/8f6707f7f98a2e5fd4b7838d0bb0ab16f66666c6798f2de6855716d3e7bf/cr8-0.16.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "71b118967bd2975200063e49bbc40ef9", "sha256": "bd3f1c2c787e91ff1cb84d92bdac8127356c39b2729570d2dcb391723259b04d" }, "downloads": -1, "filename": "cr8-0.16.0.tar.gz", "has_sig": false, "md5_digest": "71b118967bd2975200063e49bbc40ef9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 53340, "upload_time": "2019-07-01T08:02:23", "url": "https://files.pythonhosted.org/packages/ae/8e/0f71804b74b8a1b5e92469532c58e4b9326e554991d43e9c4038f842bc6b/cr8-0.16.0.tar.gz" } ], "0.17.0": [ { "comment_text": "", "digests": { "md5": "2bdcf2a7839d7260ff1fa5a9bf42c427", "sha256": "2ca45fb0e6077c937f041286d48bb51f4f17419431ba725c32c22b5276a0ac35" }, "downloads": -1, "filename": "cr8-0.17.0-py3-none-any.whl", "has_sig": false, "md5_digest": "2bdcf2a7839d7260ff1fa5a9bf42c427", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 40996, "upload_time": "2019-08-21T08:23:51", "url": "https://files.pythonhosted.org/packages/21/9c/ed8640f38f8c9cca0e1e8c034b06b43ab6f83fd22dc8732297dd1ed5f38c/cr8-0.17.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "77fba7033da62c7be5c407f4c2288327", "sha256": "c7eb3a11b066300feb2dce389d4e0b38d8f39605283e807f42b5edc12e7e641e" }, "downloads": -1, "filename": "cr8-0.17.0.tar.gz", "has_sig": false, "md5_digest": "77fba7033da62c7be5c407f4c2288327", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 54878, "upload_time": "2019-08-21T08:23:53", "url": "https://files.pythonhosted.org/packages/40/ba/3dce8ee749589ded947ff7faf4e41ef104c15623a0605017d89cd8effc74/cr8-0.17.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "6daddae62ae256619b81473e1d640882", "sha256": "fb6b73cd08babc80fecd2ffae12f71ac3e8fc0b0b88bb0f61c8a02ce94ba64ed" }, "downloads": -1, "filename": "cr8-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "6daddae62ae256619b81473e1d640882", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11811, "upload_time": "2016-01-15T22:26:23", "url": "https://files.pythonhosted.org/packages/d3/92/3d9d267bb9edcc1fb77c28bd44462eee2eda94be2ece8d38cd369eeb9369/cr8-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cc049fda6f88e4464c02d5bc678cd766", "sha256": "4faf189a56f6cc98d97ffeb789f97dfaeebd63103eb5d2e01583e8d474178fa8" }, "downloads": -1, "filename": "cr8-0.2.0.tar.gz", "has_sig": false, "md5_digest": "cc049fda6f88e4464c02d5bc678cd766", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11766, "upload_time": "2016-01-15T22:26:36", "url": "https://files.pythonhosted.org/packages/56/b8/03a4bbd047e15d67f63e41f90f9a0c343056eecceb8df62ab6e64479fe29/cr8-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "aee4f708aa4ea5a145532c494c3f997a", "sha256": "87394867149ff334c2eb0d7b222c6f5140bedd7e1345a9bda677d8165b64c910" }, "downloads": -1, "filename": "cr8-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "aee4f708aa4ea5a145532c494c3f997a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12882, "upload_time": "2016-02-18T22:14:34", "url": "https://files.pythonhosted.org/packages/78/a6/d189b58070411a1583d5cfe644dff5a4e021cc66309278c110b7a0ce75c8/cr8-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b5abe38650dd45cdea7a49846cb8677e", "sha256": "bfb1d13ed504535ea831180bcbdb2b91e665403dd0c6f476911c7f9062408b51" }, "downloads": -1, "filename": "cr8-0.3.0.tar.gz", "has_sig": false, "md5_digest": "b5abe38650dd45cdea7a49846cb8677e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11481, "upload_time": "2016-02-18T22:14:44", "url": "https://files.pythonhosted.org/packages/6f/43/98b6ba69fe29482fe8799acd5f634d1fff2805915f625d91e36ddc0ca3e8/cr8-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "4d6b9d7f7a849cec1b0fc4553b9cecbe", "sha256": "9e35122a81a2a09689b8ae0816cccbb881a56749c5c20ba1acd3cf347ea043f3" }, "downloads": -1, "filename": "cr8-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "4d6b9d7f7a849cec1b0fc4553b9cecbe", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14109, "upload_time": "2016-05-19T20:56:46", "url": "https://files.pythonhosted.org/packages/17/d9/6a84d6518125a3ccc56d885f12d4929079c766aabb30a38edda9f850cca8/cr8-0.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fc5d57f03cd0b3a5d4315559a984d1e7", "sha256": "f6b163f1238293060b72925c330fc2b0059564cf488d7c48c5aace80b6d2c1be" }, "downloads": -1, "filename": "cr8-0.4.0.tar.gz", "has_sig": false, "md5_digest": "fc5d57f03cd0b3a5d4315559a984d1e7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12902, "upload_time": "2016-05-19T20:56:54", "url": "https://files.pythonhosted.org/packages/df/93/d422fee181e4656125565ef176a15091d246da76803474efde74769319b5/cr8-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "f14562923a707ef64f3f7437b751f2db", "sha256": "afd8ebf905695772fc49845b98d9321d4afa28035f40bf8b6c021e0232acf6b1" }, "downloads": -1, "filename": "cr8-0.5.0-py3-none-any.whl", "has_sig": false, "md5_digest": "f14562923a707ef64f3f7437b751f2db", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 23314, "upload_time": "2016-06-09T21:10:15", "url": "https://files.pythonhosted.org/packages/2d/25/69ef2a43345c1509ae24e8eb0385854fe0f747ea183c4e8e987c001e0342/cr8-0.5.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a77c2cd7d8e8432a2f4c98903532995f", "sha256": "1d96b6099ec8aa6ccf105f7a73e7c0ebd3a364e16cc1473dabc707c594817c4b" }, "downloads": -1, "filename": "cr8-0.5.0.tar.gz", "has_sig": false, "md5_digest": "a77c2cd7d8e8432a2f4c98903532995f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23309, "upload_time": "2016-06-09T21:10:18", "url": "https://files.pythonhosted.org/packages/bb/c7/6f717ca7868eb18ca898ae1151e69a87bb5cb9bec6ec15417025109dfcaa/cr8-0.5.0.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "c2e9135a4a871748fc7791488f049139", "sha256": "a48e11ac7345c9e0a56545f47786e192c1f0a5132ff32ca68e1b2139174d24e7" }, "downloads": -1, "filename": "cr8-0.6.0-py3-none-any.whl", "has_sig": false, "md5_digest": "c2e9135a4a871748fc7791488f049139", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 25790, "upload_time": "2016-07-04T18:34:13", "url": "https://files.pythonhosted.org/packages/b4/3d/a3a8fef683e8a2e345ebf6bcc3dea7ad9db0e2ef89ec18ab1069ee0bb0d8/cr8-0.6.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fe6c538615a79383074cc7b58557516d", "sha256": "3c6877e9608a8bc7ba7afca52e6040e02d68ffb8077cd3db4987dce22f45ac34" }, "downloads": -1, "filename": "cr8-0.6.0.tar.gz", "has_sig": false, "md5_digest": "fe6c538615a79383074cc7b58557516d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30946, "upload_time": "2016-07-04T18:34:15", "url": "https://files.pythonhosted.org/packages/3b/40/111dddd06260491c45264e43ee3ecff60d274159cd506b8663cff5edd0c0/cr8-0.6.0.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "25b4845cf339914f8a8aeb387a525b38", "sha256": "098f1c73e12c0ce121c11b3862e077398e7bf4da5b3d1075221f782782a01dfa" }, "downloads": -1, "filename": "cr8-0.6.1-py3-none-any.whl", "has_sig": false, "md5_digest": "25b4845cf339914f8a8aeb387a525b38", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 25798, "upload_time": "2016-07-14T20:41:40", "url": "https://files.pythonhosted.org/packages/b8/2e/34790349cbdc4f0e11154c5bdbf7ddf8e849dc52bd8f3d75d17225855f64/cr8-0.6.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "47d930a9aa55547b6402544fbf02a28b", "sha256": "ddefed271a6d884a78ea073bccf89c717fc1289323e43fdaaa533e46fd58eb3f" }, "downloads": -1, "filename": "cr8-0.6.1.tar.gz", "has_sig": false, "md5_digest": "47d930a9aa55547b6402544fbf02a28b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30964, "upload_time": "2016-07-14T20:41:44", "url": "https://files.pythonhosted.org/packages/1a/09/ca3168a356a9423ed30a5d885fc541d3b01d2b43c0346e5941b331f5d766/cr8-0.6.1.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "530bdfd21e7b3320a5dd97e952b826a4", "sha256": "c19faf63ecb44c62810062c11b0da2a020f9f1bb000d8dd068bd6b607173815a" }, "downloads": -1, "filename": "cr8-0.7.0-py3-none-any.whl", "has_sig": false, "md5_digest": "530bdfd21e7b3320a5dd97e952b826a4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 29505, "upload_time": "2016-10-14T20:47:24", "url": "https://files.pythonhosted.org/packages/62/0a/2a40a82a197cb6dce8c0702a8a6f0cdd6008334ee025318fcd6745671af3/cr8-0.7.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4c536d6e73d853bb16028ad0a3015786", "sha256": "461c2c03064b3ddcce6980339c33b454c97ce24322f9c7da0f951df0f1681b9a" }, "downloads": -1, "filename": "cr8-0.7.0.tar.gz", "has_sig": false, "md5_digest": "4c536d6e73d853bb16028ad0a3015786", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35209, "upload_time": "2016-10-14T20:47:27", "url": "https://files.pythonhosted.org/packages/e0/cf/a80ed25ed73af45b4cde2bdfc27c0e2f59573c964c8a920af225ba6958a5/cr8-0.7.0.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "24faeeb2736cd43f2cced39bffde3ae5", "sha256": "58e489ec3f369db0aaf39d7fe610105980fa53b314bf5c49fe6e9d70715ce693" }, "downloads": -1, "filename": "cr8-0.8.0-py3-none-any.whl", "has_sig": false, "md5_digest": "24faeeb2736cd43f2cced39bffde3ae5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 29624, "upload_time": "2016-11-10T21:00:36", "url": "https://files.pythonhosted.org/packages/e9/31/e111192bc4ac32c69fc41ae3f2b51e74db026956f25b84a65b8ce67d07da/cr8-0.8.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "461ddddac928cea13e5b9a2f4fe35901", "sha256": "e55125ce55c81c4756f051855f3d3580995c3b6302e673f2973d5d724dc5eafd" }, "downloads": -1, "filename": "cr8-0.8.0.tar.gz", "has_sig": false, "md5_digest": "461ddddac928cea13e5b9a2f4fe35901", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36341, "upload_time": "2016-11-10T21:00:42", "url": "https://files.pythonhosted.org/packages/b2/38/024270cc8c1f34ae5ecaaeef52fd3c8af15397253555935a455d36dcbe8b/cr8-0.8.0.tar.gz" } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "3d456598009585561c3fa076ea5e0718", "sha256": "f34bb5e63f614fb6b3d682adfb25497620b76122fe605707f8607f6eada3e320" }, "downloads": -1, "filename": "cr8-0.8.1-py3-none-any.whl", "has_sig": false, "md5_digest": "3d456598009585561c3fa076ea5e0718", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 29649, "upload_time": "2016-11-11T23:22:17", "url": "https://files.pythonhosted.org/packages/55/2b/4a4831042c2e0ab7050152f8a9c3430fa5c8d40e8d82234afccefc4a7ede/cr8-0.8.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1d99c2b78b2636fdd5f6249ed69f8f8d", "sha256": "667ee0dd16693cecd6cebae17c042f3442a2ec9723163e4a6eb97683ae7ac91b" }, "downloads": -1, "filename": "cr8-0.8.1.tar.gz", "has_sig": false, "md5_digest": "1d99c2b78b2636fdd5f6249ed69f8f8d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36490, "upload_time": "2016-11-11T23:22:20", "url": "https://files.pythonhosted.org/packages/bc/90/4b9e7acb53dcea03dd83290910c46ad8fe34982af5b8d19c305bb9d7ad01/cr8-0.8.1.tar.gz" } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "a1697f56053126580dc0b2c1b6b77bfa", "sha256": "01bb77267985ca421a4a2f65d76b78905ed8bad23407d58067e6ccf9fcd62b85" }, "downloads": -1, "filename": "cr8-0.9.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a1697f56053126580dc0b2c1b6b77bfa", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 32164, "upload_time": "2016-12-13T21:02:13", "url": "https://files.pythonhosted.org/packages/8d/e3/55831e9cfafce8828fd08ebe9d3ac413c6eacfa91156fee93165acf6fe18/cr8-0.9.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bc6f7fa0739f79cf2ce83a19bc8d278b", "sha256": "68f928cbf8d43ee8517ead124e2da8f9fa8f0f02b14eed867508522ac52a034e" }, "downloads": -1, "filename": "cr8-0.9.0.tar.gz", "has_sig": false, "md5_digest": "bc6f7fa0739f79cf2ce83a19bc8d278b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38394, "upload_time": "2016-12-13T21:02:14", "url": "https://files.pythonhosted.org/packages/6b/2f/8c66ef70d5b8a0ee28111fd036b288af02f4d8e8b752d0cb33bff189a368/cr8-0.9.0.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "00772865e7f3084405a39e18c4028528", "sha256": "1e2355de8eaf216b8d68cb8037cd229e8a1b08f809d882e720883d0783b416d5" }, "downloads": -1, "filename": "cr8-0.9.1-py3-none-any.whl", "has_sig": false, "md5_digest": "00772865e7f3084405a39e18c4028528", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 32359, "upload_time": "2017-01-03T16:51:04", "url": "https://files.pythonhosted.org/packages/b3/3e/6a8f784b55371d6183a4587a3d5eb4222ab60f782372d873339da6461252/cr8-0.9.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "78f819acd8b50ba6fd5411678c4c1a9f", "sha256": "b63b7bb8193138174321c2471c159d9da5fb10ca5cae4140d989f9a1a0527de3" }, "downloads": -1, "filename": "cr8-0.9.1.tar.gz", "has_sig": false, "md5_digest": "78f819acd8b50ba6fd5411678c4c1a9f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38601, "upload_time": "2017-01-03T16:51:08", "url": "https://files.pythonhosted.org/packages/51/b4/bb2824ee3d7e7c9143e60df48cfa6dda306d1e575a0846a2ce7b4d9cea33/cr8-0.9.1.tar.gz" } ], "0.9.2": [ { "comment_text": "", "digests": { "md5": "8d07906ff9781c3685e10ee0f2e50973", "sha256": "eb734212fb7978ef705691a23ba56ee2e9d337c3cc3141709e1e4e714a3832c5" }, "downloads": -1, "filename": "cr8-0.9.2-py3-none-any.whl", "has_sig": false, "md5_digest": "8d07906ff9781c3685e10ee0f2e50973", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 32995, "upload_time": "2017-02-11T18:35:20", "url": "https://files.pythonhosted.org/packages/e1/f3/296a9b92e5a8910fd05fa74ee470eaff3ef7885b929cb47ea2731925bd91/cr8-0.9.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "64fedab3fb3ecf2373ab3d2253a582a6", "sha256": "2cbb78c98011564a5edadd40fc685d09dd9663aecb47b2e25efba599db5a0c7b" }, "downloads": -1, "filename": "cr8-0.9.2.tar.gz", "has_sig": false, "md5_digest": "64fedab3fb3ecf2373ab3d2253a582a6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39876, "upload_time": "2017-02-11T18:35:22", "url": "https://files.pythonhosted.org/packages/3a/ff/195f221976145e1f815ec55c377f89fd8cad0490a3664553da84957c4412/cr8-0.9.2.tar.gz" } ], "0.9.3": [ { "comment_text": "", "digests": { "md5": "d097da1f653c7948725e95b3a411823a", "sha256": "12e17a52e2ef9fcbad446235e50ce2dce3630fd3382e535cf931b1a6a5c2256f" }, "downloads": -1, "filename": "cr8-0.9.3-py3-none-any.whl", "has_sig": false, "md5_digest": "d097da1f653c7948725e95b3a411823a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 33115, "upload_time": "2017-05-14T19:02:22", "url": "https://files.pythonhosted.org/packages/ea/6d/0ce06061bc64f2c6bf30dd1d15153377847816f86e6ca9fd652a73f5c7fe/cr8-0.9.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8c52fe4b8bae29a7b681fe37a4928a78", "sha256": "383341f55545281afbe8b75c7f5b2fc746b56422cbe9236f3847801359195c47" }, "downloads": -1, "filename": "cr8-0.9.3.tar.gz", "has_sig": false, "md5_digest": "8c52fe4b8bae29a7b681fe37a4928a78", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 40033, "upload_time": "2017-05-14T19:02:24", "url": "https://files.pythonhosted.org/packages/a4/50/c88fbc9ab8ac65577a67e5a42911606e773eb2490c17c15a1c904e273895/cr8-0.9.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2bdcf2a7839d7260ff1fa5a9bf42c427", "sha256": "2ca45fb0e6077c937f041286d48bb51f4f17419431ba725c32c22b5276a0ac35" }, "downloads": -1, "filename": "cr8-0.17.0-py3-none-any.whl", "has_sig": false, "md5_digest": "2bdcf2a7839d7260ff1fa5a9bf42c427", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 40996, "upload_time": "2019-08-21T08:23:51", "url": "https://files.pythonhosted.org/packages/21/9c/ed8640f38f8c9cca0e1e8c034b06b43ab6f83fd22dc8732297dd1ed5f38c/cr8-0.17.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "77fba7033da62c7be5c407f4c2288327", "sha256": "c7eb3a11b066300feb2dce389d4e0b38d8f39605283e807f42b5edc12e7e641e" }, "downloads": -1, "filename": "cr8-0.17.0.tar.gz", "has_sig": false, "md5_digest": "77fba7033da62c7be5c407f4c2288327", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 54878, "upload_time": "2019-08-21T08:23:53", "url": "https://files.pythonhosted.org/packages/40/ba/3dce8ee749589ded947ff7faf4e41ef104c15623a0605017d89cd8effc74/cr8-0.17.0.tar.gz" } ] }