{ "info": { "author": "JR Minnaar", "author_email": "jrminnaar+pypi@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Software Development :: Build Tools", "Topic :: System :: Installation/Setup", "Topic :: System :: Software Distribution" ], "description": "dstack-tasks\n------------\n\ndstack-tasks is a collection of invoke tasks that wrap common tools and services to make it easier to deploy code.\n\nTools wrapped::\n\n - docker\n - docker-compose\n - postgresql (backup and restore)\n - mysql (backup and restore)\n - awscli (s3 only for now)\n - git\n - python\n - django manage.py\n\nThe tasks are designed to run as a standalone console script (dstack) or as a collection of tasks to build on in\nyour invoke and fabric2* tasks.\n\nInstallation\n------------\n\nTo install, use pip::\n\n pip install --pre dstack-tasks\n\n\nOnce installed, you can use it from within your project directory. The console script uses a `.env`\nfile to configure itself. At the moment, some tasks still require environmental variables before it can be used.\n\nExample usage\n-------------\n\nTo see list of tasks, use `dstack --list`. To see the help text of each task, use `dstack --help`. See below\nfor example usage::\n\n # Backs-up database\n dstack postgres backup --tag local-dev\n\n # Release new version of app and publish to S3 (requires ~/.aws/credentials to be set up\n dstack release_code --upload --not-static\n\ndstack-tasks can also be used as a base library for your `invoke` and `fabric2` tasks::\n\n pip install https://github.com/fabric/fabric/archive/v2.zip\n\nAll tasks can be run in \"dry\" mode or in a specific environment. To see what a tasks will execute, run it in `dry`\nmode::\n\n dstack dry postgres backup\n\nTo give your task additional context, you can use the special `e` task to load environmental variables\nfrom a `.env` file::\n\n dstack e release_code\n\nThis can be used to for example specify a different Github repo etc.\n\nNotes\n-----\n\nIt is important to note that dstack-tasks is console script build on top of invoke and is thus primarily meant for\nexecuting tasks locally. However, dstack-tasks fully supports being used as a library in your fabric (version 2)\nfabfile.py. Simply import all tasks from `dstack_tasks` in your fabfile and you can execute them on a remote server\nusing something like `fab -H example.com e deploy --version 1.0.0`.\n\nAt it's core however, invoke just wraps bash commands and executes them on the server. This means that for advanced uses\nit might be worthwhile to install dstack-tasks on the server to allow complex tasks to be written in python instead of\nbash. So, instead of running `ls -al` via fabric 2 on the remote server and trying to capture and parse the output, you\ncan use an appropriate python package to get a list of files in a directory.\n\nKnown Issues\n------------\n\ndstack-tasks does not yet include a generic task that can be used to call itself on the server. There is also currently\nan issue with setting runtime environmental variables using Fabric2 to run tasks remotely.\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/obitec/dstack-tasks", "keywords": "docker python wheels images runtime automation deploy", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "dstack-tasks", "package_url": "https://pypi.org/project/dstack-tasks/", "platform": "", "project_url": "https://pypi.org/project/dstack-tasks/", "project_urls": { "Homepage": "https://github.com/obitec/dstack-tasks" }, "release_url": "https://pypi.org/project/dstack-tasks/2.3.4/", "requires_dist": [ "awscli", "boto3", "colorama", "fabric (>=2.0.0)", "invoke", "python-dotenv", "requests", "setuptools-scm", "twineSphinx (>=1.4.1) ; extra == 'dev'", "wheel (>=0.29.0) ; extra == 'dev'" ], "requires_python": "", "summary": "CLI that accompanies dstack-tasks make it easy to build and deploy application. Integrates with dstack-factory.", "version": "2.3.4" }, "last_serial": 5837398, "releases": { "0.12.0": [ { "comment_text": "", "digests": { "md5": "aaea11e887cb4825de05f5056d8183b7", "sha256": "26db9ad2120f83544815c84a4f59bb2c106b02d15a99b85f327583df0a61be09" }, "downloads": -1, "filename": "dstack_tasks-0.12.0-py3-none-any.whl", "has_sig": false, "md5_digest": "aaea11e887cb4825de05f5056d8183b7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 33156, "upload_time": "2017-01-09T11:44:51", "url": "https://files.pythonhosted.org/packages/94/20/29003d454184e26f196019d296014651bc46d557abd495d7d64cd4e29e05/dstack_tasks-0.12.0-py3-none-any.whl" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "93c8fc51ca9af018df07cefc417b62e3", "sha256": "8bb374ffaf6d2e9e640c10cdf4e2605ac1da3c76575d782d94e2f4b8f4fb87bc" }, "downloads": -1, "filename": "dstack_tasks-2.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "93c8fc51ca9af018df07cefc417b62e3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 19659, "upload_time": "2017-08-03T12:08:16", "url": "https://files.pythonhosted.org/packages/95/9f/f0cad2450983b96a67018d00326c6c67b0ed884095a1ea18cf5da6c21e35/dstack_tasks-2.0.0-py3-none-any.whl" } ], "2.3.0": [ { "comment_text": "", "digests": { "md5": "6a1ef461af0cd3e7c3d469e5d78d5dda", "sha256": "025d3a0b5bb98b21e032eb0ce2e3e33a203d29163219e45b6ffbe8c4fdfb563a" }, "downloads": -1, "filename": "dstack_tasks-2.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "6a1ef461af0cd3e7c3d469e5d78d5dda", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 23778, "upload_time": "2018-08-14T17:26:27", "url": "https://files.pythonhosted.org/packages/36/21/76278a170f08464402341d3bf470b82c2d4511119aeb390d1c678474a520/dstack_tasks-2.3.0-py3-none-any.whl" } ], "2.3.1": [ { "comment_text": "", "digests": { "md5": "e095ea4ad99c198546e41c6eeb65feff", "sha256": "7b9afc9ff208db6d63a452bd686863a498ed5356a46f9088ca2bae620f600fc9" }, "downloads": -1, "filename": "dstack_tasks-2.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "e095ea4ad99c198546e41c6eeb65feff", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 23901, "upload_time": "2018-09-04T10:20:05", "url": "https://files.pythonhosted.org/packages/08/28/a69ff702c1fe438bc2fd0e98a9ae0413709a4191a5c9c3506ed649304ee2/dstack_tasks-2.3.1-py3-none-any.whl" } ], "2.3.2": [ { "comment_text": "", "digests": { "md5": "b2a74a7ada84faf90934039d21de9c7f", "sha256": "d8bbd1c6892518ed5a2592b4e9785d97a47025b2660f4608f8f483b793e37e75" }, "downloads": -1, "filename": "dstack_tasks-2.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "b2a74a7ada84faf90934039d21de9c7f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21923, "upload_time": "2019-04-15T12:18:27", "url": "https://files.pythonhosted.org/packages/a5/8c/703fe8dea2cff4e061b19531e794219592e9c536fbe7bbc59df32b94a0d4/dstack_tasks-2.3.2-py3-none-any.whl" } ], "2.3.3": [ { "comment_text": "", "digests": { "md5": "6db006fba8e422e65b0bc05b166adf13", "sha256": "ff34024be5d764416dd1fc0c1f9c1b91266786ea5a5a2ecf800683cad5a5d93c" }, "downloads": -1, "filename": "dstack_tasks-2.3.3-py3-none-any.whl", "has_sig": false, "md5_digest": "6db006fba8e422e65b0bc05b166adf13", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21943, "upload_time": "2019-09-04T10:49:30", "url": "https://files.pythonhosted.org/packages/6b/87/32611f0b821f005c12811a8641357faec768076a044b2beecdb0e2d62e83/dstack_tasks-2.3.3-py3-none-any.whl" } ], "2.3.4": [ { "comment_text": "", "digests": { "md5": "fde29bc3c47397bb7ba641652f799668", "sha256": "38942a78acaa94fbd11dc2af1e47e3ba42c26d720dfe4b9beb97852e452467f8" }, "downloads": -1, "filename": "dstack_tasks-2.3.4-py3-none-any.whl", "has_sig": false, "md5_digest": "fde29bc3c47397bb7ba641652f799668", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 22002, "upload_time": "2019-09-16T17:22:29", "url": "https://files.pythonhosted.org/packages/80/e3/105ffe82adfc65ca5cec7837fcb4ea785bca079dff2ba38fe2ea52072815/dstack_tasks-2.3.4-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "fde29bc3c47397bb7ba641652f799668", "sha256": "38942a78acaa94fbd11dc2af1e47e3ba42c26d720dfe4b9beb97852e452467f8" }, "downloads": -1, "filename": "dstack_tasks-2.3.4-py3-none-any.whl", "has_sig": false, "md5_digest": "fde29bc3c47397bb7ba641652f799668", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 22002, "upload_time": "2019-09-16T17:22:29", "url": "https://files.pythonhosted.org/packages/80/e3/105ffe82adfc65ca5cec7837fcb4ea785bca079dff2ba38fe2ea52072815/dstack_tasks-2.3.4-py3-none-any.whl" } ] }