Skip to main content

Python subprocess replacement

Project description

.. image:: https://img.shields.io/pypi/v/sh.svg?style=flat-square
:target: https://pypi.python.org/pypi/sh
:alt: Version
.. image:: https://img.shields.io/pypi/pyversions/sh.svg?style=flat-square
:target: https://pypi.python.org/pypi/sh
:alt: Python Versions
.. image:: https://img.shields.io/travis/amoffat/sh.svg?style=flat-square
:target: https://travis-ci.org/amoffat/sh
:alt: Build Status
.. image:: https://img.shields.io/coveralls/amoffat/sh.svg?style=flat-square
:target: https://coveralls.io/r/amoffat/sh?branch=master
:alt: 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:

.. code:: python

from sh import ifconfig
print ifconfig("eth0")

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

Installation
============

::

$> pip install sh

Complete documentation @ https://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.

Project details


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.12.10.tar.gz (55.8 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.12.10-py2.py3-none-any.whl (38.3 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: sh-1.12.10.tar.gz
  • Upload date:
  • Size: 55.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for sh-1.12.10.tar.gz
Algorithm Hash digest
SHA256 599dc8c1678f6c3a905bdf6da7d5943cf4be542ed4ce4ee49e5e392983b1ff8b
MD5 3dc0eee1382c2f604298c5ce3d747703
BLAKE2b-256 5c7ecc18121cd931d397ba1aa56d017e60db0fd2e58d2ff100f78ddc0b229f6f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sh-1.12.10-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 8084636476e3c7b075017fdb8b58a0507cbcfc31a18bf53cd9380ef75c5d72c6
MD5 0c327c4e1eef467ff689e0b549a7841d
BLAKE2b-256 735c1745a19dbaff030ed2294bf312d951ffca411f9f592fc70011e373e6cddc

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