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.0.tar.gz (63.3 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.0-py2.py3-none-any.whl (40.4 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: sh-1.14.0.tar.gz
  • Upload date:
  • Size: 63.3 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.0.tar.gz
Algorithm Hash digest
SHA256 05c7e520cdf70f70a7228a03b589da9f96c6e0d06fc487ab21fc62b26a592e59
MD5 4cbbcb85c081d78f4b0f00d634db9bb9
BLAKE2b-256 dd7ccd8e24b7bbcd954cd92bc689b3585bf615831cb9880eee3b322d53669d59

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sh-1.14.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 40.4 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.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 4219d338349581a07cd1358c1d7de0fa57bb5d44e547cc87b0da7d5349705030
MD5 88b65b15dd65710c2d1a2699d516e61b
BLAKE2b-256 e043dd2d73078a2c64ad320a446284c936d221ba05f8ec921aad86b52817403f

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