Skip to main content

fab-classic is a simple, Pythonic tool for remote execution and deployment.

Project description

fab-classic is a Python (2.7 or 3.4+) library and command-line tool for streamlining the use of SSH for application deployment or systems administration tasks.

fab-classic is forked from Fabric 1.14 and is intended to add only bug fixes and compatibility patches, for projects already using Fabric-1.x in some way. It includes python3 compatibility patches from Fabric3.

Upstream Fabric is now on version 2.x. Fabric-2.x is python3 compatible, and comes after Fabric3. Fabric-2.x has significant compatibility-breaking changes, in order to fix some long-standing limitations.

Install

https://travis-ci.org/ploxiln/fab-classic.svg?branch=master

fab-classic is on PyPI, so you can pip install fab-classic

Be sure to pip uninstall Fabric if you happen to have it installed, because fab-classic uses the same import name “fabric” and entrypoint (tool) name “fab”.

Starting with version 1.16, fab-classic depends on paramiko-ng instead of paramiko. Both of those packages are imported with the name paramiko, and unfortunately that means that you should make sure you uninstall paramiko before paramiko-ng is installed, or you will get strange issues (even if things seem to work at first). So, if upgrading, please first run: pip uninstall paramiko

Documentation

API Documentation: https://ploxiln.github.io/fab-classic/

New Changelog: https://github.com/ploxiln/fab-classic/releases

Old Changelog: https://ploxiln.github.io/fab-classic/old_changelog.html

For a quick command reference, run fab --help

Usage Introduction

fab-classic 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')

If you save the above as fabfile.py (the default module that fab loads), you can run the tasks defined in it 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 the paramiko-ng library (which Fabric itself uses).

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fab-classic-1.17b1.tar.gz (214.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fab_classic-1.17b1-py2.py3-none-any.whl (92.1 kB view details)

Uploaded Python 2Python 3

File details

Details for the file fab-classic-1.17b1.tar.gz.

File metadata

  • Download URL: fab-classic-1.17b1.tar.gz
  • Upload date:
  • Size: 214.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.20.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.6

File hashes

Hashes for fab-classic-1.17b1.tar.gz
Algorithm Hash digest
SHA256 e1d430025bec9d6946ad67ee275502451b8230ecfdb8e9a1be4ec6f289b8d1a6
MD5 62b0c86706e3704d755cf9947c3d1a11
BLAKE2b-256 d9611a7593faa080a05932320cdde6028bc8a1d42cd206656f83052aee9c9e42

See more details on using hashes here.

File details

Details for the file fab_classic-1.17b1-py2.py3-none-any.whl.

File metadata

  • Download URL: fab_classic-1.17b1-py2.py3-none-any.whl
  • Upload date:
  • Size: 92.1 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.20.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.6

File hashes

Hashes for fab_classic-1.17b1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 5dfb540f8115302e404d7bbf1b476a49b70fc6197dec5b67c5d7414b66a69e92
MD5 cfaeedfd892dfbf733160cb9bd07fb43
BLAKE2b-256 220799ccf1fcb31a25e4fca2b85552be83f0aab699bbbe7f8e847d391aa11eb1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page