public
Description: Simple, Pythonic remote execution and deployment
Homepage: http://fabfile.org
Clone URL: git://github.com/bitprophet/fabric.git
bitprophet (author)
Fri Oct 30 12:04:36 -0700 2009
commit  51e9b92c7e24ca0765c81e4e3b09a679e7cd69fc
tree    0541a4f52d3b1497e74bde130c6c00433b1f0ebb
parent  e30b6f834044424102e20ab5306f6f15e54f7791
fabric /
README
Fabric is a Python library and command-line tool designed to streamline
deploying applications or performing system administration tasks via SSH.

It provides a basic suite of operations for executing local or remote shell
commands (normally or via ``sudo``) and uploading/downloading files, as well as
auxiliary functionality such as prompting the running user for input, or
aborting execution.
 
Typical use involves creating a Python module containing one or more functions,
then executing them via the ``fab`` command-line tool. Below is a small but
complete "fabfile" containing a single task::

    from fabric.api import run

    def host_type():
        run('uname -s')

Once a task is defined, it may be run on one or more servers, like so::

    $ fab -H localhost,linuxbox host_type
    [localhost] run: uname -s
    [localhost] out: Darwin
    [linuxbox] run: uname -s
    [linuxbox] out: Linux

    Done.
    Disconnecting from localhost... done.
    Disconnecting from linuxbox... done.

In addition to use via the ``fab`` fool, Fabric's components may be imported
into other Python code, providing a Pythonic interface to the SSH protocol
suite at a higher level than that provided by e.g. Paramiko (which
Fabric itself leverages.)