Fabric is a simple, Pythonic tool for remote execution and deployment
Fabric is a Python (2.5 or higher) 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 tool, 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.)
- Developed at devel:languages:python
- Sources inherited from project openSUSE:Factory
-
4
derived packages
- Download package
-
Checkout Package
osc -A https://api.opensuse.org checkout openSUSE:Backports:SLE-15-SP4:FactoryCandidates/python-Fabric && cd $_
- Create Badge
Source Files
Filename | Size | Changed |
---|---|---|
fabric-2.4.0.tar.gz | 0000156850 153 KB | |
python-Fabric.changes | 0000039859 38.9 KB | |
python-Fabric.spec | 0000003306 3.23 KB |
Revision 30 (latest revision is 45)
- Version update to 2.4.0: * [Feature] #1709: Add Group.close to allow closing an entire group’s worth of connections at once. Patch via Johannes Löthberg. * [Feature] #1780: Add context manager behavior to Group, to match the same feature in Connection. Feature request by István Sárándi. * [Feature] #1849: Add Connection.from_v1 (and Config.from_v1) for easy creation of modern Connection/Config objects from the currently configured Fabric 1.x environment. Should make upgrading piecemeal much easier for many use cases. - additional changes from version 2.3.2: * [Bug] #1852: Grant internal Connection objects created during ProxyJump based gateways/proxies a copy of the outer Connection’s configuration object. This was not previously done, which among other things meant one could not fully disable SSH config file loading (as the internal Connection objects would revert to the default behavior). Thanks to Chris Adams for the report. * [Bug]: Some debug logging was reusing Invoke’s logger object, generating log messages “named” after invoke instead of fabric. This has been fixed by using Fabric’s own logger everywhere instead. * [Bug] #1850: Skip over ProxyJump configuration directives in SSH config data when they would cause self-referential RecursionError (e.g. due to wildcard-using Host stanzas which include the jump server itself). Reported by Chris Adams. * [Bug]: Fix a bug preventing tab completion (using the Invoke-level --complete flag) from completing task names correctly (behavior was to act as if there were never any tasks present, even if there was a valid fabfile nearby). - Add sed expresion to spec file to remove all vendoring from imports - Run testsuite using the new %pytest macro
Comments 0