Python subprocess replacement
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file sh-1.14.1.tar.gz
.
File metadata
- Download URL: sh-1.14.1.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
Algorithm | Hash digest | |
---|---|---|
SHA256 |
39aa9af22f6558a0c5d132881cf43e34828ca03e4ae11114852ca6a55c7c1d8e
|
|
MD5 |
50fc0a2953930ed8d0f6570835e88abf
|
|
BLAKE2b-256 |
f6d4e80280b1eba9597d16144f71d12cdf62d0e66170d289880f307cf905d327
|
File details
Details for the file sh-1.14.1-py2.py3-none-any.whl
.
File metadata
- Download URL: sh-1.14.1-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
Algorithm | Hash digest | |
---|---|---|
SHA256 |
75e86a836f47de095d4531718fe8489e6f7446c75ddfa5596f632727b919ffae
|
|
MD5 |
f9d6a463bc32dd5e7e3048cb5e5922d6
|
|
BLAKE2b-256 |
5038f7dcc62943d0870f02df9e2fa527b7f0cd86b233a80d6e503a08f3ef5ddc
|