{ "info": { "author": "Bitergia", "author_email": "sduenas@bitergia.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Programming Language :: Python :: 3", "Topic :: Software Development" ], "description": "# Arthur [![Build Status](https://travis-ci.org/chaoss/grimoirelab-kingarthur.svg?branch=master)](https://travis-ci.org/chaoss/grimoirelab-kingarthur)[![Coverage Status](https://coveralls.io/repos/github/chaoss/grimoirelab-kingarthur/badge.svg?branch=master)](https://coveralls.io/github/chaoss/grimoirelab-kingarthur?branch=master)\n\nKing Arthur commands his loyal knight Perceval on the quest to fetch\ndata from software repositories.\n\nArthur is a distributed job queue platform that schedules and executes\nPerceval. The platform is composed by two components: `arthurd`, the server\nthat schedules the jobs and one or more instances of `arthurw`, the work horses\nthat will run each Perceval job.\n\nThe repositories whose data will be fetched are added to the\nplatform using a REST API. Then, the server transforms these repositories into\nPerceval jobs and schedules them between its job queues.\n\nWorkers are waiting for new jobs checking these queues. Workers only execute\na job at a time. When a new job arrives, an idle worker will take and run\nit. Once a job is finished, if the result is successful, the server will\nre-schedule it to retrieve new data.\n\nBy default, items fetched by each job will be published using a Redis queue.\nAdditionally, they can be written to an Elastic Search index.\n\n\n## Usage\n\n### arthurd\n```\nusage: arthurd [-c ] [-g] [-h ] [-p ] [-d ]\n [--es-index ] [--log-path ] [--archive-path ]\n [--no-archive] [--no-daemon] | --help\n\nKing Arthur commands his loyal knight Perceval on the quest\nto retrieve data from software repositories.\n\nThis command runs an Arthur daemon that waits for HTTP requests\non port 8080. Repositories to analyze are added using an REST API.\nRepositories are transformed into Perceval jobs that will be\nscheduled and run using a distributed job queue platform.\n\noptional arguments:\n -?, --help show this help message and exit\n -c FILE, --config FILE\n set configuration file\n -g, --debug set debug mode on\n -h, --host set the host name or IP address on which to listen for connections\n -p, --port set listening TCP port (default: 8080)\n -d, --database URL database connection (default: 'redis://localhost/8')\n -s, --sync work in synchronous mode (without workers)\n --es-index output ElasticSearch server index\n --log-path path where logs are stored\n --archive-path path to archive manager directory\n --no-archive do not archive fetched raw data\n --no-daemon do not run arthur in daemon mode\n```\n\n#### arthurd configuration file\n\nTo run `arthurd` using a configuration file:\n\n```\n$ arthurd [-c ]\n```\n\nWhere `` is the path to an `ini` file which uses the same parameters as in command line, but replacing underscores by hyphens. This configuration file has the following structure:\n\n```\n[arthur]\narchive_path=/tmp/.arthur/archive\ndebug=True\nlog_path=/tmp/logs/arthurd\nno_archive=True\nsync_mode=True\n\n[connection]\nhost=127.0.0.1\nport=8080\n\n[elasticsearch]\nes_index=http://localhost:9200/items\n\n[redis]\ndatabase=redis://localhost/8\n```\n\n### arthurw\n```\nusage: arthurw [-g] [-d ] [--burst] [...] | --help\n\nKing Arthur's worker. It will run Perceval jobs on the quest\nto retrieve data from software repositories.\n\npositional arguments:\n queues list of queues this worker will listen for\n ('create' and 'update', by default)\n\noptional arguments:\n -?, --help show this help message and exit\n -g, --debug set debug mode on\n -d, --database URL database connection (default: 'redis://localhost/8')\n -b, --burst Run in burst mode (quit after all work is done)\n```\n\n## Requirements\n\n* Python >= 3.4\n* Redis >= 2.3 and < 3.0\n* python3-dateutil >= 2.6\n* python3-redis >= 2.10 and <= 2.10.6\n* python3-rq >= 0.6 and <=0.12.0\n* python3-cherrypy >= 8.1.0 and <=11.0.0\n* grimoirelab-toolkit >= 0.1.10\n* perceval >= 0.12.23\n\n## Installation\n\n```\n$ pip3 install -r requirements.txt\n$ python3 setup.py install\n```\n\n## How to run it\n\nThe first step is to run a Redis server that will be used for communicating\nArthur's components. Moreover, an Elastic Search server can be used to store\nthe items generated by jobs. Please refer to their documentation to know how to\ninstall and run them both.\n\nTo run Arthur server:\n```\n$ arthurd -g -d redis://localhost/8 --es-index http://localhost:9200/items --log-path /tmp/logs/arthud --no-archive\n```\n\nTo run a worker:\n\n```\n$ arthurw -d redis://localhost/8\n```\n\n## Adding tasks\n\nTo add tasks to Arthur, create a JSON object containing the tasks needed\nto fetch data from a set of repositories. Each task will run a Perceval\nbackend, thus, backend parameters will also needed for each task.\n\n```\n$ cat tasks.json\n{\n \"tasks\": [\n {\n \"task_id\": \"arthur.git\",\n \"backend\": \"git\",\n \"backend_args\": {\n \"gitpath\": \"/tmp/git/arthur.git/\",\n \"uri\": \"https://github.com/chaoss/grimoirelab-kingarthur.git\",\n \"from_date\": \"2015-03-01\"\n },\n \"category\": \"commit\",\n \"scheduler\": {\n \"delay\": 10\n }\n },\n {\n \"task_id\": \"bugzilla_mozilla\",\n \"backend\": \"bugzillarest\",\n \"backend_args\": {\n \"url\": \"https://bugzilla.mozilla.org/\",\n \"from_date\": \"2016-09-19\"\n },\n \"category\": \"bug\",\n \"archive\": {\n \"fetch_from_archive\": true,\n \"archived_after\": \"2018-02-26 09:00\"\n },\n \"scheduler\": {\n \"delay\": 60,\n \"max_retries\": 5\n }\n }\n ]\n}\n```\n\nThen, send this JSON stream to the server calling `add` method.\n\n```\n$ curl -H \"Content-Type: application/json\" --data @tasks.json http://127.0.0.1:8080/add\n```\n\nFor this example, items will be stored in the `items` index on the\nElastic Search server (http://localhost:9200/items).\n\n## Listing tasks\n\nThe list of tasks currently scheduled can be obtained using the method `tasks`.\n\n```\n$ curl http://127.0.0.1:8080/tasks\n\n{\n \"tasks\": [\n {\n \"backend_args\": {\n \"from_date\": \"2015-03-01T00:00:00+00:00\",\n \"uri\": \"https://github.com/chaoss/grimoirelab-kingarthur.git\",\n \"gitpath\": \"/tmp/santi/\"\n },\n \"backend\": \"git\",\n \"category\": \"commit\",\n \"created_on\": 1480531707.810326,\n \"task_id\": \"arthur.git\",\n \"scheduler\": {\n \"max_retries\": 3,\n \"delay\": 10\n }\n }\n ]\n}\n```\n\n## Removing tasks\n\nScheduled tasks can also be removed calling to the server using the `remove`\nmethod. A JSON stream must be provided setting the identifiers of the\ntasks to be removed.\n\n```\n$ cat tasks_to_remove.json\n\n{\n \"tasks\": [\n {\n \"task_id\": \"bugzilla_mozilla\"\n },\n {\n \"task_id\": \"arthur.git\"\n }\n ]\n}\n\n$ curl -H \"Content-Type: application/json\" --data @tasks_to_remove.json http://127.0.0.1:8080/remove\n```\n\n## License\n\nLicensed under GNU General Public License (GPL), version 3 or later.\n\n\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/chaoss/grimoirelab-kingarthur", "keywords": "development repositories analytics perceval rq", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "kingarthur", "package_url": "https://pypi.org/project/kingarthur/", "platform": "", "project_url": "https://pypi.org/project/kingarthur/", "project_urls": { "Homepage": "https://github.com/chaoss/grimoirelab-kingarthur" }, "release_url": "https://pypi.org/project/kingarthur/0.1.20/", "requires_dist": [ "python-dateutil (>=2.8.0)", "redis (==3.0.0)", "rq (==1.0.0)", "cheroot (>=8.2.1)", "cherrypy (>=17.4.2)", "perceval (>=0.12.23)", "grimoirelab-toolkit (>=0.1.10)" ], "requires_python": ">=3.4", "summary": "Distributed job queue platform for scheduling Perceval jobs", "version": "0.1.20", "yanked": false, "yanked_reason": null }, "last_serial": 11476425, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "6775317999c018ffcca1f9745df13972", "sha256": "7e2f4be68acd06aac290c56f9fe824f39e2e1a4a266d433c615145a61f1a5799" }, "downloads": -1, "filename": "kingarthur-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "6775317999c018ffcca1f9745df13972", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 34454, "upload_time": "2017-11-14T19:09:08", "upload_time_iso_8601": "2017-11-14T19:09:08.450024Z", "url": "https://files.pythonhosted.org/packages/da/63/a2a44d77a8890e2dbf53cddc5b2f815bb4299c813a31e0958bdba9607caa/kingarthur-0.1.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "8a8ee6d7b395a5836d708e6433eb50e0", "sha256": "6512be8f276426e109ab2ea0da2063b2b68dea2702bd0ae40ceb06cf569c3a46" }, "downloads": -1, "filename": "kingarthur-0.1.1.tar.gz", "has_sig": false, "md5_digest": "8a8ee6d7b395a5836d708e6433eb50e0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 21451, "upload_time": "2017-11-14T19:09:10", "upload_time_iso_8601": "2017-11-14T19:09:10.894781Z", "url": "https://files.pythonhosted.org/packages/a0/23/6b61835d94e54a950eca5b9347222b03757294650b1c27b9e9d9856ff3d1/kingarthur-0.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.11": [ { "comment_text": "", "digests": { "md5": "bca01dd3546da86ea1ff2eac060ac485", "sha256": "328f5af6ac980d6228b14c30146916e5ed87ff412818b76c414688f02931afb4" }, "downloads": -1, "filename": "kingarthur-0.1.11-py3-none-any.whl", "has_sig": false, "md5_digest": "bca01dd3546da86ea1ff2eac060ac485", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 34118, "upload_time": "2018-06-08T16:21:52", "upload_time_iso_8601": "2018-06-08T16:21:52.882364Z", "url": "https://files.pythonhosted.org/packages/65/c5/4badae9c377b6ee053ee2fcc13ec0fd44b63abbdf2f8f1cccde75530b63e/kingarthur-0.1.11-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "1694eedb74f1da3fcb22b88a2fcdc48b", "sha256": "2018a0714678f139ac2324049cf0c91fd8cc5bd9eb9f2504b1c8a88f24fbf5a3" }, "downloads": -1, "filename": "kingarthur-0.1.11.tar.gz", "has_sig": false, "md5_digest": "1694eedb74f1da3fcb22b88a2fcdc48b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 24707, "upload_time": "2018-06-08T16:22:29", "upload_time_iso_8601": "2018-06-08T16:22:29.909779Z", "url": "https://files.pythonhosted.org/packages/3a/49/771eebc80ff2280139245acdf29fef3dd5aff08887fbc4532508ae3607ab/kingarthur-0.1.11.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.12": [ { "comment_text": "", "digests": { "md5": "ec8636dd222a3912f3313729cc85f7dc", "sha256": "4560c2f11fa21f9cf0a339f1c064f75251f6c593598243144a1bc5cbc886f8bb" }, "downloads": -1, "filename": "kingarthur-0.1.12-py3-none-any.whl", "has_sig": false, "md5_digest": "ec8636dd222a3912f3313729cc85f7dc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 34118, "upload_time": "2018-08-24T11:11:31", "upload_time_iso_8601": "2018-08-24T11:11:31.504757Z", "url": "https://files.pythonhosted.org/packages/37/a7/c84c98632334ad03f82f6173d23a3f623745f960e8132f9ae0ed26ff1984/kingarthur-0.1.12-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "ae0145fc84071efbd99920d79a06ef9d", "sha256": "09b9ef6a7106c5fb9f31ea5477fbb5720bd68c0063cd3209bf3401a7037a87dc" }, "downloads": -1, "filename": "kingarthur-0.1.12.tar.gz", "has_sig": false, "md5_digest": "ae0145fc84071efbd99920d79a06ef9d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 24711, "upload_time": "2018-08-24T11:12:08", "upload_time_iso_8601": "2018-08-24T11:12:08.755799Z", "url": "https://files.pythonhosted.org/packages/de/47/8abb2460e35086a63c0ad786f7fb2e09d991834a0385eb661733c34c8483/kingarthur-0.1.12.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.14": [ { "comment_text": "", "digests": { "md5": "c177f0e386f07a330ef6ccc87aa9f4e9", "sha256": "182a5c87c60cd566f00d8a6633d217fc3f1276243910e2f3a653cd8063508360" }, "downloads": -1, "filename": "kingarthur-0.1.14-py3-none-any.whl", "has_sig": false, "md5_digest": "c177f0e386f07a330ef6ccc87aa9f4e9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 46723, "upload_time": "2019-01-15T08:21:21", "upload_time_iso_8601": "2019-01-15T08:21:21.551213Z", "url": "https://files.pythonhosted.org/packages/8f/26/dc4b91cc766eee71c16ea1762a660798f149833b3c74e78f4c2334c48b7d/kingarthur-0.1.14-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "550a71a990b8581351910f9d18f96b03", "sha256": "cdee88dfedb2535cf36aa306637281917eb511b058b82d530f8f660f811c399a" }, "downloads": -1, "filename": "kingarthur-0.1.14.tar.gz", "has_sig": false, "md5_digest": "550a71a990b8581351910f9d18f96b03", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 24774, "upload_time": "2019-01-15T08:20:21", "upload_time_iso_8601": "2019-01-15T08:20:21.853544Z", "url": "https://files.pythonhosted.org/packages/9e/5c/4417be6edbdfcb204fe94ac053dd33ed00d4e717153205ea0e10a2128173/kingarthur-0.1.14.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.15": [ { "comment_text": "", "digests": { "md5": "6a625af123fe9537321e6bfa69bf23f1", "sha256": "209f8a24071757c90c76b8dbe7518a60157b5f96695d348c9cd702b5654504d7" }, "downloads": -1, "filename": "kingarthur-0.1.15-py3-none-any.whl", "has_sig": false, "md5_digest": "6a625af123fe9537321e6bfa69bf23f1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 47043, "upload_time": "2019-03-28T17:25:52", "upload_time_iso_8601": "2019-03-28T17:25:52.937165Z", "url": "https://files.pythonhosted.org/packages/db/92/40fe01fa6a871d684ae58297bebcb099f32666882f1d73dcd1306ff259ac/kingarthur-0.1.15-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "35c393018ccc0ddc747abc84f7ce1461", "sha256": "f7d682fdcc396253a5cf67d8fb4ad0455a6a4576406680c6a79e749884a42027" }, "downloads": -1, "filename": "kingarthur-0.1.15.tar.gz", "has_sig": false, "md5_digest": "35c393018ccc0ddc747abc84f7ce1461", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 24584, "upload_time": "2019-03-28T17:26:22", "upload_time_iso_8601": "2019-03-28T17:26:22.871166Z", "url": "https://files.pythonhosted.org/packages/3c/85/777c69d3f2cde71cbea5c22f78f734f4ad1e9d2d8b8de24d9958342bf37e/kingarthur-0.1.15.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.17": [ { "comment_text": "", "digests": { "md5": "6fb8dc51e1323a413529415667f3df47", "sha256": "cb994c8065da44302ec9c6f28e82419f450f0fcbdc4549a333635070001de89b" }, "downloads": -1, "filename": "kingarthur-0.1.17-py3-none-any.whl", "has_sig": false, "md5_digest": "6fb8dc51e1323a413529415667f3df47", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 50969, "upload_time": "2019-10-01T21:29:09", "upload_time_iso_8601": "2019-10-01T21:29:09.743766Z", "url": "https://files.pythonhosted.org/packages/f0/f8/d5e317a3c2a0b5a77387150b9f87d392f5172b8b64b3e4498dfab9cc4dcc/kingarthur-0.1.17-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "759e1b0457f6da08b950140c97982be3", "sha256": "48adc61706e7e9b9add63c986183a99baa745d5d4ae2eeed6bb35b6fdbde290d" }, "downloads": -1, "filename": "kingarthur-0.1.17.tar.gz", "has_sig": false, "md5_digest": "759e1b0457f6da08b950140c97982be3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 84855, "upload_time": "2019-10-01T21:28:45", "upload_time_iso_8601": "2019-10-01T21:28:45.376488Z", "url": "https://files.pythonhosted.org/packages/c1/d3/8f241855b2a9755aba3dd03898013adeb9e03966d0b0385d129726483354/kingarthur-0.1.17.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.18": [ { "comment_text": "", "digests": { "md5": "1f2a62512dc7a003f95b40ed727ae12d", "sha256": "24123087cb5430e9b8dde8158524867a73ab5a2678d5cd848c5101855e2ecc8d" }, "downloads": -1, "filename": "kingarthur-0.1.18-py3-none-any.whl", "has_sig": false, "md5_digest": "1f2a62512dc7a003f95b40ed727ae12d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 48300, "upload_time": "2019-10-29T11:18:10", "upload_time_iso_8601": "2019-10-29T11:18:10.003944Z", "url": "https://files.pythonhosted.org/packages/cc/69/bc53dd18b9e90de7219c494020e141ef89a2b1bfb38aa4949257e4764974/kingarthur-0.1.18-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "3cfb301a086189e88320f93abfa41539", "sha256": "0a54d5b259426e78e49e85b3659856fbbcc93f12641b8a6600a4b6b5b248db51" }, "downloads": -1, "filename": "kingarthur-0.1.18.tar.gz", "has_sig": false, "md5_digest": "3cfb301a086189e88320f93abfa41539", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 85851, "upload_time": "2019-10-29T11:17:53", "upload_time_iso_8601": "2019-10-29T11:17:53.707111Z", "url": "https://files.pythonhosted.org/packages/61/a4/d897eda477927fb4a813c5372d0b4877c2b53c98833df68ca00204f742f3/kingarthur-0.1.18.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.20": [ { "comment_text": "", "digests": { "md5": "08ec1005feae9d667ad13e08d9ef119a", "sha256": "aa4379b94ae4f8678274cdff222428d8a1bdde2a3fc355835046142192b12166" }, "downloads": -1, "filename": "kingarthur-0.1.20-py3-none-any.whl", "has_sig": false, "md5_digest": "08ec1005feae9d667ad13e08d9ef119a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 49601, "upload_time": "2020-12-09T13:23:27", "upload_time_iso_8601": "2020-12-09T13:23:27.703550Z", "url": "https://files.pythonhosted.org/packages/db/9a/8b69901dec9825bf2602d99e4499568fa930232fe67e2f2b509c05f3bd51/kingarthur-0.1.20-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "001938a96bd20b695d5cfeffea7b3ed3", "sha256": "76a55b0e692b994c7a61432de5982d189404269de686d4399d5e8f70024ecbb7" }, "downloads": -1, "filename": "kingarthur-0.1.20.tar.gz", "has_sig": false, "md5_digest": "001938a96bd20b695d5cfeffea7b3ed3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 88872, "upload_time": "2020-12-09T13:23:29", "upload_time_iso_8601": "2020-12-09T13:23:29.880616Z", "url": "https://files.pythonhosted.org/packages/75/81/18c6c602d6f11e624f65940a1ef9fa2743dcf866a3a510643cd78281df16/kingarthur-0.1.20.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "97e3115830316f8cc843bfef90b437f8", "sha256": "4da016c14dafeb157405f6aa837dd271a11ff43f620bf4f43280881a6b6246d6" }, "downloads": -1, "filename": "kingarthur-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "97e3115830316f8cc843bfef90b437f8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 34876, "upload_time": "2018-01-23T15:52:26", "upload_time_iso_8601": "2018-01-23T15:52:26.533580Z", "url": "https://files.pythonhosted.org/packages/11/53/c8beee281de784574e971fb972ff4201e18d3a02cdd4cdc4b4ab7b47add0/kingarthur-0.1.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "691d175cdf9f5f4f731d7559cfaf71c1", "sha256": "541cd5f90c1b5a86dd47d5285931b351f1a10f709e76d203fcb943dba3379a9e" }, "downloads": -1, "filename": "kingarthur-0.1.3.tar.gz", "has_sig": false, "md5_digest": "691d175cdf9f5f4f731d7559cfaf71c1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 21926, "upload_time": "2018-01-23T15:52:45", "upload_time_iso_8601": "2018-01-23T15:52:45.484032Z", "url": "https://files.pythonhosted.org/packages/e4/2c/c5fcbc51b27ca23b1c08ccf7d584a720a02d5ee6a6806e726d66efeece89/kingarthur-0.1.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "54c9a3c6edf115abe312f3fa808d3456", "sha256": "0eba1f0197876cde6c034c4c0f17149263e6f7a32d959baffbe9765353bc3eed" }, "downloads": -1, "filename": "kingarthur-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "54c9a3c6edf115abe312f3fa808d3456", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 36123, "upload_time": "2018-03-13T22:10:43", "upload_time_iso_8601": "2018-03-13T22:10:43.991234Z", "url": "https://files.pythonhosted.org/packages/7f/6a/fdc097e2ac7c460bf5d2e2fe770a7426b2f31d7c2f06a188d270e0776aad/kingarthur-0.1.4-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "bf972a20c4caa56d1819c870694220b3", "sha256": "434f0daa5be223c0b93ce024a71f679f30aec4fce39e1782e604a8b12b647102" }, "downloads": -1, "filename": "kingarthur-0.1.4.tar.gz", "has_sig": false, "md5_digest": "bf972a20c4caa56d1819c870694220b3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 23179, "upload_time": "2018-03-13T22:11:02", "upload_time_iso_8601": "2018-03-13T22:11:02.348333Z", "url": "https://files.pythonhosted.org/packages/4f/57/c18ebd252d22e758111d4b45da4648a388f92c1e9ff28ec4128c01fc6399/kingarthur-0.1.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "56b982a88e5f651d7e32c09905d5a7d1", "sha256": "c465d648cf95fbafebe8f0cc108096bfa0b915282c10813af8d24c3b2fe60605" }, "downloads": -1, "filename": "kingarthur-0.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "56b982a88e5f651d7e32c09905d5a7d1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 32494, "upload_time": "2018-04-08T12:11:28", "upload_time_iso_8601": "2018-04-08T12:11:28.740804Z", "url": "https://files.pythonhosted.org/packages/f2/65/f950167ada9357cdceb25b73fded21441ceaf52f3bcda813030a689e50d2/kingarthur-0.1.6-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "e84dd4ea7177cbe46898da63ee476fd2", "sha256": "9348253a1b0a4863a24fdfe6551b35819aee78271884b752d855c8a0457730c7" }, "downloads": -1, "filename": "kingarthur-0.1.6.tar.gz", "has_sig": false, "md5_digest": "e84dd4ea7177cbe46898da63ee476fd2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 23336, "upload_time": "2018-04-08T12:11:43", "upload_time_iso_8601": "2018-04-08T12:11:43.092548Z", "url": "https://files.pythonhosted.org/packages/d2/ed/c403ad0a7aa83cfdb8f9843fcf62374e84e15dcc2b6be05dc4e9aafa8fb2/kingarthur-0.1.6.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "c61a9bf40b04902b09e9b5dd1a3b4eb3", "sha256": "20032f149e74055da7fc490c85f2a279036596a88330da532f506d11bfd08de9" }, "downloads": -1, "filename": "kingarthur-0.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "c61a9bf40b04902b09e9b5dd1a3b4eb3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 32531, "upload_time": "2018-04-15T22:55:14", "upload_time_iso_8601": "2018-04-15T22:55:14.026067Z", "url": "https://files.pythonhosted.org/packages/c2/04/8a175be722b20af16b1f78c8f9d6e105b760857fe1e0516b2bc6f3dcf26d/kingarthur-0.1.7-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "6a2a5e65811c2f8f5b1a4318479eaf51", "sha256": "4c7cde6c235266d9fb3af853cd0b3e77acc39081f2b254df545bfb8b9fe73641" }, "downloads": -1, "filename": "kingarthur-0.1.7.tar.gz", "has_sig": false, "md5_digest": "6a2a5e65811c2f8f5b1a4318479eaf51", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 23353, "upload_time": "2018-04-15T22:55:25", "upload_time_iso_8601": "2018-04-15T22:55:25.321802Z", "url": "https://files.pythonhosted.org/packages/80/ec/3c289744a6dec3880b8499e48461305b599b30ea1cabcd7b989b7ffa408a/kingarthur-0.1.7.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "cc14cb07cfe7a6f6f6cb35b0ff6cb83a", "sha256": "6138e34737e60cf3c8668a5adb1dcaf457078689ee8986b4eba6e9a1da6d9d3a" }, "downloads": -1, "filename": "kingarthur-0.1.8-py3-none-any.whl", "has_sig": false, "md5_digest": "cc14cb07cfe7a6f6f6cb35b0ff6cb83a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 32531, "upload_time": "2018-05-17T22:32:47", "upload_time_iso_8601": "2018-05-17T22:32:47.907752Z", "url": "https://files.pythonhosted.org/packages/41/d5/dfb28f66a2f0029770f3dfbbe0fdeb746d2c7ce84b8e3be91b51877aa2c4/kingarthur-0.1.8-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "50696f99868451cc274cc8676b9c6d53", "sha256": "0ad1638bff319aa7bfe8fb668e87d04dd18d801dd722a76d574f4168a0952927" }, "downloads": -1, "filename": "kingarthur-0.1.8.tar.gz", "has_sig": false, "md5_digest": "50696f99868451cc274cc8676b9c6d53", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 23351, "upload_time": "2018-05-17T22:33:00", "upload_time_iso_8601": "2018-05-17T22:33:00.520644Z", "url": "https://files.pythonhosted.org/packages/9f/00/51f20c20b9df864ecb4821ded5e6f4400b8f3df94203fceb97930d05fb75/kingarthur-0.1.8.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "08ec1005feae9d667ad13e08d9ef119a", "sha256": "aa4379b94ae4f8678274cdff222428d8a1bdde2a3fc355835046142192b12166" }, "downloads": -1, "filename": "kingarthur-0.1.20-py3-none-any.whl", "has_sig": false, "md5_digest": "08ec1005feae9d667ad13e08d9ef119a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 49601, "upload_time": "2020-12-09T13:23:27", "upload_time_iso_8601": "2020-12-09T13:23:27.703550Z", "url": "https://files.pythonhosted.org/packages/db/9a/8b69901dec9825bf2602d99e4499568fa930232fe67e2f2b509c05f3bd51/kingarthur-0.1.20-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "001938a96bd20b695d5cfeffea7b3ed3", "sha256": "76a55b0e692b994c7a61432de5982d189404269de686d4399d5e8f70024ecbb7" }, "downloads": -1, "filename": "kingarthur-0.1.20.tar.gz", "has_sig": false, "md5_digest": "001938a96bd20b695d5cfeffea7b3ed3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 88872, "upload_time": "2020-12-09T13:23:29", "upload_time_iso_8601": "2020-12-09T13:23:29.880616Z", "url": "https://files.pythonhosted.org/packages/75/81/18c6c602d6f11e624f65940a1ef9fa2743dcf866a3a510643cd78281df16/kingarthur-0.1.20.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }