3 unstable releases
Uses new Rust 2024
| new 0.2.0 | May 14, 2026 |
|---|---|
| 0.1.3 | Apr 29, 2026 |
| 0.1.2 | Mar 26, 2026 |
#345 in Email
390KB
8K
SLoC
nea-esi-cli
Interactive CLI for EVE Online's ESI API, built on the nea-esi library crate.
Installation
cargo build -p nea-esi-cli
Setup
- Register an application at EVE Developers
- Configure your Client ID:
nea-esi-cli config set-client-id <your-client-id> - Log in via EVE SSO (opens browser, receives callback on a local HTTP server):
nea-esi-cli auth login
Config files are stored in a platform-specific directory:
- macOS:
~/Library/Application Support/nea-esi/ - Linux:
~/.config/nea-esi/ - Windows:
AppData\Local\nea-esi\
Files:
| File | Purpose |
|---|---|
config.toml |
App credentials and defaults |
tokens.json |
Persisted OAuth tokens |
history.txt |
REPL command history |
When --config /path/to/config.toml is provided, the CLI treats that directory as the active profile and reads or writes sibling tokens.json and history.txt there as well.
Usage
# One-shot commands
nea-esi-cli status
nea-esi-cli market prices
nea-esi-cli character info
nea-esi-cli universe types --search "Tritanium"
# Output format (default: table for TTY, json when piped)
nea-esi-cli --format json market prices
nea-esi-cli --format csv wallet journal | head -20
# Persist a default output format in config
nea-esi-cli config set defaults.format json
# Corp wallet journal cursor pagination
nea-esi-cli wallet corp-journal 1 --from-id 123456789
# Override character
nea-esi-cli --character-id 12345 wallet balance
# Interactive REPL
nea-esi-cli interactive
Output Formats
| Format | Flag | Description |
|---|---|---|
| table | --format table |
ASCII table (default in TTY) |
| json | --format json |
Pretty-printed JSON (default when piped) |
| csv | --format csv |
CSV rows |
Global Options
| Option | Description |
|---|---|
--format <FORMAT> |
Output format: json, table, csv |
--config <PATH> |
Override the active profile's config.toml path |
--character-id <ID> |
Override default character ID |
--no-color |
Disable colored output |
-v, --verbose |
Enable verbose/debug output |
config set defaults.format <value> accepts only json, table, or csv.
Command Groups
| Command | Description |
|---|---|
auth |
Authentication management (login, logout, status) |
config |
Configuration management |
interactive |
Launch interactive REPL |
status |
EVE server status |
market |
Market data (orders, history, prices) |
character |
Character info, location, ship |
corporation |
Corporation info, members, structures |
alliance |
Alliance info and members |
universe |
Types, systems, regions, stations |
wallet |
Wallet balance and journal |
skills |
Skills and skill queue |
assets |
Asset management |
mail |
EVE mail |
fleet |
Fleet management |
industry |
Industry jobs |
contracts |
Contracts |
killmails |
Killmail history |
search |
Search for entities |
sovereignty |
Sovereignty data |
wars |
War information |
fw |
Faction warfare |
dogma |
Dogma attributes and effects |
navigation |
Route planning and UI waypoints |
contacts |
Contact management |
fittings |
Ship fittings |
calendar |
Calendar events |
clones |
Clones and implants |
loyalty |
Loyalty points |
pi |
Planetary interaction |
mining |
Mining ledger |
resolve |
Name/ID resolution |
Interactive REPL
The interactive command launches a REPL with:
- Tab-completion for commands and subcommands
- Persistent command history
- Shell-like argument splitting
- All commands available without the
nea-esi-cliprefix
> status
> market prices
> character info
> set format json
License
MIT
Dependencies
~33–52MB
~818K SLoC