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.


Requires Python 2.6, 2.7 or 3.4+.

To install superprocess, simply:

$ pip install superprocess


Run a remote command:

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

Open a pipe to a command:

>>> with superprocess.popen('ls') as f:
...   for line in f:
...     print(line.strip())

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

>>> f = superprocess.popen('echo Hello World!; exit 1', shell=True)
'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()
>>> = functools.partial(, shell=True)
>>>'exit 1')


Licensed under the Apache License, Version 2.0.

Project details

Release history Release notifications

This version
History Node


History Node


History Node


History Node


History Node

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