# Buildsheet autogenerated by ravenadm tool -- Do not edit.

NAMEBASE=		python-sh
VERSION=		2.1.0
KEYWORDS=		python
VARIANTS=		v12 v13
SDESC[v12]=		Python subprocess replacement (3.12)
SDESC[v13]=		Python subprocess replacement (3.13)
HOMEPAGE=		https://sh.readthedocs.io/
CONTACT=		Python_Automaton[python@ironwolf.systems]

DOWNLOAD_GROUPS=	main
SITES[main]=		PYPIWHL/00/59/f6551f49c123751e921038c24215157bd50aef375ced16cac57229678c43
DISTFILE[1]=		sh-2.1.0-py3-none-any.whl:main
DIST_SUBDIR=		python-src
DF_INDEX=		1
SPKGS[v12]=		single
SPKGS[v13]=		single

OPTIONS_AVAILABLE=	PY312 PY313
OPTIONS_STANDARD=	none
VOPTS[v12]=		PY312=ON PY313=OFF
VOPTS[v13]=		PY312=OFF PY313=ON

DISTNAME=		sh-2.1.0.dist-info

GENERATED=		yes

[PY312].USES_ON=			python:v12,wheel

[PY313].USES_ON=			python:v13,wheel

[FILE:1406:descriptions/desc.single]
    :alt: Logo

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

|

    :alt: Version
    :alt: Downloads Status
    :alt: Python Versions
    :alt: Coverage Status

|

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

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
=======
* [Andrew Moffat] - author/maintainer
* [Erik Cederstrand] - maintainer

Developers
==========

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 pytest

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.


[FILE:115:distinfo]
bf5e44178dd96a542126c2774e9b7ab1d89bfe0e2ef84d92e6d0ed7358d63d01        38080 python-src/sh-2.1.0-py3-none-any.whl