# Install fabric with Homebrew, apk, apt, MacPorts, Nix, pacman, winget

Library and command-line tool for SSH. Version 3.2.3 via Homebrew; verified 2026-05-11.

## Install

```sh
sudo av install brew:fabric
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install fabric
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install fabric
```

  Evidence: MacPorts ports tree: llm/fabric/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add fabric
```

  Evidence: Alpine Linux edge package indexes: fabric from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install fabric
```

  Evidence: Debian stable package indexes: fabric from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- Nix (92%):

```sh
nix profile install nixpkgs#Fabric
```

  Evidence: nixpkgs package indexes: Fabric from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix

- pacman (92%):

```sh
sudo pacman -S fabric
```

  Evidence: Arch Linux sync databases: fabric from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

### Windows

- winget (92%):

```sh
winget install --id FabricMC.FabricInstaller -e
```

  Evidence: Windows Package Manager source index: FabricMC.FabricInstaller from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:fabric
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/fabric>
- **Version:** 3.2.3
- **Source summary:** Library and command-line tool for SSH
- **Homepage:** <https://www.fabfile.org/>
- **Repository:** <https://github.com/fabric/fabric>
- **Upstream docs:** <https://docs.fabfile.org/>
- **License:** BSD-2-Clause
- **Source archive:** <https://files.pythonhosted.org/packages/e3/7e/29cd6237c3b7ce79c3ca945eb99ab5affd101db54b2f7a78dde0cfa19fd4/fabric-3.2.3.tar.gz>
- **Last updated:** 2026-05-11T11:37:38Z
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- fab (cli)
- fab (alias)

## Dependencies

- cryptography
- libsodium
- python@3.14

## Build dependencies

- pkgconf
- rust

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 3.2.3
- Package-manager updated: 2026-05-11
- Local data: ok
- Upstream repository: https://www.fabfile.org/
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

Fabric is the Python `fab` tool and library for running commands over SSH, historically popular for deployment and remote administration.

### Project history

Fabric began as a Pythonic remote execution and deployment tool built around `fabfile` tasks. Its current website describes Fabric as a high-level Python library for executing shell commands remotely over SSH and returning useful Python objects.

The 1.x line became a common deployment-era tool for Python projects because it let teams write Python functions as remote tasks and invoke them with the `fab` command. Its legacy changelog shows the 1.0 series active in 2011, including task execution, parallel execution, host and role handling, file transfer, sudo, and other features associated with classic fabfiles.

Fabric 2.0, released in May 2018, was a major rewrite. The official upgrade guide calls modern Fabric a near-total reimplementation and reorganization: task execution and local command behavior moved toward Invoke, while SSH behavior was organized around explicit `Connection` and `Config` objects on top of Paramiko.

The modern 3.x line continues that architecture. The current changelog explicitly warns users that Fabric is largely a wrapper around Paramiko and Invoke, so capabilities may improve when those dependencies improve.

### Adoption history

Fabric's adoption was strongest when Python teams wanted deployment automation without a full configuration-management system. A `fab deploy` command in a repository could run shell commands, copy files, restart services, or coordinate multiple hosts using ordinary Python.

The long-lived 1.x line created a migration challenge of its own. The project kept legacy documentation and eventually merged the `fabric3` fork back into the v1 branch in 2022 so users could port old Fabric 1 code to Python 3 before deciding whether to move to Fabric 2+.

Modern Fabric has a different adoption profile: it is less magic global state and more explicit SSH library plus task runner integration. The official upgrade docs even suggest that users who only used Fabric 1 for local tasks can sidegrade to Invoke instead.

### How it is used

In modern Fabric, users create `Connection` objects and call methods like `run`, or define tasks that can be invoked by the `fab` CLI. The docs show single-host commands, serial or grouped multi-host commands, Python functions targeted at connections, file transfer, and integration with Invoke's task model.

In legacy usage, users wrote fabfiles and called named tasks from the shell. In modern usage, the same broad goal remains, but configuration, SSH auth, gateways, command execution, and task composition are more explicit and object-oriented.

### Why package nerds care

Fabric is package-nerd significant because `brew install fabric` installs a Python deployment classic whose command name, `fab`, was once shorthand for lightweight SSH automation. It represents the era before containers and orchestrators absorbed much deployment scripting.

It is also a naming-collision case study. The Homebrew `fabric` formula is the Python SSH tool, while `fabric-ai` and `fabric-installer` are unrelated packages that happen to share the same display name in different ecosystems.

### Timeline

- 2009: The Fabric GitHub repository is created.
- 2011: Fabric 1.0.x releases document the mature classic fabfile era.
- 2018: Fabric 2.0.0 ships as a rewrite.
- 2022: Fabric 1.15.0 merges the fabric3 fork back into the v1 branch for Python 3 migration.
- 2023: Fabric 3.0.0 drops Python versions older than 3.6 and continues the modern architecture.
- 2026: Fabric 3.2.3 updates packaging metadata for Invoke compatibility.

