Skip to main content

Python subprocess replacement

Project description

Logo

Version Downloads Status Python Versions Build Status Coverage Status

sh is a full-fledged subprocess replacement for Python 2.6 - 3.8, PyPy and PyPy3 that allows you to call any program as if it were a function:

from sh import ifconfig
print(ifconfig("eth0"))

sh is not a collection of system commands implemented in Python.

Complete documentation here

Installation

$> pip install sh

Support

Developers

Updating the docs

Check out the gh-pages branch and follow the README.rst there.

Testing

I’ve included a Docker test suite in the docker_test_suit/ folder. To build the image, cd into that directory and run:

$> ./build.sh

This will install ubuntu 18.04 LTS and all python versions from 2.6-3.8. Once it’s done, stay in that directory and run:

$> ./run.sh

This will mount your local code directory into the container and start the test suite, which will take a long time to run. If you wish to run a single test, you may pass that test to ./run.sh:

$> ./run.sh FunctionalTests.test_unicode_arg

To run a single test for a single environment:

$> ./run.sh -e 3.4 FunctionalTests.test_unicode_arg

Coverage

First run all of the tests:

$> python sh.py test

This will aggregate a .coverage. You may then visualize the report with:

$> coverage report

Or generate visual html files with:

$> coverage html

Which will create ./htmlcov/index.html that you may open in a web browser.

Download files

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

Source Distribution

sh-1.14.2.tar.gz (63.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sh-1.14.2-py2.py3-none-any.whl (40.8 kB view details)

Uploaded Python 2Python 3

File details

Details for the file sh-1.14.2.tar.gz.

File metadata

  • Download URL: sh-1.14.2.tar.gz
  • Upload date:
  • Size: 63.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.12.1 setuptools/42.0.1 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.5.8

File hashes

Hashes for sh-1.14.2.tar.gz
Algorithm Hash digest
SHA256 9d7bd0334d494b2a4609fe521b2107438cdb21c0e469ffeeb191489883d6fe0d
MD5 33becadcb5214afd00b9eec05fa98c06
BLAKE2b-256 8039ed280d183c322453e276a518605b2435f682342f2c3bcf63228404d36375

See more details on using hashes here.

File details

Details for the file sh-1.14.2-py2.py3-none-any.whl.

File metadata

  • Download URL: sh-1.14.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 40.8 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.12.1 setuptools/42.0.1 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.5.8

File hashes

Hashes for sh-1.14.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 4921ac9c1a77ec8084bdfaf152fe14138e2b3557cc740002c1a97076321fce8a
MD5 162ced4d7f6d33eb5ed220d7ba1a0f0c
BLAKE2b-256 7ac30836b7b975d09428d90f926dc1f86e2d76d721cf79bd6659838761c35f85

See more details on using hashes here.

Supported by

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