Skip to main content

A CLI tool to manage and sync SSH connections via Git

Project description

Swan SSH 🦢

GitHub stars PyPI Downloads

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.3.tar.gz (8.5 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.3-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: swan_ssh-1.0.3.tar.gz
  • Upload date:
  • Size: 8.5 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.3.tar.gz
Algorithm Hash digest
SHA256 d48c0981b4be3d22e7be8199eb6686d412d05d1a46cd4858b0f64b1a113de2c6
MD5 b70c598198676d4ffccd3b0c5aa395a0
BLAKE2b-256 f62532b8748b02738dd4cbcffc3999a359074aa7b60a7dc73bd951c90e834aeb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: swan_ssh-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 8.9 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 4727a282a86b0fb998cc3448832bc02fa107e75296189701254cc2e383e95c36
MD5 ca3c38551684d6eaf4c7afbedf0745db
BLAKE2b-256 0709c3d9e698e2b6063d9fcd1e4339d2df7c0a6da6eb6424ea958c65c333efee

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