{ "info": { "author": "Gerhard Tan", "author_email": "gerhard.gh.ta@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "# Easy Deployment\n\nEasy deployment tool for Python application. It can manage virtual environment and create service.\n\n## Install\nDownload and install the `ez-deploy` package for python.\n```\npip install ez-deploy\n```\n## Usage:\nUse the `ez-deploy` command to manage deployment.\n```\nusage: ez_deploy.py [-h] [-c CONFIG] [--env ENV] [--requirements REQUIREMENTS]\n [--dir DIR] [--service-name SERVICE_NAME]\n [--service-start SERVICE_START]\n [--service-program SERVICE_PROGRAM]\n [--service-arguments SERVICE_ARGUMENTS [SERVICE_ARGUMENTS ...]]\n [--service-display SERVICE_DISPLAY]\n [--service-description SERVICE_DESCRIPTION]\n [--service-depend SERVICE_DEPEND]\n [--service-obj SERVICE_OBJ]\n [--service-password SERVICE_PASSWORD]\n [--service-file SERVICE_FILE]\n [--service-convert-path SERVICE_CONVERT_PATH]\n command\n\nEasy Deployment Tool\n\npositional arguments:\n command Command \n\noptional arguments:\n -h, --help show this help message and exit\n -c CONFIG, --config CONFIG\n use config file (JSON format, default=deployment.json)\n --env ENV virtual environment path\n --requirements REQUIREMENTS\n package requirements file (default=requirements.txt)\n --dir DIR package lookup directory\n --service-name SERVICE_NAME\n service name\n --service-start SERVICE_START\n service start mode (default=manual)\n\nOptions for Windows:\n Service options for Windows\n\n --service-program SERVICE_PROGRAM\n service bin path\n --service-arguments SERVICE_ARGUMENTS [SERVICE_ARGUMENTS ...]\n service arguments\n --service-display SERVICE_DISPLAY\n service display name\n --service-description SERVICE_DESCRIPTION\n service description\n --service-depend SERVICE_DEPEND\n service dependencies\n --service-obj SERVICE_OBJ\n service login account\n --service-password SERVICE_PASSWORD\n service login password\n --service-restart restart service after service failure\n --service-restart-delay SERVICE_RESTART_DELAY\n restart delay(in seconds) after service failure\n\nOptions for Linux:\n Service options for Linux\n\n --service-file SERVICE_FILE\n service file to install (default=SERVICE_NAME.service)\n --service-convert-path SERVICE_CONVERT_PATH\n convert service path to absolute path\n```\nAlso, you can create a `deployment.json` file in a directory and run `ez-deploy` to load it.\n```json\n{\n \"env\": \"venv\",\n \"requirements\": \"requirements.txt\",\n \"dir\": \"packages\",\n \"service\": {\n \"name\": \"example\",\n \"program\": \"python\",\n \"arguments\": [\"main.py\"],\n \"display\": \"Example Service\",\n \"description\": \"A service\",\n \"start\": \"auto\",\n \"file\": \"example.service\",\n \"restart\": true,\n \"restart_delay\": 30\n }\n}\n```\n\n## Examples\n1. Create a virtual environment named `venv`:\n```cmd\nez-deploy env --env=venv\n```\n\n2. Install packages in the virtual environment:\n```cmd\nez-deploy deploy --env=venv --requirements=requirements.txt\n```\n\n3. Run a python script as service:\n```cmd\nez-deploy install --service-name=python-service --service-program=/usr/bin/python --service-arguments main.py\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/koho/ez_deploy", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "ez-deploy", "package_url": "https://pypi.org/project/ez-deploy/", "platform": "any", "project_url": "https://pypi.org/project/ez-deploy/", "project_urls": { "Homepage": "https://github.com/koho/ez_deploy" }, "release_url": "https://pypi.org/project/ez-deploy/1.0.4/", "requires_dist": [ "srvwrapper ; sys_platform == \"win32\"" ], "requires_python": ">=3.5", "summary": "Easy Deployment Tool", "version": "1.0.4", "yanked": false, "yanked_reason": null }, "last_serial": 7385085, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "198b23b12d4c2156ab00e8bb31ae168e", "sha256": "f3d08a56061ba4fa48b3e733f18544bf001ac8e86af578a5b4d6b950a26a8bc0" }, "downloads": -1, "filename": "ez_deploy-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "198b23b12d4c2156ab00e8bb31ae168e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 4463, "upload_time": "2019-10-25T06:44:02", "upload_time_iso_8601": "2019-10-25T06:44:02.329453Z", "url": "https://files.pythonhosted.org/packages/22/5d/b672da7ffd42f726dd6474d7c945bd20c0f22aef4ee02df36fd010b60e7b/ez_deploy-1.0.0-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "3ca75ae11db067fb395f601c73671299", "sha256": "23f2f675b0754b8a0754fd4c9da640a62f8fb464f57955b91d12f280047bd8f6" }, "downloads": -1, "filename": "ez_deploy-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "3ca75ae11db067fb395f601c73671299", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 4877, "upload_time": "2019-11-05T01:56:51", "upload_time_iso_8601": "2019-11-05T01:56:51.444203Z", "url": "https://files.pythonhosted.org/packages/a5/98/1458261e6a6018730a1e15dceea6fdea2ce41ca70789992eefd3f9adaa06/ez_deploy-1.0.1-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "aa8f2e9862b6ac060efcbadd19f73c92", "sha256": "cc058c1fed9da80e98f5c8e08586f130c07efc82221f4b2efc61400fca738146" }, "downloads": -1, "filename": "ez_deploy-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "aa8f2e9862b6ac060efcbadd19f73c92", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 4946, "upload_time": "2019-11-05T06:14:33", "upload_time_iso_8601": "2019-11-05T06:14:33.946815Z", "url": "https://files.pythonhosted.org/packages/d2/b2/5a5ce84be8c458fad6d75c07f75e699d1370bdb9808b224398cd4775936a/ez_deploy-1.0.2-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "1685d845a5c4abda6ad0fb0b9d6e1318", "sha256": "0b9263e64d0135dfcfd513e0a6748f96ed3276dac66ad4a7aa563b2a6a1f7be3" }, "downloads": -1, "filename": "ez_deploy-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "1685d845a5c4abda6ad0fb0b9d6e1318", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 5141, "upload_time": "2020-06-03T08:28:45", "upload_time_iso_8601": "2020-06-03T08:28:45.537495Z", "url": "https://files.pythonhosted.org/packages/29/ea/ad0525f0e82499ac25af45406a7d3ad6dc0287bdf1bce7e14aca59bb2b70/ez_deploy-1.0.3-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "f96b0ce2ea6eaa184672e909bbdc9b15", "sha256": "a03abd7b6aea4d4d5dc3c6c08f9dfd2f3ac7a2a21b8ffa3b71fb506046cdf7e7" }, "downloads": -1, "filename": "ez_deploy-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "f96b0ce2ea6eaa184672e909bbdc9b15", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 5212, "upload_time": "2020-06-03T08:33:27", "upload_time_iso_8601": "2020-06-03T08:33:27.589970Z", "url": "https://files.pythonhosted.org/packages/bb/ad/f3e673f80dfa0aa27d638715cef4a8b42f42836d1fd6dba407121e043dea/ez_deploy-1.0.4-py3-none-any.whl", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f96b0ce2ea6eaa184672e909bbdc9b15", "sha256": "a03abd7b6aea4d4d5dc3c6c08f9dfd2f3ac7a2a21b8ffa3b71fb506046cdf7e7" }, "downloads": -1, "filename": "ez_deploy-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "f96b0ce2ea6eaa184672e909bbdc9b15", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 5212, "upload_time": "2020-06-03T08:33:27", "upload_time_iso_8601": "2020-06-03T08:33:27.589970Z", "url": "https://files.pythonhosted.org/packages/bb/ad/f3e673f80dfa0aa27d638715cef4a8b42f42836d1fd6dba407121e043dea/ez_deploy-1.0.4-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }