EVERYTHING XIAOMI
Get listed

Fabric

Fabric is a free, open-source Python library for running shell commands remotely over SSH and receiving results as Python objects.

Place
#17 of 25
Score
5.7
Fabric's website

What Fabric is

Fabric is a free, open-source Python library for running shell commands remotely over SSH and receiving results as Python objects. It can target one host or multiple hosts, with serial and parallel execution approaches. Users can also run Python functions or code blocks against individual connections or across several hosts. Fabric makes Python tasks available through the `fab` command-line tool, which supports task parameters and pre- or post-tasks; a comma-separated host list can be used for serial task execution. It builds on Invoke for subprocess and command-line features and Paramiko for SSH protocol support. Documented authentication options include private key files, SSH agents, and passwords. The installation guide recommends `pip install fabric` and lists Python, Invoke, and Paramiko as requirements. The project says modern Fabric can be installed alongside Fabric 1 to support a gradual upgrade. Fabric is listed for Linux, macOS, and Windows. Its documentation notes that each `run` or `sudo` call uses a separate remote shell session, so directory changes do not persist between calls.

Good

  • Free and open source
  • Supports serial and parallel multi-host execution
  • Accepts SSH keys, agents, and passwords
  • Runs Python tasks through the `fab` command

Watch out

  • Each `run` or `sudo` call has its own shell session
  • Adds no GSSAPI support beyond Paramiko's parameters
  • Requires Python, Invoke, and Paramiko

Who it suits

Fabric suits Python users who need to automate shell commands over SSH across one or more hosts. It may also fit teams that want to move from Fabric 1 gradually.

Verdict

Fabric brings remote SSH commands and Python task execution together for command-line workflows. Keep its separate-shell behavior in mind when structuring commands.

The facts

Each one read from Fabric's own pages, with the date it was checked.

What it does

CLI host option
The `fab` command supports a comma-separated host list for serial task execution.checked 4 Oct 2001
CLI tasks
Fabric integrates with Invoke so Python functions can be exposed as command-line tasks through the `fab` command.checked 8 Oct 2001
Command-line tasks
Fabric exposes Python tasks through the `fab` command-line tool, with support for task parameters and pre- or post-tasks.checked 4 Oct 2001
Dependencies
Fabric builds on Invoke for command execution and task features, and Paramiko for SSH.checked 8 Oct 2001
Downloads
Source archives are available through the project’s PyPI page, which also serves as the entry point for pip installation.checked 8 Oct 2001
GSSAPI limit
Fabric says it adds no extra GSSAPI support beyond Paramiko’s existing connection parameters.checked 4 Oct 2001
Host execution
Fabric supports running commands on individual hosts and across multiple hosts, including serial and parallel approaches.checked 4 Oct 2001
Installation
The project recommends installing Fabric with `pip install fabric`.checked 8 Oct 2001
Legacy compatibility
The `fabric2` package lets users install modern Fabric alongside Fabric 1, while the project says `fabric3` is an unauthorized fork it does not control.checked 8 Oct 2001
Limit
Each `run` or `sudo` call uses its own remote shell session, so commands such as `cd` do not persist between calls.checked 8 Oct 2001
Maintainer
The project’s development team is headed by Jeff Forcier, and the site copyright identifies Jeff Forcier.checked 8 Oct 2001
Multi-host execution
It can run commands and Python code on individual hosts or across multiple hosts, serially or in parallel.checked 8 Oct 2001
Purpose
Fabric is a Python library for running shell commands remotely over SSH and returning Python objects.checked 8 Oct 2001
Python tasks
Users can run Python functions or code blocks against individual connections or multiple hosts.checked 4 Oct 2001
Requirements
The installation guide lists Python, Invoke, and Paramiko as installation requirements.checked 4 Oct 2001
Security configuration
Fabric defaults remote commands to a clean environment instead of copying the local process environment, to avoid leaking local environment data.checked 8 Oct 2001
SSH authentication
Fabric supports SSH key files, SSH agents, and password authentication through its connection configuration.checked 8 Oct 2001
Support
The project recommends its fab-user mailing list for usage help and also points users to GitHub Issues for bugs.checked 8 Oct 2001
Supported environment
The installation page lists Python 2.7 or 3.4+ as requirements, alongside Invoke and Paramiko.checked 8 Oct 2001
Upgrade path
The project says modern Fabric can be installed alongside Fabric 1 to allow users to upgrade at their own pace.checked 4 Oct 2001
What it does
Fabric is a Python library for running shell commands remotely over SSH and returning Python objects.checked 4 Oct 2001

Alternatives to Fabric

All alternatives
  1. 1Puppet logo

    Puppet

    Free planOpen sourceWebAPILinuxmacOS
    8.3From $120 a month
  2. 2Rudder logo

    Rudder

    Free planOpen sourceWebAPILinuxSelf-hosted
    8.2From $3.33 a month
  3. 3CFEngine logo

    CFEngine

    Free planOpen sourceWebAPILinuxmacOS
    7.7Free plan
  4. 4Uyuni logo

    Uyuni

    Free planOpen sourceWebAPILinuxSelf-hosted
    7.4Free plan
  5. 5Google Cloud VM Manager logo

    Google Cloud VM Manager

    Free planWebAPILinuxWindows
    7.1Free plan
  6. 6Salt logo

    Salt

    Free planAPILinuxmacOSSelf-hosted
    7.0Free plan