Skip to main content

Python subprocess replacement

Project description

Logo

If you are migrating from 1.* to 2.*, please see MIGRATION.md


Version Downloads Status Python Versions Build Status Coverage Status

sh is a full-fledged subprocess replacement for Python 3.8 - 3.10, 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.

sh relies on various Unix system calls and only works on Unix-like operating systems - Linux, macOS, BSDs etc. Specifically, Windows is not supported.

Complete documentation here

Installation

$> pip install sh

Support

Developers

Updating the docs

Check out the gh-pages branch and follow the README.rst there.

Testing

Tests are run in a docker container against all supported Python versions. To run, make the following target:

$> make test

To run a single test:

$> make test='FunctionalTests.test_background' test_one

Coverage

First run all of the tests:

$> SH_TESTS_RUNNING=1 coverage run --source=sh -m unittest

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-2.0.4.tar.gz (345.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sh-2.0.4-py3-none-any.whl (38.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sh-2.0.4.tar.gz
  • Upload date:
  • Size: 345.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for sh-2.0.4.tar.gz
Algorithm Hash digest
SHA256 a18920f0839991bc9dfddb6dcc006c360b1064ba96257359f0ea356e9fa75a60
MD5 3e1f5c7a21458580840c9f5844a6011f
BLAKE2b-256 f354ea1fe5ab317a4d942c71d80df534343cf148739f716ca6224ebcec83cb10

See more details on using hashes here.

File details

Details for the file sh-2.0.4-py3-none-any.whl.

File metadata

  • Download URL: sh-2.0.4-py3-none-any.whl
  • Upload date:
  • Size: 38.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for sh-2.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 14265a4cd1622429edcf300292ec98193530fb143fe642b3437024eca9bee8c5
MD5 c19f2d1f972f5ab597356829ecb1a02e
BLAKE2b-256 75522152c858389408403386b740b4d8d011449b49dba3eee71556947d5f6854

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