Plush
A helper library for Fabric to simplify creating and managing GitHub deploy keys when deploying your GitHub-hosted repository. Currently, Plush is tested on Ubuntu 24.04 LTS and 26.04 LTS.
Plush aims to make deployments easier by:
- Using OAuth flows to securely connect to the GitHub API on your behalf (while supporting 2 factor auth and never handling your username/password)
- Generating SSH deploy keys on your target server/computer
- Registering these deploy keys with your GitHub repo programmatically
- Configuring your new clone to use the appropriate deploy key while not conflicting with other SSH keys used elsewhere on your server
- ACL'ing these keys so they can be reused by people to fetch/deploy on your behalf (and not readable by anyone else on the server)
- Example PowerShell scripts are provided that give tab completion around fab.exe
To see this project in action, follow the directions in Setup-Dev-Environment.md. You will need access to an Ubuntu 24.04 or 26.04 machine (ideally a VM).
Usage
This project is intended to be used by projects that use or are considering Fabric for their deployments. Plush versions 1.0 and greater expect Fabric 3.2.2 and greater. In a project that uses Fabric, install Plush by running:
pip install plush-fabric
To get started, see the fabfile.py in this repo for a minimal usage of Plush. For a more complete example, see my BaseDjangoAngular template.
Metadata
Release files for plush-fabric 1.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| plush_fabric-1.2.1.tar.gz | 12.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| plush_fabric-1.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 27.1 kB
Release files / plush_fabric-1.2.1.tar.gz
| Download URL | plush_fabric-1.2.1.tar.gz |
|---|---|
| Size | 12.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
86d8d6673a2e61199cd2cfa1a30f8a4c39996bc886e56e7362cf080d1be325fd
|
|
BLAKE2b-256 checksum How to use checksums |
1d125693bea04f8b5bbdb88d2d35a3ccce79960e20a723a53cd65de5294b4c28
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.
Transparency logRelease files / plush_fabric-1.2.1-py3-none-any.whl
| Download URL | plush_fabric-1.2.1-py3-none-any.whl |
|---|---|
| Size | 14.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
24e4af6bb47ec20622e916c6387e387fb1f9fab6b7d5198978af8d1702212a46
|
|
BLAKE2b-256 checksum How to use checksums |
07ea10c4d7b3b3636ac43c1e8da8b02563c9fad283d6cee74b99148789cecf7a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.
Transparency log