### Related projects

- Paramiko provides Fabric's SSH protocol layer.
- Invoke provides subprocess execution and command-line task features used by modern Fabric.
- Patchwork and Invocations are optional companion libraries mentioned by the official docs.

### Sources

- <https://api.github.com/repos/fabric/fabric>
- <https://github.com/fabric/fabric>
- <https://www.fabfile.org/>
- <https://docs.fabfile.org/>
- <https://www.fabfile.org/changelog.html>
- <https://www.fabfile.org/changelog-v1.html>
- <https://www.fabfile.org/upgrading.html>


## Security Notes

No matching local secret-handling manifest was found for fabric. Nucleus package metadata is still published here so future coverage has a stable package URL.


## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** fabric
- **Version Scheme:** 0
- **Revision:** 1
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - fabric - 2.6.0-4: normalized package name match | Debian stable package indexes: fabric from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Simple Pythonic remote deployment tool | https://fabfile.org/
- Debian apt - python3-fabric - 2.6.0-4: normalized package name match | Debian stable package indexes: python3-fabric from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Simple Pythonic remote deployment tool - standalone module | https://fabfile.org/
- Nix - Fabric: normalized package name match | nixpkgs package indexes: Fabric from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
- Ubuntu apt - fabric - 2.6.0-1: normalized package name match | Ubuntu 24.04 LTS package indexes: fabric from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Simple Pythonic remote deployment tool | https://fabfile.org/
- Ubuntu apt - python3-fabric - 2.6.0-1: normalized package name match | Ubuntu 24.04 LTS package indexes: python3-fabric from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Simple Pythonic remote deployment tool - standalone module | https://fabfile.org/
- apk - fabric - 3.2.2-r2: normalized package name match | Alpine Linux edge package indexes: fabric from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | simple pythonic remote deployment tool | https://www.fabfile.org/
- apk - fabric-pyc - 3.2.2-r2: normalized package name match | Alpine Linux edge package indexes: fabric-pyc from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Precompiled Python bytecode for fabric | https://www.fabfile.org/
- pacman - fabric - 3.2.3-1: normalized package name match | Arch Linux sync databases: fabric from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Python library and command-line tool designed to streamline deploying applications or performing system administration tasks via the SSH protocol | https://www.fabfile.org/
- MacPorts - fabric: normalized package name match | MacPorts ports tree: llm/fabric/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- winget - FabricMC.FabricInstaller: normalized package name match | Windows Package Manager source index: FabricMC.FabricInstaller from https://cdn.winget.microsoft.com/cache/source.msix
- winget - danielmiessler.Fabric: normalized package name match | Windows Package Manager source index: danielmiessler.Fabric from https://cdn.winget.microsoft.com/cache/source.msix


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Language runtime packages](https://www.automicvault.com/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [python@3.14](https://www.automicvault.com/pkg/brew/python-3-14/) - Runtime dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [rust](https://www.automicvault.com/pkg/brew/rust/) - Build dependency declared by Homebrew.
- [deployer](https://www.automicvault.com/pkg/brew/deployer/) - Shares av.db curated category or tags: cli, deployment, developer-tools.
- [doubledown](https://www.automicvault.com/pkg/brew/doubledown/) - Shares av.db curated category or tags: cli, deployment, developer-tools.
- [git-ftp](https://www.automicvault.com/pkg/brew/git-ftp/) - Shares av.db curated category or tags: cli, deployment, developer-tools.
- [kamal-proxy](https://www.automicvault.com/pkg/brew/kamal-proxy/) - Shares av.db curated category or tags: cli, deployment, developer-tools.
- [kapp](https://www.automicvault.com/pkg/brew/kapp/) - Shares av.db curated category or tags: cli, deployment, developer-tools.
- [kargo](https://www.automicvault.com/pkg/brew/kargo/) - Shares av.db curated category or tags: cli, deployment, developer-tools.
- [modman](https://www.automicvault.com/pkg/brew/modman/) - Shares av.db curated category or tags: cli, deployment, developer-tools.
- [netlify-cli](https://www.automicvault.com/pkg/brew/netlify-cli/) - Shares av.db curated category or tags: cli, deployment, developer-tools.
- [shub](https://www.automicvault.com/pkg/brew/shub/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, command-line, deployment, developer, developer-tools.
- [howdoi](https://www.automicvault.com/pkg/brew/howdoi/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, command-line, cryptography, developer, developer-tools.
- [langgraph-cli](https://www.automicvault.com/pkg/brew/langgraph-cli/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, command-line, deployment, developer, developer-tools.

## Combined YAML source

View the package source record on GitHub. [combined/fabric.yml](https://github.com/automic-vault/db/blob/main/combined/fabric.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
