Skip to main content

Python subprocess replacement

Project description

.. image:: https://raw.githubusercontent.com/amoffat/sh/master/logo-230.png
:target: https://amoffat.github.com/sh
:alt: Logo

|

.. 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/master.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.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<https://amoffat.github.com/sh>`_

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

::

$> pip install sh

Updating the docs
=================

Check out the `gh-pages <https://github.com/amoffat/sh/tree/gh-pages>`_ branch and follow the ``README.rst`` there.

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.14.tar.gz (56.9 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.14-py2.py3-none-any.whl (38.9 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

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

File hashes

Hashes for sh-1.12.14.tar.gz
Algorithm Hash digest
SHA256 b52bf5833ed01c7b5c5fb73a7f71b3d98d48e9b9b8764236237bdc7ecae850fc
MD5 a8351aef25d25f707c17e0a7a6280251
BLAKE2b-256 7c71199d27d3e7e78bf448bcecae0105a1d5b29173ffd2bbadaa95a74c156770

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sh-1.12.14-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 ae3258c5249493cebe73cb4e18253a41ed69262484bad36fdb3efcb8ad8870bb
MD5 c69488cd6329a1a78f5e544326a57be6
BLAKE2b-256 4a2217b22ef5b049f12080f5815c41bf94de3c229217609e469001a8f80c1b3d

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