Skip to Content

CLI Reference

Hermes provides a command-line interface backed by the Rust core (built with clap , no Typer dependency). After installation, the hermes command is available in your shell. The Python shim (hermes.cli) forwards straight to the compiled Rust CLI, so the native binary and the Python entry point behave identically.

Usage

hermes [COMMAND]

Global options

OptionDescription
-h, --helpPrint help
-V, --versionPrint version

Commands

hermes fetch

Fetch data from a source.

hermes inspect

Inspect data.

hermes dataset

Manage datasets.

hermes entity

Work with entities.

These four commands parse correctly but are not wired to Hermes functionality yet — each exits with code 1 and prints <command> is not implemented yet. Unknown commands, missing arguments, and other usage errors exit with code 2.

Exit codes

CodeMeaning
0Command succeeded (or --help / --version was displayed)
1Parsed command has no implementation yet
2Usage error (unknown command or bad arguments)

Example output

$ hermes --help Hermes command-line interface Commands: fetch Fetch data from a source inspect Inspect data dataset Manage datasets entity Work with entities help Print this message or the help of the given subcommand(s) Options: -h, --help Print help -V, --version Print version

Installation

The CLI is installed automatically with pip install hermes-plt. The entry point is defined in pyproject.toml and forwards to the Rust core:

[project.scripts] hermes = "hermes.cli:app"

Dependencies

hermes.cli is a thin shim — argument parsing, help, and version handling live in the Rust core (rust/src/cli, using clap). There is no Typer. If you need the Rust code, the toolchain requirement is Rust (edition per rust/Cargo.toml); Python-only users get the prebuilt hermes._rust extension.

Last updated on