Skip to main content

Python subprocess replacement

Project description

.. image::
:alt: Logo


.. image::
:alt: Version
.. image::
:alt: Python Versions
.. image::
:alt: Build Status
.. image::
:alt: Coverage Status


sh is a full-fledged subprocess replacement for Python 2.6 - 3.6, PyPy and PyPy3
that allows you to call any program as if it were a function:

.. code:: python

from sh import ifconfig
print ifconfig("eth0")

sh is *not* a collection of system commands implemented in Python.

`Complete documentation here<>`_



$> pip install sh

Updating the docs

Check out the `gh-pages <>`_ branch and follow the ``README.rst`` there.



First install the development requirements::

$> pip install -r requirements-dev.txt

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

$> python test

To run a single test for all environments::

$> python test FunctionalTests.test_unicode_arg

To run a single test for a single environment::

$> python test -e 3.4 FunctionalTests.test_unicode_arg


First run all of the tests::

$> python 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.

Files for sh, version 1.12.14
Filename, size File type Python version Upload date Hashes
Filename, size sh-1.12.14-py2.py3-none-any.whl (38.9 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size sh-1.12.14.tar.gz (56.9 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page