sh

Python process launching

https://github.com/amoffat/sh

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 106 committers (0.9%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.3%) to scientific vocabulary

Keywords

devops python subprocess

Keywords from Contributors

unit-testing closember asyncio pallets templates arrow pil pillow packaging cython
Last synced: 6 months ago · JSON representation

Repository

Python process launching

Basic Info
Statistics
  • Stars: 7,132
  • Watchers: 132
  • Forks: 507
  • Open Issues: 9
  • Releases: 12
Topics
devops python subprocess
Created about 14 years ago · Last pushed 10 months ago
Metadata Files
Readme Changelog Funding License Codeowners

README.rst

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

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

|

.. 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/dm/sh.svg?style=flat-square
    :target: https://pypi.python.org/pypi/sh
    :alt: Downloads Status
.. 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/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 3.8 - 3.12, 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 `_

`Full documentation on a single page for LLM-assisted coding 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

Docs
----

To build the docs, make sure you've run ``poetry install`` to install the dev dependencies, then::

    $> cd docs
    $> make html

This will generate the docs in ``docs/build/html``. You can open the ``index.html`` file in your browser to view the docs.

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.

Owner

  • Name: Andrew
  • Login: amoffat
  • Kind: user

Making a global gaming experience

GitHub Events

Total
  • Create event: 3
  • Release event: 1
  • Issues event: 18
  • Watch event: 191
  • Issue comment event: 44
  • Push event: 12
  • Pull request review event: 8
  • Pull request event: 24
  • Fork event: 10
Last Year
  • Create event: 3
  • Release event: 1
  • Issues event: 18
  • Watch event: 191
  • Issue comment event: 44
  • Push event: 12
  • Pull request review event: 8
  • Pull request event: 24
  • Fork event: 10

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 1,223
  • Total Committers: 106
  • Avg Commits per committer: 11.538
  • Development Distribution Score (DDS): 0.394
Past Year
  • Commits: 32
  • Committers: 12
  • Avg Commits per committer: 2.667
  • Development Distribution Score (DDS): 0.563
Top Committers
Name Email Commits
Andrew Moffat a****t@g****m 741
Andrew Moffat a****t@g****m 215
Erik Cederstrand e****k@c****k 56
EKC (Erik Cederstrand) e****c@n****m 22
Erik Cederstrand e****k@a****m 14
Jure j****a@g****m 10
John Kirkham k****j@j****g 6
Chris McClymont c****s@m****t 5
Felix Yan f****s@a****g 4
Dmitry Medvinsky d****y@g****m 4
Tim Gates t****s@i****m 4
Toshio Kuratomi a****r@g****m 4
garywei944 3****4 4
roryk r****r@g****m 4
sroet s****t@h****m 4
Elmar e****r@m****m 4
David D Lowe d****m@g****m 3
Marc Abramowitz m****c@m****m 3
Omer Katz o****w@g****m 3
thiswillbeyourgithub 2****b 3
Dusty Phillips d****y@b****m 3
Mike Lundy m****e@f****g 2
Miroslav Šedivý 6****o 2
Carl George c****l@g****r 2
Pat Pannuto p****o@g****m 2
David Barnett d****2@g****m 2
Augusto Henrique Hentz a****o@l****r 2
Alejandro Saucedo a****o@z****e 2
Hongxin Liang h****x@s****m 2
Семён Марьясин s****n@m****e 2
and 76 more...

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 109
  • Total pull requests: 80
  • Average time to close issues: 4 months
  • Average time to close pull requests: about 1 month
  • Total issue authors: 92
  • Total pull request authors: 41
  • Average comments per issue: 3.28
  • Average comments per pull request: 1.34
  • Merged pull requests: 66
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 12
  • Pull requests: 23
  • Average time to close issues: about 23 hours
  • Average time to close pull requests: about 21 hours
  • Issue authors: 12
  • Pull request authors: 10
  • Average comments per issue: 1.08
  • Average comments per pull request: 1.26
  • Merged pull requests: 19
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • amoffat (6)
  • mtelka (5)
  • kloczek (3)
  • hartmans (2)
  • iamjackg (2)
  • git-os (2)
  • hengruo (2)
  • jakirkham (2)
  • goerz (1)
  • lehnerpat (1)
  • roryk (1)
  • JacobHayes (1)
  • dhkim09a (1)
  • SuperSandro2000 (1)
  • 4JustMe4 (1)
Pull Request Authors
  • amoffat (17)
  • ecederstrand (10)
  • amoffatgmi (9)
  • Lewiscowles1986 (4)
  • thiswillbeyourgithub (4)
  • hartmans (4)
  • kloczek (2)
  • shadchin (2)
  • supriyo-biswas (2)
  • feanil (2)
  • carlwgeorge (2)
  • FliesLikeABrick (2)
  • axsaucedo (2)
  • DarkaMaul (1)
  • sroet (1)
Top Labels
Issue Labels
breaking change (5) docs (3) feature (2) bug (2) low priority (1) high priority (1) maintenance (1) not an sh issue (1)
Pull Request Labels

