Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

python API to execute asynchronous remote tasks with ssh

Project Description

rcontrol

rcontrol is a python library based on paramiko intended to work with remote machines via ssh.

Unlike fabric, it is intended to perform tasks in an asynchronous way, and to work with python >= 2.7 (including python 3).

Please note that this is under development! I am waiting for feedback, ideas and contributors to make this tool evolve.

Basic example:

from rcontrol.ssh import SshSession, ssh_client
from rcontrol.core import SessionManager

def log(task, line):
    print("%r: %s" % (task, line))

with SessionManager() as sessions:
    # create sessions on two hosts
    sessions.bilbo = SshSession(
        ssh_client('http://bilbo.domain.com', 'user', 'pwd'))
    sessions.nazgul = SshSession(
        ssh_client('http://nazgul.domain.com', 'user', 'pwd'))

    # run commands in parallel
    sessions.bilbo.execute("uname -a && sleep 3", on_stdout=log)
    sessions.nazgul.execute("uname -a && sleep 3", on_stdout=log)

This example just show you how rcontrol looks like. Look at the documentation on http://rcontrol.readthedocs.org/en/latest/ if you’re interested to see more!

What rcontrol can do

  • execute multiple commands on local and remote hosts in an asynchronous way (it is up to you to synchronize them)
  • define timeout and output timeout for the commands
  • attach callbacks when a line is read (stdout or stderr), on timeout and when the commands are finished
  • copy files and directories from one host to another

What rcontrol needs (contributors, you’re welcome!)

  • be able to stop (kill) a command (local or remote)
  • more file operations
  • love

How to install

Use pip.

pip install -U rcontrol

Changelog

See the CHANGELOG.rst file.

Release History

Release History

This version
History Node

0.1.3

History Node

0.1.2

History Node

0.1.1

History Node

0.1.0

History Node

0.0.1

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
rcontrol-0.1.3.tar.gz (10.9 kB) Copy SHA256 Checksum SHA256 Source Jun 16, 2015

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting