Python process launching
Python
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.coveragerc more accurate coverage Dec 31, 2014
.gitignore Ignore all python-compiled files Feb 11, 2015
.travis.yml
CHANGELOG.md changelog for 1.12.9 Jan 4, 2017
LICENSE.txt Added packaging files. Fixes #11. Jan 30, 2012
MANIFEST.in
README.rst updated dev readme Nov 21, 2016
requirements-dev.txt give coveralls another go Nov 23, 2016
requirements-docs.txt cleaning up requirements files Oct 31, 2016
setup.cfg python wheel Nov 21, 2016
setup.py updating setup.py support for 3.5 Nov 29, 2016
sh.py version bump to 1.12.9 Jan 4, 2017
test.py mechanism for skipping test based on missing system bins Dec 16, 2016

README.rst

Version Python Versions Build Status Coverage Status

sh is a full-fledged subprocess replacement for Python 2.6 - 3.5, 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

Complete documentation @ http://amoffat.github.com/sh

Developers

Testing

First install the development requirements:

$> pip install -r requirements-dev.txt

The run the tests for all Python versions on your system:

$> python sh.py test

To run a single test for all environments:

$> python sh.py test FunctionalTests.test_unicode_arg

To run a single test for a single environment:

$> python sh.py test -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.