Packages

  • Total packages: 4
  • Total downloads:
    • pypi 11,049,290 last-month
  • Total docker downloads: 361,774,217
  • Total dependent packages: 202
    (may contain duplicates)
  • Total dependent repositories: 5,923
    (may contain duplicates)
  • Total versions: 63
  • Total maintainers: 2
pypi.org: sh

Python subprocess replacement

  • Versions: 49
  • Dependent Packages: 194
  • Dependent Repositories: 5,897
  • Downloads: 11,049,290 Last month
  • Docker Downloads: 361,774,217
Rankings
Dependent packages count: 0.1%
Dependent repos count: 0.1%
Downloads: 0.1%
Stargazers count: 0.3%
Docker downloads count: 0.4%
Average: 0.6%
Forks count: 2.3%
Maintainers (1)
Last synced: 6 months ago
conda-forge.org: sh
  • Versions: 5
  • Dependent Packages: 8
  • Dependent Repositories: 13
Rankings
Stargazers count: 4.1%
Average: 7.1%
Dependent packages count: 7.1%
Forks count: 7.3%
Dependent repos count: 9.7%
Last synced: 6 months ago
spack.io: py-sh

Python subprocess interface

  • Versions: 4
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Stargazers count: 1.5%
Forks count: 4.1%
Average: 15.7%
Dependent packages count: 57.3%
Maintainers (1)
Last synced: 6 months ago
anaconda.org: sh

sh is a full-fledged subprocess interface for Python that allows you to call any program as if it were a function.

  • Versions: 5
  • Dependent Packages: 0
  • Dependent Repositories: 13
Rankings
Stargazers count: 10.1%
Forks count: 15.4%
Average: 25.5%
Dependent repos count: 35.6%
Dependent packages count: 41.0%
Last synced: 6 months ago

Dependencies

.github/workflows/main.yml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/download-artifact v2 composite
  • actions/setup-python v2 composite
  • actions/upload-artifact v2 composite
  • pypa/gh-action-pypi-publish release/v1 composite
tests/Dockerfile docker
  • ubuntu bionic build
poetry.lock pypi
  • alabaster 0.7.12 develop
  • attrs 21.2.0 develop
  • babel 2.9.1 develop
  • black 23.1.0 develop
  • cachetools 5.3.0 develop
  • certifi 2022.12.7 develop
  • chardet 5.1.0 develop
  • charset-normalizer 2.0.4 develop
  • click 8.0.1 develop
  • colorama 0.4.6 develop
  • commonmark 0.9.1 develop
  • coverage 5.5 develop
  • coveralls 3.3.1 develop
  • distlib 0.3.6 develop
  • docopt 0.6.2 develop
  • docutils 0.18.1 develop
  • exceptiongroup 1.1.0 develop
  • filelock 3.9.0 develop
  • flake8 6.0.0 develop
  • idna 3.2 develop
  • imagesize 1.4.1 develop
  • importlib-metadata 4.8.1 develop
  • iniconfig 1.1.1 develop
  • jinja2 3.0.1 develop
  • markupsafe 2.0.1 develop
  • mccabe 0.7.0 develop
  • mypy 1.0.0 develop
  • mypy-extensions 0.4.3 develop
  • packaging 23.0 develop
  • pathspec 0.9.0 develop
  • platformdirs 3.0.0 develop
  • pluggy 1.0.0 develop
  • pycodestyle 2.10.0 develop
  • pydantic 1.9.2 develop
  • pyflakes 3.0.1 develop
  • pygments 2.14.0 develop
  • pyproject-api 1.5.0 develop
  • pytest 7.2.1 develop
  • pytz 2021.1 develop
  • requests 2.26.0 develop
  • rich 12.0.1 develop
  • rstcheck 6.1.1 develop
  • rstcheck-core 1.0.3 develop
  • setuptools 67.2.0 develop
  • shellingham 1.5.0.post1 develop
  • snowballstemmer 2.1.0 develop
  • sphinx 6.1.3 develop
  • sphinx-rtd-theme 1.2.0 develop
  • sphinxcontrib-applehelp 1.0.2 develop
  • sphinxcontrib-devhelp 1.0.2 develop
  • sphinxcontrib-htmlhelp 2.0.0 develop
  • sphinxcontrib-jquery 2.0.0 develop
  • sphinxcontrib-jsmath 1.0.1 develop
  • sphinxcontrib-qthelp 1.0.3 develop
  • sphinxcontrib-serializinghtml 1.1.5 develop
  • tomli 2.0.1 develop
  • tox 4.4.5 develop
  • typer 0.7.0 develop
  • types-docutils 0.19.1.3 develop
  • typing-extensions 3.10.0.2 develop
  • urllib3 1.26.6 develop
  • virtualenv 20.19.0 develop
  • zipp 3.5.0 develop
pyproject.toml pypi
  • python >=3.8.1,<4.0
docs/requirements.txt pypi
  • toml ==0.10.2