Skip to main content

A CLI tool to manage and sync SSH connections via Git

Project description

Swan SSH 🦢

A simple, fast, and beautiful CLI tool to manage and synchronize SSH connections seamlessly across all your devices using a private Git repository. Made with Python, Typer, and Rich.

Installation

The recommended way to install Swan SSH is via pipx. This ensures it's installed in an isolated environment without disturbing your system's Python packages.

pipx install swan-ssh

⚠️ Important Note on pipx PATH: If you see a warning saying ~/.local/bin is not on your PATH, you simply need to run:

pipx ensurepath

Then close and reopen your terminal. Your swan command will now be globally available!

Usage Flow

  1. Initialize the workspace: First, create a private GitHub repository. Then, run swan init and paste its URL.

    swan init
    
  2. Add a Server:

    swan add
    # Prompts for label, ip, port, username, password
    # Automatically commits and pushes to your private repo behind the scenes!
    
  3. List Servers: Brings up a beautiful formatting table of your servers.

    swan list
    
  4. Connect Instantly: Using the short ID from the list command.

    swan connect <id>
    
  5. Sync from Another Device: Installed Swan on your Macbook? Just run:

    swan init
    # Provide the same repo URL
    swan sync
    # Ready to connect!
    
  6. Remove a Server:

    swan rm <id>
    
  7. Clean up & Uninstall: If you ever want to completely remove the configuration directory (~/.swan-ssh) before uninstalling the tool, use:

    swan destroy
    pipx uninstall swan-ssh
    

Project details


Download files

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

Source Distribution

swan_ssh-1.0.1.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

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

swan_ssh-1.0.1-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

Details for the file swan_ssh-1.0.1.tar.gz.

File metadata

  • Download URL: swan_ssh-1.0.1.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for swan_ssh-1.0.1.tar.gz
Algorithm Hash digest
SHA256 509d63bef4db76fde55c396537b9ba82de97441e91103cc75b6717fa652b4b78
MD5 b54d6933adce56e7b176742b5a144eac
BLAKE2b-256 d43cc4f84b3a55869f935c8286e4a4ad293ac7d1ca9fdc79d2a2273db5605a2a

See more details on using hashes here.

File details

Details for the file swan_ssh-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: swan_ssh-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 8.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for swan_ssh-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 980fd37fe9e17a17b16758b585cf192aea500aa219b93a11b8474e6f801fb85c
MD5 92f2f52d8d58894494b68c0adcd4fc96
BLAKE2b-256 ce8a432fb09dc5d694d46b51e3b752107cf3507908767e495be40753d89cc922

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