bitprophet / fabric

Simple, Pythonic remote execution and deployment

This URL has Read+Write access

bitprophet (author)
Mon Nov 09 17:21:21 -0800 2009
commit  1fb2eda268d3a92441b209a642590e8c0eeee1a9
tree    092dac2d3ac25e7a2c10a6710e4c1ef92cb19e6f
parent  6244dd88386520204efbaabcaf1c386fa99aa4c9 parent  9d9f653bf6b6191f6d135cd3c3bc4bbd0c66bc03
fabric /
name age message
file .gitignore Sun Nov 08 07:46:10 -0800 2009 Add distutils' dist dir to .gitignore [bitprophet]
file AUTHORS Sun Oct 25 20:07:40 -0700 2009 More pre-release cleanup. [bitprophet]
file FAQ Sun Oct 25 20:08:03 -0700 2009 Add FAQ question re: passphrase/password prompt [bitprophet]
file INSTALL Sun Oct 25 20:07:40 -0700 2009 More pre-release cleanup. [bitprophet]
file LICENSE Sat Apr 18 12:54:51 -0700 2009 License switch to BSD; setup.py updated; versio... [bitprophet]
file MANIFEST.in Sun Nov 08 07:46:00 -0800 2009 Update MANIFEST to work with distutils, re #67 [bitprophet]
file README Wed Nov 04 15:09:48 -0800 2009 Remove RC note that got merged in [bitprophet]
directory docs/ Loading commit data...
file fabfile.py Sun Nov 08 16:38:37 -0800 2009 Add release task and related tasks. [bitprophet]
directory fabric/ Sun Nov 08 16:47:11 -0800 2009 Cut 0.9 final [bitprophet]
directory paramiko/ Sun Oct 25 18:21:16 -0700 2009 First stab at vendorizing Paramiko 1.7.4 [bitprophet]
file requirements.txt Sun Oct 25 18:21:16 -0700 2009 First stab at vendorizing Paramiko 1.7.4 [bitprophet]
file setup.py Sun Nov 08 15:17:23 -0800 2009 Clean up version mechanisms to be more readable. [bitprophet]
directory tests/ Sun Nov 08 15:17:23 -0800 2009 Clean up version mechanisms to be more readable. [bitprophet]
README
Fabric is a Python library and command-line tool for streamlining the use of
SSH for application deployment or systems administration tasks.

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.)