skip to navigation
skip to content

chut 0.16

Small tool to interact with shell and pipes


Chut is a small tool to help you to interact with shell pipes and commands.

Basically it will help to write some shell script in python

This is more like a toy than a real tool but… It may be useful sometimes.

It’s tested with py2.6+ and py3.2+:

Full documentation can be found here

Quick quick start

Get the chutify script:

$ wget
$ chmod +x chutify

Write a console script:

$ cat << EOF >
from chut import *

__version__ = '0.1'

def mycmd(args):
    """Usage: %prog [options] <directory>

    Print all chut scripts found in <directory>


    for filename in find('-name *.py') | grep('@console_script'):

Run chutify in development mode:

$ ./chutify --devel
chmod +x bin/mycmd

And use/debug the newly created script:

$ ./bin/mycmd -h

When your script is ready for production then generate the standalone version:

$ ./chutify
chmod +x dist/scripts/mycmd

Also have a look at the examples.


Using pip:

$ pip install chut

This will also install docopt and allow you to use the @console_script decorator.

Another option is to get chutify standalone version:

$ wget
$ chmod +x chutify

Quick start

Import the shell:

>>> import chut as sh

Get a file content if it contains “Chut”:

>>> grep_chut ='README.rst') | sh.grep('Chut')
>>> if grep_chut:
...     print(grep_chut | sh.head("-n1"))

Redirect output to a file:

>>> ret = (grep_chut | sh.head("-n1")) > '/tmp/chut.txt'
>>> ret.succeeded
>>> print('/tmp/chut.txt'))

Or to stdout:

>>>'/tmp/chut.txt') > 1  # doctest: +SKIP

Redirect stdout to stderr:

>>>'/tmp/chut.txt') > 2  # doctest: +SKIP

Run many command with a pool of processes:

>>> [ret.succeeded for ret in['.', ['-l', '/tmp']])]
[True, True]

Use docopt to write a console script. This script will take an iface as argument and return a code 1 if no address is found:

>>> @sh.console_script
... def got_inet_addr(args):
...     """Usage: got_inet_addr <iface>"""
...     if sh.ifconfig(args['<iface>']) | sh.grep('inet addr:'):
...         return 1
File Type Py Version Uploaded on Size
chut-0.16-py2-none-any.whl (md5) Python Wheel py2 2016-04-20 24KB
chut-0.16.tar.gz (md5) Source 2016-04-20 479KB
  • Downloads (All Versions):
  • 0 downloads in the last day
  • 0 downloads in the last week
  • 709 downloads in the last month