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.
Installation
$> pip install sh
Support
Andrew Moffat - author/maintainer
Erik Cederstrand - maintainer
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.
Release files for sh 1.14.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sh-1.14.1.tar.gz | 63.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sh-1.14.1-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details |
Total release size: 103.7 kB
Release files / sh-1.14.1.tar.gz
| Download URL | sh-1.14.1.tar.gz |
|---|---|
| Size | 63.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
39aa9af22f6558a0c5d132881cf43e34828ca03e4ae11114852ca6a55c7c1d8e
|
|
BLAKE2b-256 checksum How to use checksums |
f6d4e80280b1eba9597d16144f71d12cdf62d0e66170d289880f307cf905d327
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / sh-1.14.1-py2.py3-none-any.whl
| Download URL | sh-1.14.1-py2.py3-none-any.whl |
|---|---|
| Size | 40.3 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
75e86a836f47de095d4531718fe8489e6f7446c75ddfa5596f632727b919ffae
|
|
BLAKE2b-256 checksum How to use checksums |
5038f7dcc62943d0870f02df9e2fa527b7f0cd86b233a80d6e503a08f3ef5ddc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|