sh

Python process launching

Github stars Tracking Chart

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

Main metrics

Overview
Name With Owneramoffat/sh
Primary LanguagePython
Program languagePython (Language Count: 3)
Platform
License:MIT License
所有者活动
Created At2012-01-15 05:52:06
Pushed At2025-05-09 02:35:39
Last Commit At2025-02-23 23:12:43
Release Count64
Last Release Name2.2.2 (Posted on )
First Release Name0.2 (Posted on )
用户参与
Stargazers Count7.1k
Watchers Count132
Fork Count506
Commits Count1.5k
Has Issues Enabled
Issues Count490
Issue Open Count7
Pull Requests Count141
Pull Requests Open Count1
Pull Requests Close Count112
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private