{ "info": { "author": "Lev Rubel", "author_email": "rubel.lev@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Natural Language :: English", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5" ], "description": "=======\nremoter\n=======\n\n\n.. image:: https://img.shields.io/pypi/v/remoter.svg\n :target: https://pypi.python.org/pypi/remoter\n\n.. image:: https://img.shields.io/travis/levchik/remoter.svg\n :target: https://travis-ci.org/levchik/remoter\n\n.. image:: https://readthedocs.org/projects/remoter/badge/?version=latest\n :target: https://remoter.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n.. image:: https://pyup.io/repos/github/levchik/remoter/shield.svg\n :target: https://pyup.io/repos/github/levchik/remoter/\n :alt: Updates\n\n\nPython 3 compatible remote task runner\n\n\n* Free software: Apache Software License 2.0\n* Documentation: https://remoter.readthedocs.io.\n\nUsage\n-----\n\n $ pip instal remoter\n $ vi remoter.yml\n $ remoter tasks run\n\n\nConfig\n------\n\nIt consists of two main parts: `servers` and `tasks`.\nIn the `servers` section you define hosts with the auth credentials for SSH connection.\nIn the `tasks` section you define sequence of tasks to be performed for each server.\n\nExample of what updating a docker-compose django service might look like:\n\n servers:\n test1:\n host: \"127.0.0.1\"\n port: 22\n username: \"docker\"\n password: \"docker\"\n tasks:\n test1:\n - \"docker-compose stop\"\n - \"git pull origin master\"\n - \"docker-compose run --rm python manage.py migrate\"\n - \"docker-compose up -d\"\n\n\nRoadmap\n-------\n\nFuture plans and tasks are in kanban-like projects here:\n\nhttps://github.com/levchik/remoter/projects\n\n\nDevelopment in docker\n---------------------\n\n*Build*\n\n $ docker build -t remoter:latest .\n\n*Run tests*\n\n $ docker run --rm -it -v $(pwd):/code remoter:latest make test\n\n*Run cli*\n\n $ docker run --rm -it -v $(pwd):/code remoter:latest python -m remoter.cli\n\n\nCredits\n-------\n\nImplemenetation of test SSH server was taken from https://github.com/carletes/mock-ssh-server\n\nThis package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.\n\n.. _Cookiecutter: https://github.com/audreyr/cookiecutter\n.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage\n\n\n=======\nHistory\n=======\n\n0.1.0 (2017-01-18)\n------------------\n\n* First release on PyPI.\n\n0.1.1 (2017-01-18)\n------------------\n\n* Messing around with the services CI/check deps/pypi, etc...\n\n0.1.2 (2017-01-18)\n------------------\n\n* Added twine for easier uploading.\n* Updated all packages based on pyup\n\n0.1.3 (2017-01-24)\n------------------\n\n* Added ability to invoke basic functionality of task runner (`tasks run`)\n* Added option to specify config file via `--file`\n* Test SSH server is now invoked in tests via py.test fixture\n* Updated README\n* Updated packages based on pyup", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/levchik/remoter", "keywords": "remoter,remote,ssh,update,deploy", "license": "Apache Software License 2.0", "maintainer": "", "maintainer_email": "", "name": "remoter", "package_url": "https://pypi.org/project/remoter/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/remoter/", "project_urls": { "Homepage": "https://github.com/levchik/remoter" }, "release_url": "https://pypi.org/project/remoter/0.1.3/", "requires_dist": null, "requires_python": "", "summary": "Python 3 compatible remote task runner", "version": "0.1.3" }, "last_serial": 2594162, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "f6c31afaee3b19a9025a53052312dfc3", "sha256": "81bd003f110c23d1d1da077a64ee5e67cd627f28e269f7dcdec325d3d463e4b4" }, "downloads": -1, "filename": "remoter-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f6c31afaee3b19a9025a53052312dfc3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4205, "upload_time": "2017-01-18T14:43:57", "url": "https://files.pythonhosted.org/packages/dc/84/3ba806d813e74cb8e5cadd48b72f39a206509317f72e5ee5d0a272c738ce/remoter-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "39eb6d2293e5dae907d2ababa8a018e4", "sha256": "ec78e190f636f11221d3d612dbcd014ba7cbd7fbe6c3ff671c52bf7e852708ed" }, "downloads": -1, "filename": "remoter-0.1.1.tar.gz", "has_sig": false, "md5_digest": "39eb6d2293e5dae907d2ababa8a018e4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11309, "upload_time": "2017-01-18T14:43:59", "url": "https://files.pythonhosted.org/packages/3d/45/1896e48879bba485f7474774c60394e5398c2547cd1a9413551294da9642/remoter-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "0ca47ef12a006e1163174ba80b16c759", "sha256": "53f8dc9a5d2fc2d556b40e5c09797b801e10428c2ea4d674c4a4773d9e4b103d" }, "downloads": -1, "filename": "remoter-0.1.2.tar.gz", "has_sig": false, "md5_digest": "0ca47ef12a006e1163174ba80b16c759", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11296, "upload_time": "2017-01-21T13:10:43", "url": "https://files.pythonhosted.org/packages/87/78/2e09d7c05beda1f8eddd792d84b6faf1050c0162ec4132797d344d88c563/remoter-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "fd321f178e049b3004433aa0a0708d0a", "sha256": "fb4665c0614c1bf2b9508341bb8aa48b2e6bc9de6498edd4639b786f6d1f16fa" }, "downloads": -1, "filename": "remoter-0.1.3.tar.gz", "has_sig": false, "md5_digest": "fd321f178e049b3004433aa0a0708d0a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16581, "upload_time": "2017-01-24T00:03:43", "url": "https://files.pythonhosted.org/packages/5d/e3/f4b1fb6904147473cb251129d118a201dfb1af03e9a45caa10b24736c80f/remoter-0.1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "fd321f178e049b3004433aa0a0708d0a", "sha256": "fb4665c0614c1bf2b9508341bb8aa48b2e6bc9de6498edd4639b786f6d1f16fa" }, "downloads": -1, "filename": "remoter-0.1.3.tar.gz", "has_sig": false, "md5_digest": "fd321f178e049b3004433aa0a0708d0a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16581, "upload_time": "2017-01-24T00:03:43", "url": "https://files.pythonhosted.org/packages/5d/e3/f4b1fb6904147473cb251129d118a201dfb1af03e9a45caa10b24736c80f/remoter-0.1.3.tar.gz" } ] }