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

Updating the docs

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

Developers

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.13.0.tar.gz (62.7 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.13.0-py2.py3-none-any.whl (40.3 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: sh-1.13.0.tar.gz
  • Upload date:
  • Size: 62.7 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.13.0.tar.gz
Algorithm Hash digest
SHA256 f00dfb38579ab661786daec7a7b9436facf77682f62160db5b66d58c8b2f270a
MD5 e1cc7c85bf658841c28fabd0de075203
BLAKE2b-256 fdc4aae62d39ff42da0bbfc8fa003fc8f07b016bc437977800531c143996eb78

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sh-1.13.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 40.3 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.13.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 ee445c1ab771a095a31302789ef086d0b7fdc07591fd29385d445fa5165dbd74
MD5 a4d7f73dbc38ea62802dc35a6cb91589
BLAKE2b-256 b54efe2a7054c4bdb49eee16e2a8976cf388377dd3f44d9e406a18b32f53ca54

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