public
Description: Simple, Pythonic remote execution and deployment
Homepage: http://fabfile.org
Clone URL: git://github.com/bitprophet/fabric.git
fabric / README
100644 38 lines (28 sloc) 1.462 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
**PLEASE NOTE:** This is a release-candidate release of Fabric and is not
intended for use in production. However, please do test it out on non-critical
systems and let us know of any issues you encounter. **END NOTE**
 
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.)