shell

A better way to run shell commands in Python.

https://github.com/toastdriven/shell

Science Score: 10.0%

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

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 5 committers (20.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (7.0%) to scientific vocabulary
Last synced: 11 months ago · JSON representation

Repository

A better way to run shell commands in Python.

Basic Info
Statistics
  • Stars: 160
  • Watchers: 12
  • Forks: 50
  • Open Issues: 1
  • Releases: 0
Created about 13 years ago · Last pushed over 6 years ago
Metadata Files
Readme Contributing License

README.rst

=====
shell
=====

"""A better way to run shell commands in Python."""

Built because every time I go to use `subprocess`_, I spend more time in the
docs & futzing around than actually implementing what I'm trying to get done.

.. _`subprocess`: http://docs.python.org/2.7/library/subprocess.html

Full docs are at https://shell.readthedocs.org/en/latest/.


Requirements
============

* Python 2.6+ or Python 3.3+


Usage
=====

If you just need to quickly run a command, you can use the ``shell`` shortcut
function::

    >>> from shell import shell
    >>> ls = shell('ls')
    >>> for file in ls.output():
    ...     print file
    'another.txt'

If you need to extend the behavior, you can also use the ``Shell`` object::

    >>> from shell import Shell
    >>> sh = Shell(has_input=True)
    >>> cat = sh.run('cat -u')
    >>> cat.write('Hello, world!')
    >>> cat.output()
    ['Hello, world!']

You can even chain calls if you'd like::

    >>> from shell import shell
    >>> shell('cat -u', has_input=True).write('Hello, world!').output()
    ['Hello, world!']


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

Using ``pip``, simply run::

    pip install shell


License
=======

New BSD

Owner

  • Name: Daniel Lindsley
  • Login: toastdriven
  • Kind: user
  • Location: Lawrence, KS
  • Company: @sixfeetup

I program computers, make music, play games, curate animated gifs. Allergic to seriousness. He/Him

GitHub Events

Total
Last Year

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 12
  • Total Committers: 5
  • Avg Commits per committer: 2.4
  • Development Distribution Score (DDS): 0.583
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Daniel Lindsley d****l@t****m 5
Brandon Istenes b****s@s****e 4
Ryan Brown r****b@c****u 1
Jason 1****5@q****m 1
Jeff Triplett j****t@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 0
  • Total pull requests: 6
  • Average time to close issues: N/A
  • Average time to close pull requests: 3 days
  • Total issue authors: 0
  • Total pull request authors: 5
  • Average comments per issue: 0
  • Average comments per pull request: 1.17
  • Merged pull requests: 4
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • brandones (2)
  • wang-borong (1)
  • sblondon (1)
  • jefftriplett (1)
  • ryansb (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 49,753 last-month
  • Total docker downloads: 685
  • Total dependent packages: 2
  • Total dependent repositories: 162
  • Total versions: 2
  • Total maintainers: 1
pypi.org: shell

A better way to run shell commands in Python.

  • Versions: 2
  • Dependent Packages: 2
  • Dependent Repositories: 162
  • Downloads: 49,753 Last month
  • Docker Downloads: 685
Rankings
Dependent repos count: 1.2%
Downloads: 1.7%
Docker downloads count: 2.4%
Average: 3.6%
Dependent packages count: 4.7%
Stargazers count: 5.7%
Forks count: 5.8%
Maintainers (1)
Last synced: 11 months ago