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
| Option | Description |
|---|---|
-h, --help | Print help |
-V, --version | Print 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
1and prints<command> is not implemented yet. Unknown commands, missing arguments, and other usage errors exit with code2.
Exit codes
| Code | Meaning |
|---|---|
0 | Command succeeded (or --help / --version was displayed) |
1 | Parsed command has no implementation yet |
2 | Usage 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 versionInstallation
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.