Skip to main content

subwrap - A simple wrapper for subprocess

Project description

This is a very thin layer on top of stdlib’s subprocess module. It is simply for some convenient functions that are needed in many of my projects.

Full documentation could come later but if you really want something that makes using subprocess much easier I would personally try envoy. However, at this time envoy seemed a bit too early in it’s development to use so I created my own very thin layer to satisfy my needs for the time being.

If you’d like something with higher aspirations please check out envoy.

Examples

Simple example:

import subwrap

response = subwrap.run(['echo', 'hello'])

# Display hello
print response.std_out

By default subwrap throws a CommandError if the command being run exits with an exit code that is not zero. To catch default command errors:

import subwrap

try:
    response = subwrap.run(['false'])
except subwrap.CommandError, e:
    #this is the response, you can do what you want here
    response = e.response

However that’s not always useful. You can have subwrap run your own custom exit handle for each subprocess. Just do the following:

import subwrap

def my_exit_handle(response):
    if response.return_code == 0:
        print "HAPPY DAY!"
    else:
        print "Not as happy"

# The next line will output "Not as happy" to stdout
response = subwrap.run(['false'], exit_handle=my_exit_handle)

License

MIT License

Project details


Download files

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

Source Distribution

subwrap-0.1.0.tar.gz (3.3 kB view details)

Uploaded Source

File details

Details for the file subwrap-0.1.0.tar.gz.

File metadata

  • Download URL: subwrap-0.1.0.tar.gz
  • Upload date:
  • Size: 3.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for subwrap-0.1.0.tar.gz
Algorithm Hash digest
SHA256 85dd73960bbf6c72c509daedd206c9bd33f1e21be7cc6b7a730a4b8c9dac20d8
MD5 af24869bca76110a4d670f8e9f9ae145
BLAKE2b-256 1d69cde7fb70a468612dcb5c09cac4a9d9ba2add238ed71faa8207a2e3f5bf81

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page