{ "info": { "author": "Stone Zhong", "author_email": "stonezhong@hotmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3" ], "description": "# Purpose\n\nIf you have python based application, need to deploy to a fleet of machines and need to constantly update these application, mordor is the right tool for you. You can\n\n* Deploy your python application to the host fleet\n* Start and stop your python application on the fleet\n* Update your python application on the fleet.\n\n# config\nYou need to have a local config file placed in `~/.mordor/config.json`. Here is an example:\n```\n{\n \"hosts\": {\n \"localhost\": {\n \"ssh_host\" : \"localhost\",\n \"env_home\" : \"/Users/shizhong/mordor\",\n \"virtualenv\": \"/usr/local/bin/virtualenv\",\n \"python3\" : \"/usr/local/bin/python3\"\n },\n \"mylinux\": {\n \"ssh_host\" : \"mylinux\",\n \"env_home\" : \"/home/SHIZHONG/mordor\",\n \"virtualenv\": \"/usr/bin/virtualenv\",\n \"python3\" : \"/usr/bin/python3\"\n },\n \"test3\": {\n \"ssh_host\": \"test3.deepspace.local\",\n \"env_home\": \"/root/mordor\",\n \"virtualenv\": \"/usr/bin/virtualenv\",\n \"ssh_key_filename\": \"~/.runtime/cloudconfig/home\",\n \"ssh_username\": \"root\",\n \"python3\": \"/usr/bin/python36\"\n }\n },\n \"applications\": {\n \"sample\": {\n \"home_dir\" : \"/Users/shizhong/projects/sample\",\n \"deploy_to\" : [ \"mylinux\", \"localhost\" ],\n \"use_python3\" : true,\n \"config\" : {\n \"config\" : \"convert\",\n \"oci_api_key.pem\": \"copy\"\n }\n }\n }\n}\n```\n\n## Host Config\n\n* In \"hosts\", key is host name, value is host config\n\n### ssh_host\nYou should be able to ssh to the target host using their ssh_host attribute as host name without entering password.\nYou may need to use `ssh-add` command and config your `~/.ssh/config`\n\n### ssh_key_filename\nIf you need to use a private key to connect to ssh server, you can specify the key filename here\n\n### ssh_username\nYou must provide this if you specify ssh_key_filename. It represent the ssh username\n\n### env_home\nThis specify the home directory for mordor.\n\n### virtualenv\nThis specify the full path for virtualenv command\n\n### python3\nThis specify the full path for python3. You do not need to have this attribute if you do not plan to use python3.\n\n## Application configs\n\n* In applications. key is application deployment name, value is application config. \n```\nApplication deployment name is not application name. It represent a deployment instead of an application. For example, you can have 2 entries under applications, one called \"sample_beta\" and ther other called \"sample_prod\", both represent the same application but they deploy to different set or machines for different stages, and they are likely to have different configs. In such case, you can use \"name\" to specify the application name. E.g.:\n\n \"sample_beta\": {\n \"name\" : \"sample\",\n \"stage\" : \"beta\",\n \"home_dir\" : \"/Users/shizhong/projects/sample\",\n \"deploy_to\" : [ \"localhost\" ],\n \"use_python3\" : true,\n \"config\" : {\n \"config\" : \"convert\",\n \"oci_api_key.pem\": \"copy\"\n }\n },\n \"sample_prod\": {\n \"name\" : \"sample\",\n \"stage\" : \"prod\",\n \"home_dir\" : \"/Users/shizhong/projects/sample\",\n \"deploy_to\" : [ \"mylinux\"],\n \"use_python3\" : true,\n \"config\" : {\n \"config\" : \"convert\",\n \"oci_api_key.pem\": \"copy\"\n }\n },\n\n```\n\n### home_dir\nThis specify where is the application's home directory.\n\n### deploy_to\nThis is an array, tells list of host the application will deploy to.\n\n### use_python3\nIf true, then this application uses python3. Default is false\n\n### cmd\noptional. Specify a command when you run an application. If can be a bash shell script or a python script. A bash shell script's filename must end with `.sh`, a python script's filename must end with `.py` \n\n# Host \nBefore a host become usable for mordor, you need to\n* Add host config to your `~/.mordor/config.json`\n* Run `mordor -a init-host --host-name ` to initialize your host\n\n## Before initialization\nOn host of your fleet, \n* You need to make sure python 2.x is installed. For most of the Linux dist and mac, this is true.\n* If you need to deploy application that uses python3 on this host, you need to install python3\n * And set python3 in host config \n* You need to install virtualenv and pip.\n* You need to add entry in hosts sections for every machine you managed.\n\n## Initialization\nRun `mordor.py -a init-host --host-name ` to initialize your host. The host only need to be initialized once normally.\nHere is a layout of your host directory structure:\n```\n\n |\n +-- apps Home directory for all applications\n | |\n | Home directory for an application\n | |\n | +-- Directory for version 1 of application\n | |\n | +-- Directory for version 2 of application\n | |\n | +-- current A symlink to the current version\n |\n +-- bin Some tools used by mordor\n |\n +-- configs Home directory for configs for all applications\n | |\n | +-- Config for an application\n |\n +-- logs Home directory for logs for all applications\n | |\n | +-- Logs for an application\n |\n +-- pids Directory for pid for each application\n | |\n | +-- .pid pid for the latest run of an application\n |\n +-- venvs Home for virtual envs for all application\n | |\n | +-- _ Virtual env for a given application with given version\n |\n +-- data\n | |\n | +-- \n |\n +-- temp Temporary directory\n```\n\n# Stage Your Application\nYou can run command `mordor.py -a stage --app-name ` to stage application to all the host the app is suppose to deploy\n* In `config.json`, the `deploy_to` tells the list of host it will deploy to\n* In application's home directory, there is a file `manifest.json`, it looks like below\n```\n{\n \"version\": \"0.0.1\"\n}\n```\nThe version tells the version of the app, \n* On each deployable host, app's code will be copied over to `apps//` directory\n * A sym link will be crate, so you can use `app//current/` as the current version\n* On each deployable host, virtualenv will be created, all required package will be installed.\n * it looks for `requirements.txt` in your application directory for packages to install\n * The file above is optional.\n * It also look for `requirements_pre.txt`, if exist, it will be installed prior to `requirements.txt`\n * on host, virtual env is a `venvs/-`\n * a symlink will be created in `venvs/`\n* All the config file will also be copied over\n * config file should be stored at `~/.mordor/configs/`\n * the `config` section of application in `config.json` will tell what file need to be copied over\n * `copy` means simply copy over, `convert` means you can use variable like `env_home` and `app_name` in your config file.\n\n## convert\n\nYour file must be a python format string, with the following variable available\n\n| Variable name | Description |\n|---------------|----------------------------------------------------|\n| env_home | environment home directory on the host |\n| app_name | application name |\n| config_dir | configuration directory for the app on the host |\n\n\n# run\nYou can run `mordor.py -a run --app-name ` to run the application, all host deployed will run your application. It will invoke the command you specify in the application's cmd config, or using \"run.sh\" if missing.\n\n# Application Requirement\n* You need to put a file `requirements.txt` to tell your applications dependency\n* You need to provide a `run.sh` command, this command will be called to launch your program\n\nTo see an example, see [sample](./sample)\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/stonezhong/mordor", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "mordor2", "package_url": "https://pypi.org/project/mordor2/", "platform": "", "project_url": "https://pypi.org/project/mordor2/", "project_urls": { "Homepage": "https://github.com/stonezhong/mordor" }, "release_url": "https://pypi.org/project/mordor2/0.0.25/", "requires_dist": null, "requires_python": "", "summary": "Python Deployment Tool", "version": "0.0.25" }, "last_serial": 5979002, "releases": { "0.0.10": [ { "comment_text": "", "digests": { "md5": "612ced34928e4e3e7e4b139adb59cd0b", "sha256": "bd69d775d28e261b2308d0ac4b35291f91ffefd741bb59e546539e81a96894ad" }, "downloads": -1, "filename": "mordor2-0.0.10-py3-none-any.whl", "has_sig": false, "md5_digest": "612ced34928e4e3e7e4b139adb59cd0b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9253, "upload_time": "2019-03-23T07:55:45", "url": "https://files.pythonhosted.org/packages/28/f2/5cc8b996f78a11b63099a8526555918d90a53773b1afd3bcca4209ccc28c/mordor2-0.0.10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "92448536717000871319f6ce99cb9172", "sha256": "65defcfb73a9bffd40e5bc59e3f4e572c14b46e33e20ddcd369090fdf29ccb85" }, "downloads": -1, "filename": "mordor2-0.0.10.tar.gz", "has_sig": false, "md5_digest": "92448536717000871319f6ce99cb9172", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7622, "upload_time": "2019-03-23T07:55:46", "url": "https://files.pythonhosted.org/packages/d7/7c/952a1007a794471b89759f49266ccb95f048a091d4dcf0d25bac1ed4073b/mordor2-0.0.10.tar.gz" } ], "0.0.11": [ { "comment_text": "", "digests": { "md5": "e893cabaff8df80de3c8ca8bd6e9fb71", "sha256": "176af27c7d8317d4bb38b3f77ec15a33a1ea0e4f7defc61e9ef75b853d551eae" }, "downloads": -1, "filename": "mordor2-0.0.11-py3-none-any.whl", "has_sig": false, "md5_digest": "e893cabaff8df80de3c8ca8bd6e9fb71", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9254, "upload_time": "2019-03-23T08:05:14", "url": "https://files.pythonhosted.org/packages/f9/07/d4d6688ed889780e1ddfba954b986ab971044ff98122f93d566823bc4587/mordor2-0.0.11-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "709747bf9e5923cb86c55dee55c6d8f2", "sha256": "1b1bf2b0c530f59f84ea4e1c6cdc53f51286eb89c6dc62462a114ffec1d00f58" }, "downloads": -1, "filename": "mordor2-0.0.11.tar.gz", "has_sig": false, "md5_digest": "709747bf9e5923cb86c55dee55c6d8f2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7622, "upload_time": "2019-03-23T08:05:15", "url": "https://files.pythonhosted.org/packages/bd/14/7a2677cb6600254163a848593b4af65ab5d92055514473df3c817cc448b0/mordor2-0.0.11.tar.gz" } ], "0.0.12": [ { "comment_text": "", "digests": { "md5": "6932494631459cf7a1e68eeb26da5986", "sha256": "be2f05702892166ee3b9550c93375e3738194200c7084050ed2d7d569b7c22da" }, "downloads": -1, "filename": "mordor2-0.0.12-py3-none-any.whl", "has_sig": false, "md5_digest": "6932494631459cf7a1e68eeb26da5986", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9545, "upload_time": "2019-03-23T16:04:05", "url": "https://files.pythonhosted.org/packages/d6/3b/f828266670ffe398a62811ba59be209d7664edd3e4144b95a00f2ba5eac0/mordor2-0.0.12-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "424ed449350de4e5cb9f6e4c1d968774", "sha256": "1e0374100eea24da03ec4d91a5c5f940ba1d6ae6059174aa26b89abaeda78371" }, "downloads": -1, "filename": "mordor2-0.0.12.tar.gz", "has_sig": false, "md5_digest": "424ed449350de4e5cb9f6e4c1d968774", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8901, "upload_time": "2019-03-23T16:04:06", "url": "https://files.pythonhosted.org/packages/f2/f1/b615259146680cda732bf4ce4943c7581b2fa36fa55f9b5ec92b4aae3bda/mordor2-0.0.12.tar.gz" } ], "0.0.13": [ { "comment_text": "", "digests": { "md5": "c7cda0ab0c47d946a4d8a9bcc927ac81", "sha256": "261b5691d19f01ef60d67aac5c2ae8939975b5de927102803041d94057f9e270" }, "downloads": -1, "filename": "mordor2-0.0.13-py3-none-any.whl", "has_sig": false, "md5_digest": "c7cda0ab0c47d946a4d8a9bcc927ac81", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9549, "upload_time": "2019-03-23T23:59:10", "url": "https://files.pythonhosted.org/packages/3c/b7/71c6aa6bb053b59bc7d61ab081f9be5b1a3af50b022c3cd9f85ac992b824/mordor2-0.0.13-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "66f8cca6c19ed35fba6d70c7fd393b9c", "sha256": "0585bfbf3000e399f675c5a5fa85b6f0651cfa96ff72da2c9918d1496bb1cdee" }, "downloads": -1, "filename": "mordor2-0.0.13.tar.gz", "has_sig": false, "md5_digest": "66f8cca6c19ed35fba6d70c7fd393b9c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8905, "upload_time": "2019-03-23T23:59:11", "url": "https://files.pythonhosted.org/packages/70/d0/b5410967d120a9bf56a816ed3a5c29c2daac177393a2e32f24eeb48a48f4/mordor2-0.0.13.tar.gz" } ], "0.0.14": [ { "comment_text": "", "digests": { "md5": "cde7ed173e2cab994fe61e0ac157e630", "sha256": "2cd7cd87a4cec2648869ea370e62c6a44abbe524a6824309acd39a88a4bf716e" }, "downloads": -1, "filename": "mordor2-0.0.14-py3-none-any.whl", "has_sig": false, "md5_digest": "cde7ed173e2cab994fe61e0ac157e630", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9567, "upload_time": "2019-03-24T00:05:34", "url": "https://files.pythonhosted.org/packages/4d/d7/8ac262e144e36ab9ced77a27e7a4518c15ebc8afd3cedf5cbab299cd3f92/mordor2-0.0.14-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dcb1f3fe7a5f6ee371bfc7bf94f1ede4", "sha256": "61637bd07870bada25c19b0886ff05cb6fe46fb488f70823f70f92a5a5c83615" }, "downloads": -1, "filename": "mordor2-0.0.14.tar.gz", "has_sig": false, "md5_digest": "dcb1f3fe7a5f6ee371bfc7bf94f1ede4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8923, "upload_time": "2019-03-24T00:05:35", "url": "https://files.pythonhosted.org/packages/29/73/765f5af26690e41b916aad860afc18863f289dc7a9c6b1d37f70c29958e9/mordor2-0.0.14.tar.gz" } ], "0.0.15": [ { "comment_text": "", "digests": { "md5": "a6710ad7e45e0c0c503fb4b43ddd8d05", "sha256": "51cc0fa63960f34d2ebf420636340eea60b2defdaf0fb79fef6fed974edec1f4" }, "downloads": -1, "filename": "mordor2-0.0.15-py3-none-any.whl", "has_sig": false, "md5_digest": "a6710ad7e45e0c0c503fb4b43ddd8d05", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9574, "upload_time": "2019-03-24T00:11:44", "url": "https://files.pythonhosted.org/packages/c7/c8/09e572941a0ba14e97833b5f73854c3fde1c71d3e1f8d1cce567a6d26c1e/mordor2-0.0.15-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4f7a07e0a3dc0e0cd3f61675ab0b2e56", "sha256": "ad34b25f1627596934fabdeebf6f0314116369bea1c9f6a031eb7b8c5f79c5e7" }, "downloads": -1, "filename": "mordor2-0.0.15.tar.gz", "has_sig": false, "md5_digest": "4f7a07e0a3dc0e0cd3f61675ab0b2e56", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8915, "upload_time": "2019-03-24T00:11:46", "url": "https://files.pythonhosted.org/packages/cf/50/e1edb98616d16d361d60775d046b2342cd06e9d465891c3e3dc3d4b62254/mordor2-0.0.15.tar.gz" } ], "0.0.16": [ { "comment_text": "", "digests": { "md5": "ebc13eb7d799baf0c277e44813497eb8", "sha256": "57aad72d80d1e7d444a8c6c91086add44b8fddad01cc9cf0a34ed76fcdcd9c00" }, "downloads": -1, "filename": "mordor2-0.0.16-py3-none-any.whl", "has_sig": false, "md5_digest": "ebc13eb7d799baf0c277e44813497eb8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9735, "upload_time": "2019-03-24T06:32:19", "url": "https://files.pythonhosted.org/packages/b0/31/0ad48e73aab654eb4fe9e805f46ff8cdbe8d9b61c0f73644768c088ca187/mordor2-0.0.16-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d3e3e8242e7625fe95a03a4f64205ba8", "sha256": "c55401a8743d596424db5b349df31f6c6126fedcf8edc061b12dd351e60939f9" }, "downloads": -1, "filename": "mordor2-0.0.16.tar.gz", "has_sig": false, "md5_digest": "d3e3e8242e7625fe95a03a4f64205ba8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9589, "upload_time": "2019-03-24T06:32:20", "url": "https://files.pythonhosted.org/packages/cd/6b/40a7f88d196bcc660af811ecbaeabf140940b5bfbd54079e8c6b478a88e1/mordor2-0.0.16.tar.gz" } ], "0.0.17": [ { "comment_text": "", "digests": { "md5": "80a79a75f6af6e8927fa07a09e913189", "sha256": "da9e6eb9015f2a61a415e39bceab696bdbf7ee2da58ab24a67161583e846a91b" }, "downloads": -1, "filename": "mordor2-0.0.17-py3-none-any.whl", "has_sig": false, "md5_digest": "80a79a75f6af6e8927fa07a09e913189", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9800, "upload_time": "2019-03-25T04:27:36", "url": "https://files.pythonhosted.org/packages/95/9b/c12fe1bcd2a7d4243d42376702fd63542e4290e7552bae7e460cf4917f16/mordor2-0.0.17-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "aa1bf2d918c7a542b9d552f4feb1d3b0", "sha256": "31ae80010e39f4ca02f03e93283bd9099ae5140cffcdc14fae785234586a3db2" }, "downloads": -1, "filename": "mordor2-0.0.17.tar.gz", "has_sig": false, "md5_digest": "aa1bf2d918c7a542b9d552f4feb1d3b0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9644, "upload_time": "2019-03-25T04:27:38", "url": "https://files.pythonhosted.org/packages/e3/24/23a3a358f2aa3dfc81d8f95596f667073e0a024384714e0c701d7fce8422/mordor2-0.0.17.tar.gz" } ], "0.0.18": [ { "comment_text": "", "digests": { "md5": "62f3bc46354eb376a1b1e070cae7515d", "sha256": "2ef9a622fb5f7d5fa747d83eed40ed30c3c4c3ae296cfd5c54e19eb2fe883222" }, "downloads": -1, "filename": "mordor2-0.0.18-py3-none-any.whl", "has_sig": false, "md5_digest": "62f3bc46354eb376a1b1e070cae7515d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9807, "upload_time": "2019-03-25T05:13:12", "url": "https://files.pythonhosted.org/packages/58/86/74c2dab00cd7ab65201e27fe23d93fd5aa965403f466ae99659145086825/mordor2-0.0.18-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "27e8e8b3f163fe69482b892e7ab3e4f5", "sha256": "fe397a211e0f6b37201d90865eedcd440f98eb7d572b472497f5aae7b33f0e77" }, "downloads": -1, "filename": "mordor2-0.0.18.tar.gz", "has_sig": false, "md5_digest": "27e8e8b3f163fe69482b892e7ab3e4f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9640, "upload_time": "2019-03-25T05:13:13", "url": "https://files.pythonhosted.org/packages/5c/8e/cfc9ee1d3a3bd81a5907a366d90f4237bae12f2f46d55caf565486a3d4fa/mordor2-0.0.18.tar.gz" } ], "0.0.19": [ { "comment_text": "", "digests": { "md5": "5a48a640f02d731b06fa7ff2a2c2f16c", "sha256": "12b062c2be4685f79a257d059fe2bf3095178247299feac95249e59230b3549c" }, "downloads": -1, "filename": "mordor2-0.0.19-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5a48a640f02d731b06fa7ff2a2c2f16c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9895, "upload_time": "2019-04-12T07:45:51", "url": "https://files.pythonhosted.org/packages/b5/b6/f71436ca4d4667aa9e15b4a6d1674a03c5246619b97b84604a2a2ce63d1f/mordor2-0.0.19-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "344e309c78ab8c1fcfe65086093cf882", "sha256": "38fe9b40455163a9906e585f6d7cc8698f7f850cf427d098297d66e268c58b18" }, "downloads": -1, "filename": "mordor2-0.0.19.tar.gz", "has_sig": false, "md5_digest": "344e309c78ab8c1fcfe65086093cf882", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7837, "upload_time": "2019-04-12T07:45:52", "url": "https://files.pythonhosted.org/packages/d0/10/21c1f4d5fe55c1d591f52285c8e2c827f25a3f83407c7a1588a96cada153/mordor2-0.0.19.tar.gz" } ], "0.0.20": [ { "comment_text": "", "digests": { "md5": "f509e3adc3fd635dc7edcba40b254522", "sha256": "d905c023f910df47733868097b73d6c454a5d2420bff43baa0507878b66e9891" }, "downloads": -1, "filename": "mordor2-0.0.20-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f509e3adc3fd635dc7edcba40b254522", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9900, "upload_time": "2019-05-29T21:37:33", "url": "https://files.pythonhosted.org/packages/7e/0b/ad92f2a3813bec00cbf711f57e7a6f7a2cb1edda97c207604d354f2d0d32/mordor2-0.0.20-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f47c59cffeeca839fce79becddb38e01", "sha256": "c378816589cbf0a4694e518a7a48f82d7f77a2c0d3dc516d92bf68620788bde8" }, "downloads": -1, "filename": "mordor2-0.0.20.tar.gz", "has_sig": false, "md5_digest": "f47c59cffeeca839fce79becddb38e01", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9024, "upload_time": "2019-05-29T21:37:35", "url": "https://files.pythonhosted.org/packages/cd/61/47a2e299912ac5ed0de655eb128a5efbe0cbbb9828eb4314b2d2e0a5cd00/mordor2-0.0.20.tar.gz" } ], "0.0.21": [ { "comment_text": "", "digests": { "md5": "8df2d1e6ebcc76538bd6901b729b089c", "sha256": "df73dc07f848580b7aea3cca7fbc19664a3d21c889bf794483415efd7a88479d" }, "downloads": -1, "filename": "mordor2-0.0.21-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8df2d1e6ebcc76538bd6901b729b089c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9858, "upload_time": "2019-06-16T15:53:00", "url": "https://files.pythonhosted.org/packages/64/89/00fac6907d69869f38f82df0652b0d63e107e9d713e692370332e61ff6c5/mordor2-0.0.21-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bde61dc483222d7cce13760b8bbf48d3", "sha256": "c8af6540c4165231cf24675253272d76b3afe49c079e13cc1e78469833a4142b" }, "downloads": -1, "filename": "mordor2-0.0.21.tar.gz", "has_sig": false, "md5_digest": "bde61dc483222d7cce13760b8bbf48d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7826, "upload_time": "2019-06-16T15:53:01", "url": "https://files.pythonhosted.org/packages/4a/c8/093e1542dd9d2252e61b9118676c44ade915d8d1bacbdddaee3e9f122a38/mordor2-0.0.21.tar.gz" } ], "0.0.22": [ { "comment_text": "", "digests": { "md5": "d9a0820a10b101037f176b032f02b868", "sha256": "bd510fa75ba8eed2967b1a521e8e292e1e42700172d0ee1dfb8a198f04af9414" }, "downloads": -1, "filename": "mordor2-0.0.22-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d9a0820a10b101037f176b032f02b868", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9903, "upload_time": "2019-08-17T09:56:52", "url": "https://files.pythonhosted.org/packages/0c/d7/754aaee2e8fec30e23e493a7094ea38778e272edbb48c8539231ec962a51/mordor2-0.0.22-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5bd294c7bfd02d49b61781f272e79b9c", "sha256": "efe9e414774fdd59d74d768efb230317e899ce013b667bd8a2eede2c5fbdb44a" }, "downloads": -1, "filename": "mordor2-0.0.22.tar.gz", "has_sig": false, "md5_digest": "5bd294c7bfd02d49b61781f272e79b9c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7894, "upload_time": "2019-08-17T09:56:54", "url": "https://files.pythonhosted.org/packages/a5/e4/57df0d60f98a721a3132dca817aa03f2d99d4565cc7ef1a4bf64605859d8/mordor2-0.0.22.tar.gz" } ], "0.0.23": [ { "comment_text": "", "digests": { "md5": "e96d8e72ccef82356563553c0f89ccb0", "sha256": "12e6ae0c61e18bcf08d7585cf4af913cdd7e7c30d61b45eb50b81430ab7bd99c" }, "downloads": -1, "filename": "mordor2-0.0.23-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e96d8e72ccef82356563553c0f89ccb0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9906, "upload_time": "2019-08-17T10:38:58", "url": "https://files.pythonhosted.org/packages/d9/24/fd3ef62432cd7e93c37eb68576d8f4dd02f6973c727f0f42a5be73857768/mordor2-0.0.23-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ad535e155870e1365349fd088215a9b0", "sha256": "7184e63c1a68175aeb4e7f926d724a5041b7f008f8104719cf4d5cdfcc3c9238" }, "downloads": -1, "filename": "mordor2-0.0.23.tar.gz", "has_sig": false, "md5_digest": "ad535e155870e1365349fd088215a9b0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7888, "upload_time": "2019-08-17T10:38:59", "url": "https://files.pythonhosted.org/packages/f0/fb/378babe3c35b34c91e47cd57eb3fa6ad94bdc50867cbf1335a9f844f644b/mordor2-0.0.23.tar.gz" } ], "0.0.24": [ { "comment_text": "", "digests": { "md5": "a3a0e0e93ec912c714631619f0ff68e3", "sha256": "7213133c3b2ca655b16d53d9d3dabcfa3994fe9baa0b89b03ca25de4b8a65f5d" }, "downloads": -1, "filename": "mordor2-0.0.24-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a3a0e0e93ec912c714631619f0ff68e3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11229, "upload_time": "2019-09-03T16:43:48", "url": "https://files.pythonhosted.org/packages/ad/24/36d8463d83225b46e32bf55007a35d895bfaad77ccf542615170a2bf7177/mordor2-0.0.24-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "394ac570728dd128492a8a3543e225cc", "sha256": "73e6c2d38a2afecd3e4e8352c57eeb384b1ec029c5df7dde691d1aab61fb9e52" }, "downloads": -1, "filename": "mordor2-0.0.24.tar.gz", "has_sig": false, "md5_digest": "394ac570728dd128492a8a3543e225cc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11192, "upload_time": "2019-09-03T16:43:51", "url": "https://files.pythonhosted.org/packages/38/f6/014eb56795b1918f686f712d292608726104fa21c9fb3c0eca1a489eff19/mordor2-0.0.24.tar.gz" } ], "0.0.25": [ { "comment_text": "", "digests": { "md5": "9126b17f36fadd3e6569d7d194cb3062", "sha256": "6b2492b293fc0dbaae1de8dd63ab30b7b1a1b0f90fc838b088de052c3b7d57ff" }, "downloads": -1, "filename": "mordor2-0.0.25-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9126b17f36fadd3e6569d7d194cb3062", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11228, "upload_time": "2019-10-15T19:09:37", "url": "https://files.pythonhosted.org/packages/01/7a/daafd3c6420ed7e59e6f941646fab7ac5f8b8ce0b8a23ddf6db4d88f7956/mordor2-0.0.25-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b0f61a035fb74f3175f38c4302f2a9f5", "sha256": "917fec1b6b1a28b1509da33534ec6ca25e2e506ab7c558f6fb974446101917a4" }, "downloads": -1, "filename": "mordor2-0.0.25.tar.gz", "has_sig": false, "md5_digest": "b0f61a035fb74f3175f38c4302f2a9f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11184, "upload_time": "2019-10-15T19:09:39", "url": "https://files.pythonhosted.org/packages/90/31/ffec31c3bce25b9781331475c682c7d14ffb2a70a3018f28aab4546ea2b3/mordor2-0.0.25.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "ae025f9655126910a219a907829374bf", "sha256": "a5321c3b563a7a5cdded9b89237526224dff64fb9f2c5b4fc4432f43ebb58677" }, "downloads": -1, "filename": "mordor2-0.0.3.tar.gz", "has_sig": false, "md5_digest": "ae025f9655126910a219a907829374bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5792, "upload_time": "2019-03-05T12:15:30", "url": "https://files.pythonhosted.org/packages/a0/be/1096315b00ecf23626057f4d5600ba94401d996d9de279385a05cbdf2cc4/mordor2-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "61aa8d212d89afc2af0d91670ba9ebfe", "sha256": "4bb72ffdab364775fb3752d7b5df5d2e1279e79170d1bb6a216f9ec7c3e3a37d" }, "downloads": -1, "filename": "mordor2-0.0.4.tar.gz", "has_sig": false, "md5_digest": "61aa8d212d89afc2af0d91670ba9ebfe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6707, "upload_time": "2019-03-05T12:56:17", "url": "https://files.pythonhosted.org/packages/c7/56/44f60787dcdec4c93e8a293cc4ef42e48a225137a018fc78ab5afb261805/mordor2-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "59f3ebec6f7dc06de063c7255f18ca1b", "sha256": "e425c7fb9b0d77c6f375ac790d6b6715dee20d73b176b31067afc2acac93dd6e" }, "downloads": -1, "filename": "mordor2-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "59f3ebec6f7dc06de063c7255f18ca1b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8093, "upload_time": "2019-03-19T18:06:06", "url": "https://files.pythonhosted.org/packages/a1/40/a517ce275e8ed0dc382d3fecdbbb6326e24ba12280d22735acf6f7445df7/mordor2-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "51ba92e4ad7de3a4452c92f348b36ecb", "sha256": "3a5da7fc8b9da7935966be74ba23c4dc6cf14494e0e9fa5b658c1def2f2091b4" }, "downloads": -1, "filename": "mordor2-0.0.5.tar.gz", "has_sig": false, "md5_digest": "51ba92e4ad7de3a4452c92f348b36ecb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7091, "upload_time": "2019-03-19T18:06:07", "url": "https://files.pythonhosted.org/packages/54/db/6dd22b2716bc70e47d8b4ca13a65f255ad976706ff9ed412eade20be983d/mordor2-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "3c91df347ad18aac1c876d22ec61b6f4", "sha256": "3bec0cd5c3b23db58eb44c1aa9cad45c3512f3354be8ed92232d429ae9324121" }, "downloads": -1, "filename": "mordor2-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "3c91df347ad18aac1c876d22ec61b6f4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8221, "upload_time": "2019-03-22T03:35:53", "url": "https://files.pythonhosted.org/packages/e0/ea/5769c927e465cf634efa9bf32cdccd36644f5b78d2f1bdc49121f9a1de84/mordor2-0.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8aebb4a9dc343047ff3def3484779211", "sha256": "37b9259c617ea622684e007e513592bd4d3932144414ea13c5649030310e540f" }, "downloads": -1, "filename": "mordor2-0.0.6.tar.gz", "has_sig": false, "md5_digest": "8aebb4a9dc343047ff3def3484779211", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7128, "upload_time": "2019-03-22T03:35:54", "url": "https://files.pythonhosted.org/packages/e1/06/a578b72ae13f364bd67599de34111f9873fd57a09d3fac4aeb55dfc4a135/mordor2-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "906d8f7e6191ea66b4577fa4509fc6e9", "sha256": "0233fe7c478e950c029162fb7f9f7f69f9f79305e8f4215a55e794f5e276c9e4" }, "downloads": -1, "filename": "mordor2-0.0.7-py2-none-any.whl", "has_sig": false, "md5_digest": "906d8f7e6191ea66b4577fa4509fc6e9", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 8253, "upload_time": "2019-03-22T21:49:53", "url": "https://files.pythonhosted.org/packages/13/73/4da7a3b131d6a1de5d604a635a1ac0b0f465f9c390357c529cf94c83e716/mordor2-0.0.7-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "81345ec0af9805b6637e684b1681d1d5", "sha256": "41192ab0e667c09ca3932550e26f0a8f30b39a3cdc35c9e7588c5aafc6e92995" }, "downloads": -1, "filename": "mordor2-0.0.7.tar.gz", "has_sig": false, "md5_digest": "81345ec0af9805b6637e684b1681d1d5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6565, "upload_time": "2019-03-22T21:49:54", "url": "https://files.pythonhosted.org/packages/f5/e4/b338586b5f537be785a47c6791793cac53280ab2df103d0c316a9a3fa60b/mordor2-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "ddb5952a5328685185042b39941d4cf9", "sha256": "d5cd5f38acb4a3f7ca8becbbb91d6f61a5b158ffa61fae8041b5ff0449bb9019" }, "downloads": -1, "filename": "mordor2-0.0.8-py3-none-any.whl", "has_sig": false, "md5_digest": "ddb5952a5328685185042b39941d4cf9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9214, "upload_time": "2019-03-23T07:33:17", "url": "https://files.pythonhosted.org/packages/77/49/ba3749e577b36739d90b5005736688ac13fb96516c96da0f75ea9715fdea/mordor2-0.0.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9db53e7e6dd52edbafdf8113e281eabf", "sha256": "185a1cf45e74f6fbe9fcd9d0aa68a94eacaa255fed73372d9627aceaf116605c" }, "downloads": -1, "filename": "mordor2-0.0.8.tar.gz", "has_sig": false, "md5_digest": "9db53e7e6dd52edbafdf8113e281eabf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7611, "upload_time": "2019-03-23T07:33:19", "url": "https://files.pythonhosted.org/packages/72/b2/61bd0c9bebfe116e8f2792bd15f9445fc9c62e5224a5460632cb9ae4e55d/mordor2-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "f80857de9576939fe72bb154f0b4dc7e", "sha256": "0d71ac674de1c67944f7f6f8ec351120e9b9596e86e0de2a6d654323a10456f9" }, "downloads": -1, "filename": "mordor2-0.0.9-py3-none-any.whl", "has_sig": false, "md5_digest": "f80857de9576939fe72bb154f0b4dc7e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9242, "upload_time": "2019-03-23T07:49:33", "url": "https://files.pythonhosted.org/packages/2e/39/a394da98118824473b8b1f5da31e4be660d1dcff01b2e14e6400fcf76b85/mordor2-0.0.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "27c89ac28d350c98542c40d68072c58f", "sha256": "699d7bb26fecfca3ea0580ac8337d49cbb825fe400fa47e5e657c17bdb021092" }, "downloads": -1, "filename": "mordor2-0.0.9.tar.gz", "has_sig": false, "md5_digest": "27c89ac28d350c98542c40d68072c58f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7625, "upload_time": "2019-03-23T07:49:34", "url": "https://files.pythonhosted.org/packages/09/96/d8039c21381ddb21ae2b08cebc5bfdac9a39a184e20402bb22672265aebe/mordor2-0.0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9126b17f36fadd3e6569d7d194cb3062", "sha256": "6b2492b293fc0dbaae1de8dd63ab30b7b1a1b0f90fc838b088de052c3b7d57ff" }, "downloads": -1, "filename": "mordor2-0.0.25-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9126b17f36fadd3e6569d7d194cb3062", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11228, "upload_time": "2019-10-15T19:09:37", "url": "https://files.pythonhosted.org/packages/01/7a/daafd3c6420ed7e59e6f941646fab7ac5f8b8ce0b8a23ddf6db4d88f7956/mordor2-0.0.25-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b0f61a035fb74f3175f38c4302f2a9f5", "sha256": "917fec1b6b1a28b1509da33534ec6ca25e2e506ab7c558f6fb974446101917a4" }, "downloads": -1, "filename": "mordor2-0.0.25.tar.gz", "has_sig": false, "md5_digest": "b0f61a035fb74f3175f38c4302f2a9f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11184, "upload_time": "2019-10-15T19:09:39", "url": "https://files.pythonhosted.org/packages/90/31/ffec31c3bce25b9781331475c682c7d14ffb2a70a3018f28aab4546ea2b3/mordor2-0.0.25.tar.gz" } ] }