Skip to main content

No project description provided

Project description

hop3-cli

Command-line interface for interacting with Hop3 servers.

Overview

hop3-cli is a thin client that communicates with hop3-server via JSON-RPC over HTTP or SSH tunneling. It provides a familiar Heroku-like CLI experience for deploying and managing applications.

Features

  • Application management: Deploy, start, stop, restart, and scale applications
  • Environment variables: Securely manage app configuration
  • Log streaming: View real-time application logs
  • Addon management: Provision and manage backing services (PostgreSQL, Redis, MySQL)
  • SSH tunneling: Secure communication with remote servers
  • Multiple output formats: Human-readable, JSON, or quiet mode

Installation

pip install hop3-cli

Quick Start

# Initialize connection to a Hop3 server
hop3 init user@hop3.example.com

# Or configure via environment
export HOP3_API_URL="ssh://user@hop3.example.com"

# List applications
hop3 apps

# View application logs
hop3 app:logs myapp

# Set environment variables
hop3 config:set myapp KEY=value

Configuration

Configuration can be set via environment variables or config file (~/.config/hop3-cli/config.toml).

Variable Description Default
HOP3_API_URL Server URL (HTTP or SSH) -
HOP3_API_TOKEN Authentication token -
HOP3_DEV_MODE Enable development mode false

Architecture

hop3-cli/
├── src/hop3_cli/
│   ├── main.py           # Entry point, argument parsing
│   ├── config.py         # Configuration management
│   ├── rpc/
│   │   └── client.py     # JSON-RPC client with SSH tunnel
│   ├── commands/
│   │   ├── local.py      # Local commands (init, login, settings)
│   │   ├── flags.py      # CLI flag parsing
│   │   └── destructive.py # Confirmation prompts
│   └── ui/
│       └── rich_printer.py # Output formatting
└── tests/

Development

# Run tests
uv run pytest tests/ -v

# Lint and format
uv run ruff check src/
uv run ruff format src/

Documentation

Related Packages

  • hop3-server - The server that hop3-cli communicates with
  • hop3-tui - Alternative terminal UI interface

License

Apache-2.0 - Copyright (c) 2024-2026, Abilian SAS

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

hop3_cli-0.4.0b4.tar.gz (49.2 kB view details)

Uploaded Source

Built Distribution

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

hop3_cli-0.4.0b4-py3-none-any.whl (66.8 kB view details)

Uploaded Python 3

File details

Details for the file hop3_cli-0.4.0b4.tar.gz.

File metadata

  • Download URL: hop3_cli-0.4.0b4.tar.gz
  • Upload date:
  • Size: 49.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for hop3_cli-0.4.0b4.tar.gz
Algorithm Hash digest
SHA256 d1edc7538a3cffb09d24ae8a0c55a32a47e81ffb7cf5e451b450d4c409700d49
MD5 f4c90f328bb24ff6e228631b290f2220
BLAKE2b-256 7b4bc6911ea698b7ae379f7632d91204443e523c5a413d45a71ed2421366232a

See more details on using hashes here.

File details

Details for the file hop3_cli-0.4.0b4-py3-none-any.whl.

File metadata

  • Download URL: hop3_cli-0.4.0b4-py3-none-any.whl
  • Upload date:
  • Size: 66.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for hop3_cli-0.4.0b4-py3-none-any.whl
Algorithm Hash digest
SHA256 dd8e484fe1b0cb10ab18f83910bb4c3f2468bf94b06dcf9437aa23325b067010
MD5 b138e26e3c8956cc771a9aad52a4c7d5
BLAKE2b-256 5f59bff380d0c7dce9d1d59c2275af60aaba3e84b7ded976e7bc11d6c155010b

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