Skip to main content

Universal Command Line Interface for Hive agent.

Project description

Hive-CLI

Hive-CLI is a command-line interface for managing and deploying the Hive agent and experiments on Kubernetes and other platforms.

     ███          █████   █████  ███
    ░░░███       ░░███   ░░███  ░░░
      ░░░███      ░███    ░███  ████  █████ █████  ██████
        ░░░███    ░███████████ ░░███ ░░███ ░░███  ███░░███
         ███░     ░███░░░░░███  ░███  ░███  ░███ ░███████
       ███░       ░███    ░███  ░███  ░░███ ███  ░███░░░
     ███░         █████   █████ █████  ░░█████   ░░██████
    ░░░          ░░░░░   ░░░░░ ░░░░░    ░░░░░     ░░░░░░

Installation

Pre-requisites

  • Python 3.8 or higher
  • docker for image building.
  • gcloud CLI via brew install gcloud for authentication.

Notes:

  • Make sure to enable the ✅ Use containerd for pulling and storing images option in Docker Desktop settings, which is required for multi-arch image support.

Install via pip

pip install hiverge-cli

Install from source

source start.sh

Shell Completion

Hive CLI supports shell tab completion for commands, experiment names, sandbox names, and file paths. After installing the CLI, enable completion for your shell:

Bash

Add the following to your ~/.bashrc:

eval "$(register-python-argcomplete hive)"

Then reload your shell configuration:

source ~/.bashrc

Zsh

Add the following to your ~/.zshrc:

autoload -U bashcompinit
bashcompinit
eval "$(register-python-argcomplete hive)"

Then reload your shell configuration:

source ~/.zshrc

Verify

Test that completion is working:

hive delete exp<TAB>   # Should list available experiments
hive log <TAB>         # Should list available sandbox pods

Features

  • Command and subcommand completion for all hive commands
  • Dynamic completion of experiment names for delete and show sandboxes --experiment
  • Dynamic completion of sandbox pod names for log command
  • File path completion for -f/--config flags

Note: Completion requires access to your Kubernetes cluster to fetch experiment and sandbox names. If the cluster is unavailable, completion will still work for static options but won't show dynamic resources.

How to run

Note: Hive-CLI reads the configuration from a yaml file, by default it will look for the ~/.hive/hive.yaml. You can also specify a different configuration file using the -f option. Refer to the hive.yaml for examples.

Below we assume that you have a ~/.hive/hive.yaml file.

Verify the version

hive version

Edit the experiment

Edit command will open the configuration file in your default editor (e.g., vim, nano, etc.) for you to modify the experiment configuration. You can also specify a different editor using the EDITOR environment variable, by default it will use vim.

hive edit config

Create an experiment

hive create exp my-experiment

Note: This will build a Docker image for the experiment and push it to the container registry which may take some time, based on the Dockerfile and network speed. You can enable the Debug mode in the configuration file to see more detailed logs.

List experiments

hive show exps

Visit Dashboard

hive dashboard

Show logs

Sandboxes are the isolated environments where experiments run in parallel. You can list all the sandboxes and view their logs.

hive show sands
hive log <sandbox-name>

Delete an experiment

hive delete exp my-experiment

More

See hive -h for more details.

Development

Debugging

Change the log_level in the configuration file to DEBUG to see more detailed logs.

Troubleshooting

See the Troubleshooting Guide for common issues and solutions.

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

hiverge_cli-0.4.0.tar.gz (23.9 kB view details)

Uploaded Source

Built Distribution

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

hiverge_cli-0.4.0-py3-none-any.whl (25.5 kB view details)

Uploaded Python 3

File details

Details for the file hiverge_cli-0.4.0.tar.gz.

File metadata

  • Download URL: hiverge_cli-0.4.0.tar.gz
  • Upload date:
  • Size: 23.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for hiverge_cli-0.4.0.tar.gz
Algorithm Hash digest
SHA256 49f35b6aa1ec629d27e218dc8e29b82ae2076262306ad7fe8ac90d4b25ed01bb
MD5 33bde7c25ae6c893a8eef1f20ae48c66
BLAKE2b-256 69cb812cb3e1f4a0e526af2a768ea2de56c76890f196b8d9bbba3ba7767b280a

See more details on using hashes here.

File details

Details for the file hiverge_cli-0.4.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for hiverge_cli-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 93b257744eac9d48f91ae9f5ee499b0c4495ffd913c2aa03ce592c045b7c5a71
MD5 594559ada3ed83b01f45a5d18bb80f2e
BLAKE2b-256 48c4a43d9cabdd9afd1eb6639df32a240cad77f71cc5845fa07d0090e09addf5

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