Skip to main content

subprocess-like API for starting local and remote processes

Project description

Superprocess facilitates extending the built-in subprocess module. You can extend superprocess to add custom behaviour or use the bundled extensions, most notably support for running remote processes.

Installation

Requires Python 2.6, 2.7 or 3.4+.

To install superprocess, simply:

$ pip install superprocess

Usage

Run a remote command:

>>> superprocess.check_output('echo $SSH_CONNECTION', netloc='127.0.0.1', shell=True)
b'127.0.0.1 56924 127.0.0.1 22\n'

Open a pipe to a command:

>>> with superprocess.popen('ls') as f:
...   for line in f:
...     print(line.strip())
...
README.rst
setup.py
superprocess
superprocess.egg-info

Note: close() will raise a CalledProcessError if the return code is non-zero:

>>> f = superprocess.popen('echo Hello World!; exit 1', shell=True)
>>> f.read()
'Hello World!\n'
>>> f.close()
Traceback (most recent call last):
        ...
subprocess.CalledProcessError: Command 'echo Hello World!; exit 1' returned non-zero exit status 1

Customise an instance of superprocess to use the shell by default:

>>> from superprocess import Superprocess
>>> superprocess = Superprocess()
>>> superprocess.run = functools.partial(superprocess.run, shell=True)
>>> superprocess.call('exit 1')
1

License

Licensed under the Apache License, Version 2.0.

Project details


Release history Release notifications

This version
History Node

0.2.0

History Node

0.2.0.dev0

History Node

0.1.1

History Node

0.1.0

History Node

0.1.0.dev

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
superprocess-0.2.0.tar.gz (5.6 kB) Copy SHA256 hash SHA256 Source None Aug 25, 2015

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page