Skip to content

SDK & CLI Overview

The meshive Python package ships a command-line tool and a Python SDK from a single install. Use the CLI to inspect your account, workspaces, pods, and host machines from a terminal; use the SDK to do the same programmatically — both synchronously and with asyncio.

The read surface mirrors what you see in the console:

  • me — who the current API key belongs to
  • workspaces — the workspaces you can access
  • pods / pod — pods in a workspace, or a single pod’s detail
  • machines / machine — the machines you contribute as a host

Requires Python 3.10+. The only runtime dependency is httpx.

Terminal window
pip install meshive

Verify the install:

Terminal window
meshive --version

The SDK and CLI authenticate with a Meshive API Key (READ scope). Issue one from the console. Keys look like meshive_ followed by a 64-character token.

The recommended flow is meshive login, which verifies the key against the API and stores it locally so later commands need no flags:

  1. Terminal window
    meshive login # prompts for the key (hidden input)

    The key is verified before it is saved. On success it’s written to ~/.meshive/credentials.json with file mode 0600 (owner read/write only).

  2. Terminal window
    meshive me # works with no --api-key
  3. Terminal window
    meshive logout # removes the saved credentials

meshive login is optional. You can also pass the key per-command or via the environment. The resolution order is --api-key flag › MESHIVE_API_KEY env › meshive login file:

Terminal window
export MESHIVE_API_KEY=meshive_xxxxxxxx
meshive me

By default credentials live in ~/.meshive/ (directory mode 0700). Set MESHIVE_CONFIG_DIR to relocate it — useful for test isolation or juggling multiple accounts:

Terminal window
export MESHIVE_CONFIG_DIR=/path/to/alt-config
  • CLI Reference — every command, flag, and filter
  • Python SDK — sync and async clients, models, and error handling