CLI Reference
embedl-hub run start creates a run and prints only its ID to stdout, so
shell scripts can capture it (RUN=$(embedl-hub run start --type training) ).
With --pending the run is created without being started, for work that
something else will run later.
The embedl-hub log commands push metrics, params, tags, links,
artifacts, and dashboards to a run chosen with --run <id> , the
EMBEDL_HUB_RUN environment variable, or the workspace default set
with embedl-hub use run .
embedl-hub init marks the current directory as a workspace by creating
.ehub/ , the way git init marks a repository; commands find the nearest
one from anywhere inside it, like git finds .git . embedl-hub use
saves defaults there, in .ehub/state.yaml : the project, run and batch
are personal, so the .ehub/.gitignore written by init keeps the file
out of git along with .ehub/batches/ . Outside a workspace, use and --use refuse rather
than create one; bare embedl-hub use still shows the environment and
global values in effect. embedl-hub use project <name> --global saves a
project for every directory without its own, in the global config; run and
batch have no global scope, so use clear --global clears the project and
Hub. Saving a value that a narrower scope overrides warns and names the
winner, from use and from --use alike, and use clear reports what is
in effect afterwards. embedl-hub use --show-origin prints where the workspace and
global settings are stored. embedl-hub status shows the whole setup at once: what bare
use and auth print, with the Hub listed once. Both point at the next
command to run: run show for the selected run’s status and logs, and
batch show when the selected batch holds entries. init -p <name> and show are aliases
for use project <name> --global and for status , deprecated in 0.0.9; they
warn on stderr and are removed in 0.1.0. The Hub is chosen the same way: EMBEDL_HUB_URL ,
then use hub <url> in the workspace, then use hub <url> --global ,
then the public Embedl Hub. embedl-hub auth --api-key - stores a key for
the Hub in use (--hub <url> for another one); keys are stored per Hub in
the global config and never in a workspace. A key from
EMBEDL_HUB_API_KEY is not sent to a Hub set by a workspace unless it is the
key stored for that Hub or EMBEDL_HUB_URL names the same Hub; sent to a
Hub from the global config, it warns. The 0.0.8
EMBEDL_HUB_API_BASE_URL and the auth flags --base-url ,
--reset-base-url , --show-base-url and --show-api-key-location are
deprecated in 0.0.9 and still work, with a warning, until 0.1.0. A global
config or .ehub/use.cfg in the 0.0.8 layout is migrated the first time it
is read.
embedl-hub log dashboard <file> uploads a dashboard written by the Python
builder’s Dashboard.save() . A run can carry several, so --set-default
marks the one its Dashboard tab opens on and --opens-run opens the run
itself on it rather than on the run’s details; the second implies the first.
Without either the run keeps opening on its details.
embedl-hub run list shows the project’s runs with live state from
Embedl Hub, including runs created elsewhere; run list --local shows
the runs recorded on this machine, from every project when none is
configured. run show prints everything logged on a run — with
--commands , also the CLI invocations that touched it on this machine —
and run url prints its web address. run update changes a run after
the fact: --parent <id> or --no-parent sets or removes its parent
link, and --description <text> sets its description (run set-parent
is an alias, deprecated in 0.0.9 and removed in 0.1.0). Commands that take a run look
it up by its ID alone and use the run’s own project, so they work from
any directory; --project only checks that the run is in that project.
use run <id> looks the run up the same way and saves its project with
it. Queuing into a batch stays offline: each run’s project is looked up
when the batch is sent.
For high-frequency logging, embedl-hub batch start creates a local
batch; log commands with --batch (or after embedl-hub use batch )
queue entries instead of sending them, and embedl-hub batch send
delivers everything in consolidated requests. Interrupted sends
resume where they left off with only the entries that did not
succeed. Entries the hub rejects outright stay pending unless the
send is re-run with --skip-rejected , which marks them skipped so
the batch can complete.
embedl-hub exec --type <type> <command...> wraps any command in a run: it
creates the run, runs the command with EMBEDL_HUB_RUN set so embedl-hub log
calls inside it attach to that run, then completes the run from the command’s
exit status (zero finishes it, non-zero fails it, a signal kills it), and
passes termination signals on to the command so a scheduler can cancel it.
A signal arriving when there is no command to pass it to – before it starts,
or while the run is being completed – is acted on once the run is settled,
and still exits 128 + N rather than reporting anything of its own. These
signal statuses are POSIX ones; on Windows a forwarded signal surfaces as an
ordinary exit code instead, and the run is completed as failed rather than
killed.
A command that cannot be launched reports the status a shell reports – 127
when it cannot be found, 126 when it cannot be run – so $? means the same
with the wrapper as without it. A script with no #! line still runs, as it
does at the prompt; a file the system cannot load and that does not read as
text is refused rather than run, so a corrupt file cannot be reported as a
finished run.
With --use-pending-run RUN_ID no run is created: the pending run named, made
earlier with run start --pending and annotated with embedl-hub log , is
started as the command starts and completed the same way, so what was recorded
before launch and what the command logs end up on one run. It cannot be
combined with --type , --name or --parent . The run is found by its ID,
and --project only checks that it is in that project, as for every command
that takes a run. A run that is not pending, or not in --project , stops
the command with exit status 1 whatever --safe says; with --safe an
unreachable Hub still runs the command, untracked.
Any inherited EMBEDL_HUB_RUN is dropped, so the command never logs into an
unrelated run. A Python command can pick up the run exec made for it with
Client.use_context_run() , which reads EMBEDL_HUB_RUN (or, outside exec ,
the workspace’s run) and logs into that run rather than starting another,
binding the run’s own project. When tracking was skipped exec sets
EMBEDL_HUB_UNTRACKED instead, and use_context_run() returns None with a
warning rather than falling through to the workspace’s run. Wrap the logging
that follows in client.safe_log() for the same script to work with and
without --safe : logging with no run adopted otherwise raises, and the outage
--safe absorbed would reach the command by another route. --safe also
exports EMBEDL_HUB_SAFE , which makes the adoption itself tolerant, so a Hub
that goes down between starting the run and adopting it warns rather than
raising. Completing the run stays with exec , which
sets its outcome from the command’s exit status. The
command need not be Python – a shell script, a Makefile target or a binary
all work – and everything after it is passed through untouched, so its own
flags are never read as exec ’s. exec exits with the command’s own status
(128 + N when signalled), with two exceptions. A cancellation you sent wins,
exiting 128 + N even when the command had already finished on its own. And
without --safe , a command that succeeded but whose run could not be
completed exits 1, so that a lost run record is not reported as a clean
finish; a command that failed on its own terms keeps its own status either
way. With --safe , a Hub outage costs the run record but still runs the
command and still reports its status.
embedl-hub
embedl-hub
Usage: embedl-hub [OPTIONS] COMMAND [ARGS]...
embedl-hub experiment tracking CLI
╭─ Options ──────────────────────────────────────────────────── ─╮
│ - -version -V Print embedl-hub version │
│ and exit. │
│ - -verbose -v < int > Increase verbosity ( -v , │
│ -vv , -vvv ). │
│ - -install -completion Install completion for │
│ the current shell. │
│ - -show -completion Show completion for the │
│ current shell, to copy │
│ it or customize the │
│ installation. │
│ - -help Show this message and │
│ exit. │
╰───────────────────────────────────────────────────────────────╯
╭─ Commands ─────────────────────────────────────────────────── ─╮
│ auth Store or inspect the API key for each Hub. │
│ init Create an ehub workspace in the current directory. │
│ status Show the whole setup: what 'use' and 'auth' print, │
│ together. │
│ use Bind default targets to the current workspace, the │
│ nearest directory with an .ehub/ folder (created by │
│ 'embedl-hub init', found like git finds .git). │
│ EMBEDL_HUB_* environment variables outrank the │
│ workspace. │
│ run Start, finish, and inspect hub runs from the shell. │
│ exec Run a command inside a Hub run. │
│ log Log metrics, params, tags, links, artifacts, and │
│ dashboards to a run. │
│ batch Queue log entries locally and send them to the hub │
│ later. │
╰───────────────────────────────────────────────────────────────╯
auth
auth
Usage: embedl-hub auth [OPTIONS]
Store or inspect the API key for each Hub.
Keys are kept in the global config file, one per Hub address,
and
never in a workspace. The Hub in use is set with 'embedl-hub
use
hub'; the EMBEDL_HUB_API_KEY environment variable overrides any
stored key.
Run without options to see which Hub is in use, where its key
comes
from, and which Hubs have a key stored. The key itself is never
printed.
Examples
--------
Store a key for the Hub in use, typing it at a prompt:
$ embedl-hub auth - -api -key -
Store a key for a self-hosted Hub:
$ embedl-hub auth - -hub http://192.168.1.10:3000 - -api -key
-
Report the settings in use:
$ embedl-hub auth
╭─ Options ──────────────────────────────────────────────────── ─╮
│ - -api -key < str > Store an API key for the Hub in │
│ use. Pass '-' to type it at a │
│ hidden prompt, or pipe it in, │
│ which keeps it out of your shell │
│ history. Generate one on your │
│ Hub's profile page. │
│ - -hub < str > The Hub the key is for, instead │
│ of the one in use. │
│ - -show -origin Print where the key for the Hub │
│ in use comes from — an │
│ environment variable's name or │
│ the config file's path — and │
│ exit. │
│ - -help Show this message and exit. │
╰───────────────────────────────────────────────────────────────╯
init
init
Usage: embedl-hub init [OPTIONS]
Create an ehub workspace in the current directory.
The workspace is the ``.ehub/`` folder that ``embedl-hub use``
saves
defaults in: ``config.yaml`` holds the Hub, meant to be
committed;
``state.yaml`` and ``batches/`` hold personal state, which the
``.ehub/.gitignore`` written here keeps out of git. Running it
again is harmless, and a workspace inside another one takes
precedence below it, as with git.
╭─ Options ──────────────────────────────────────────────────── ─╮
│ - -help Show this message and exit. │
╰───────────────────────────────────────────────────────────────╯
status
status
Usage: embedl-hub status [OPTIONS]
Show the whole setup: what 'use' and 'auth' print, together.
The targets in effect (Hub, project, run and batch) and where
each
comes from, then the Hub in use, where its API key comes from,
and
which Hubs have a key stored. The key itself is never printed.
╭─ Options ──────────────────────────────────────────────────── ─╮
│ - -help Show this message and exit. │
╰───────────────────────────────────────────────────────────────╯
use
use
Usage: embedl-hub use [OPTIONS] COMMAND [ARGS]...
Bind default targets to the current workspace, the nearest
directory with an .ehub/ folder (created by 'embedl-hub init',
found like git finds .git). EMBEDL_HUB_* environment variables
outrank the workspace.
╭─ Options ──────────────────────────────────────────────────── ─╮
│ - -show -origin Print where the workspace and global │
│ settings are stored, and exit. │
│ - -help Show this message and exit. │
╰───────────────────────────────────────────────────────────────╯
╭─ Commands ─────────────────────────────────────────────────── ─╮
│ run Set this workspace's default run, or print the │
│ effective one. │
│ project Set this workspace's default project, or print the │
│ effective one. │
│ hub Set the Hub this workspace talks to, or print the │
│ effective one. │
│ batch Set this workspace's default batch; log commands │
│ queue into it. │
│ clear Clear entries from the nearest workspace, or from │
│ the global config. │
╰───────────────────────────────────────────────────────────────╯
run
run
Usage: embedl-hub use run [OPTIONS] [run]
Set this workspace's default run, or print the effective one.
The run is looked up on the Hub, so a mistyped ID is refused
and
the run's own project is saved with it.
╭─ Arguments ────────────────────────────────────────────────── ─╮
│ run < str > Run ID. Omit it to print the effective run. │
╰───────────────────────────────────────────────────────────────╯
╭─ Options ──────────────────────────────────────────────────── ─╮
│ - -project -p < str > Only accept a run in this project. │
│ The run is found by its ID alone. │
│ - -help Show this message and exit. │
╰───────────────────────────────────────────────────────────────╯
project
project
Usage: embedl-hub use project [OPTIONS] [name]
Set this workspace's default project, or print the effective
one.
Only sets the default: the project is not created on the hub
until
the first run starts in it.
╭─ Arguments ────────────────────────────────────────────────── ─╮
│ name < str > Project name. Omit it to print the │
│ effective project. │
╰───────────────────────────────────────────────────────────────╯
╭─ Options ──────────────────────────────────────────────────── ─╮
│ - -global Use the global config, for every directory, │
│ instead of the workspace. │
│ - -help Show this message and exit. │
╰───────────────────────────────────────────────────────────────╯
hub
hub
Usage: embedl-hub use hub [OPTIONS] [url]
Set the Hub this workspace talks to, or print the effective
one.
The workspace's Hub is saved in the shareable config.yaml, so a
team can commit it. API keys are stored per Hub with
'embedl-hub auth', never in the workspace.
╭─ Arguments ────────────────────────────────────────────────── ─╮
│ url < str > The Hub's address, as you open it in the │
│ browser. Omit it to print the effective │
│ one. │
╰───────────────────────────────────────────────────────────────╯
╭─ Options ──────────────────────────────────────────────────── ─╮
│ - -global Use the global config, for every directory, │
│ instead of the workspace. │
│ - -help Show this message and exit. │
╰───────────────────────────────────────────────────────────────╯
batch
batch
Usage: embedl-hub use batch [OPTIONS] [batch_id]
Set this workspace's default batch; log commands queue into it.
╭─ Arguments ────────────────────────────────────────────────── ─╮
│ batch_id < str > Batch ID. Omit it to print the │
│ effective batch. │
╰───────────────────────────────────────────────────────────────╯
╭─ Options ──────────────────────────────────────────────────── ─╮
│ - -help Show this message and exit. │
╰───────────────────────────────────────────────────────────────╯
clear
clear
Usage: embedl-hub use clear [OPTIONS] [what]
Clear entries from the nearest workspace, or from the global
config.
╭─ Arguments ────────────────────────────────────────────────── ─╮
│ what < str > What to clear: "run", "project", "batch", │
│ "hub", or "all". In the workspace, "all" │
│ clears the personal state: project, run │
│ and batch; the shared hub is only cleared │
│ by name. With - -global , "all" clears the │
│ project and hub. │
│ [default: all] │
╰───────────────────────────────────────────────────────────────╯
╭─ Options ──────────────────────────────────────────────────── ─╮
│ - -global Clear the global config instead of the │
│ workspace. Only the project and hub have │
│ global defaults. │
│ - -help Show this message and exit. │
╰───────────────────────────────────────────────────────────────╯
run
run
Usage: embedl-hub run [OPTIONS] COMMAND [ARGS]...
Start, finish, and inspect hub runs from the shell.
╭─ Options ──────────────────────────────────────────────────── ─╮
│ - -help Show this message and exit. │
╰───────────────────────────────────────────────────────────────╯
╭─ Commands ─────────────────────────────────────────────────── ─╮
│ start Create a run and print its ID to stdout. │
│ finish Mark a run as finished (or failed/killed) and set its │
│ end time. │
│ list List the project's runs, newest first. │
│ show Show one run with everything logged on it. │
│ update Change a run's parent link or description. │
│ url Print the hub web URL of a run to stdout. │
╰───────────────────────────────────────────────────────────────╯
start
start
Usage: embedl-hub run start [OPTIONS]
Create a run and print its ID to stdout.
╭─ Options ──────────────────────────────────────────────────── ─╮
│ - -type -t < str > Run type. Known types (compile, │
│ eval, graph, inference, profile) │
│ are recognized; any other name │
│ becomes a custom type label (at │
│ most 50 characters). │
│ - -name -n < str > Run name. │
│ - -parent < str > Parent run ID. │
│ - -pending Create the run as pending rather │
│ than running. It can be logged to │
│ right away and is started later by │
│ whatever runs the work. │
│ - -project -p < str > Project name. Defaults to the │
│ configured project. │
│ - -use Also set the new run as this │
│ workspace's default. │
│ - -help Show this message and exit. │
╰───────────────────────────────────────────────────────────────╯
finish
finish
Usage: embedl-hub run finish [OPTIONS] [run]
Mark a run as finished (or failed/killed) and set its end time.
╭─ Arguments ────────────────────────────────────────────────── ─╮
│ run < str > Run to finish: a full run ID. Defaults to │
│ the configured default run. │
╰───────────────────────────────────────────────────────────────╯
╭─ Options ──────────────────────────────────────────────────── ─╮
│ - -failed Mark the run as failed. │
│ - -killed Mark the run as killed. │
│ - -project -p < str > Only accept a run in this project. │
│ The run is found by its ID alone. │
│ - -help Show this message and exit. │
╰───────────────────────────────────────────────────────────────╯
list
list
Usage: embedl-hub run list [OPTIONS]
List the project's runs, newest first.
╭─ Options ──────────────────────────────────────────────────── ─╮
│ - -project -p < str > Project name. Defaults to the │
│ configured project. │
│ - -all Include failed and killed runs. │
│ - -failed Show only failed and killed runs. │
│ - -limit -n < int > Maximum number of runs to show. │
│ [default: 20] │
│ - -json Print machine-readable JSON to │
│ stdout. │
│ - -local Show runs recorded on this machine │
│ (from the invocation journal) with │
│ their producing commands, from │
│ every project when none is │
│ configured; run state is still │
│ fetched live from the hub. │
│ - -here Only runs touched from the current │
│ directory or below (implies │
│ - -local ). │
│ - -help Show this message and exit. │
╰───────────────────────────────────────────────────────────────╯
show
show
Usage: embedl-hub run show [OPTIONS] [run]
Show one run with everything logged on it.
╭─ Arguments ────────────────────────────────────────────────── ─╮
│ run < str > Run to show: a full run ID. Defaults to the │
│ configured default run. │
╰───────────────────────────────────────────────────────────────╯
╭─ Options ──────────────────────────────────────────────────── ─╮
│ - -project -p < str > Only accept a run in this project. │
│ The run is found by its ID alone. │
│ - -json Print machine-readable JSON to │
│ stdout. │
│ - -commands Also show the CLI invocations that │
│ touched this run on this machine │
│ (from the invocation journal), │
│ with the directory and host each │
│ ran from. │
│ - -help Show this message and exit. │
╰───────────────────────────────────────────────────────────────╯
update
update
Usage: embedl-hub run update [OPTIONS] [run]
Change a run's parent link or description.
╭─ Arguments ────────────────────────────────────────────────── ─╮
│ run < str > Run to change: a full run ID. Defaults to │
│ the configured default run. │
╰───────────────────────────────────────────────────────────────╯
╭─ Options ──────────────────────────────────────────────────── ─╮
│ - -parent < str > Parent run ID to link the run │
│ to. │
│ - -no -parent Remove the parent run link. │
│ - -description < str > Run description. An empty │
│ string clears it. │
│ - -project -p < str > Only accept a run in this │
│ project. The run is found by │
│ its ID alone. │
│ - -help Show this message and exit. │
╰───────────────────────────────────────────────────────────────╯
url
url
Usage: embedl-hub run url [OPTIONS] [run]
Print the hub web URL of a run to stdout.
╭─ Arguments ────────────────────────────────────────────────── ─╮
│ run < str > Run: a full run ID. Defaults to the │
│ configured default run. │
╰───────────────────────────────────────────────────────────────╯
╭─ Options ──────────────────────────────────────────────────── ─╮
│ - -project -p < str > Only accept a run in this project. │
│ The run is found by its ID alone. │
│ - -help Show this message and exit. │
╰───────────────────────────────────────────────────────────────╯
exec
exec
Usage: embedl-hub exec [OPTIONS] {COMMAND...}
Run a command inside a Hub run.
Creates a run, runs COMMAND with ``EMBEDL_HUB_RUN`` set so that
``embedl-hub log`` calls inside it attach to that run, then
completes
the run from COMMAND's exit status: zero finishes it, non-zero
fails
it, and Ctrl-C kills it.
With `` - -use -pending-run `` no run is created: the pending run
named
is started as COMMAND starts and completed the same way, so a
run
made and annotated before launch is the one the work reports
into.
The run is found by its ID, from any directory; `` - -project ``
then
only checks that the run is in that project, as for ``run
show``.
Everything after COMMAND is passed through untouched, so
COMMAND's own
options are never interpreted here; options for ``exec`` itself
must
come before COMMAND. COMMAND is executed directly rather than
through
a shell, so name an interpreter when you need one.
``exec`` exits with COMMAND's own status (128 + N when
signalled).
COMMAND only ever sees this invocation's run: an
``EMBEDL_HUB_RUN``
inherited from an outer ``exec`` is dropped before COMMAND
starts.
When the Hub fails and the run cannot be started, or the
pending run
cannot be picked up, ``exec`` stops before COMMAND runs and
exits 1.
With `` - -safe `` it warns and runs COMMAND untracked instead:
``EMBEDL_HUB_RUN`` is left unset and ``EMBEDL_HUB_UNTRACKED=1``
is
set, so a script calling ``use_context_run()`` records nothing
rather
than falling back to the workspace's run. A run that is not
pending,
or not in `` - -project ``, is a mistake rather than an outage:
COMMAND
never runs, even with `` - -safe ``.
Examples
--------
Wrap a training script::
$ embedl-hub exec - -type training python train.py - -epochs
10
Wrap anything executable::
$ embedl-hub exec - -type eval ./evaluate.sh
Keep a Hub outage from stopping the work::
$ embedl-hub exec - -safe - -type training make train
Run the command in a run created earlier with ``run start
- -pending ``::
$ embedl-hub exec - -use -pending-run "$RUN" python train.py
╭─ Arguments ────────────────────────────────────────────────── ─╮
│ * COMMAND... < str > Command to run, with its │
│ arguments. │
│ [required] │
╰───────────────────────────────────────────────────────────────╯
╭─ Options ──────────────────────────────────────────────────── ─╮
│ - -type -t < str > Run type. Known types │
│ (compile, eval, graph, │
│ inference, profile) are │
│ recognized; any other name │
│ becomes a custom type │
│ label (at most 50 │
│ characters). │
│ - -name -n < str > Run name. │
│ - -parent < str > Parent run ID. │
│ - -project -p < str > Project name. Defaults to │
│ the configured project. │
│ - -use -pending-run RUN_ID Start this pending run for │
│ the command instead of │
│ creating a run. The run is │
│ found by its ID; - -project │
│ only insists that it is in │
│ that project. Cannot be │
│ combined with - -type , │
│ - -name or - -parent . │
│ - -safe Do not let Embedl Hub │
│ failures stop the command. │
│ Tracking problems become │
│ warnings and the command │
│ still runs. │
│ - -help Show this message and │
│ exit. │
╰───────────────────────────────────────────────────────────────╯
log
log
Usage: embedl-hub log [OPTIONS] COMMAND [ARGS]...
Log metrics, params, tags, links, artifacts, and dashboards to
a run.
╭─ Options ──────────────────────────────────────────────────── ─╮
│ - -help Show this message and exit. │
╰───────────────────────────────────────────────────────────────╯
╭─ Commands ─────────────────────────────────────────────────── ─╮
│ metric Log a metric value to a run. │
│ param Log a parameter to a run. │
│ tag Log a tag on a run. │
│ link Log an external link on a run. │
│ artifact Upload a file as a run artifact. │
│ dashboard Upload a dashboard built with the Python builder │
│ to a run. │
╰───────────────────────────────────────────────────────────────╯
metric
metric
Usage: embedl-hub log metric [OPTIONS] {name} {value}
Log a metric value to a run.
╭─ Arguments ────────────────────────────────────────────────── ─╮
│ * name < str > Metric name. [required] │
│ * value < float > Metric value. [required] │
╰───────────────────────────────────────────────────────────────╯
╭─ Options ──────────────────────────────────────────────────── ─╮
│ - -step -s < int > Step number. │
│ - -run -r < str > Target run ID. Defaults to │
│ EMBEDL_HUB_RUN or this workspace's │
│ default run. │
│ - -project -p < str > Only accept a run in this project. │
│ The run is found by its ID alone. │
│ - -batch -b < str > Queue the entry in this batch │
│ instead of sending it now. │
│ Defaults to EMBEDL_HUB_BATCH or │
│ the configured default batch. │
│ - -no -batch Send immediately even when a │
│ default batch is configured. │
│ - -help Show this message and exit. │
╰───────────────────────────────────────────────────────────────╯
param
param
Usage: embedl-hub log param [OPTIONS] {name} {value}
Log a parameter to a run.
╭─ Arguments ────────────────────────────────────────────────── ─╮
│ * name < str > Parameter name. [required] │
│ * value < str > Parameter value. [required] │
╰───────────────────────────────────────────────────────────────╯
╭─ Options ──────────────────────────────────────────────────── ─╮
│ - -run -r < str > Target run ID. Defaults to │
│ EMBEDL_HUB_RUN or this workspace's │
│ default run. │
│ - -project -p < str > Only accept a run in this project. │
│ The run is found by its ID alone. │
│ - -batch -b < str > Queue the entry in this batch │
│ instead of sending it now. │
│ Defaults to EMBEDL_HUB_BATCH or │
│ the configured default batch. │
│ - -no -batch Send immediately even when a │
│ default batch is configured. │
│ - -help Show this message and exit. │
╰───────────────────────────────────────────────────────────────╯
tag
tag
Usage: embedl-hub log tag [OPTIONS] {name} {value}
Log a tag on a run.
╭─ Arguments ────────────────────────────────────────────────── ─╮
│ * name < str > Tag name. [required] │
│ * value < str > Tag value. [required] │
╰───────────────────────────────────────────────────────────────╯
╭─ Options ──────────────────────────────────────────────────── ─╮
│ - -run -r < str > Target run ID. Defaults to │
│ EMBEDL_HUB_RUN or this workspace's │
│ default run. │
│ - -project -p < str > Only accept a run in this project. │
│ The run is found by its ID alone. │
│ - -batch -b < str > Queue the entry in this batch │
│ instead of sending it now. │
│ Defaults to EMBEDL_HUB_BATCH or │
│ the configured default batch. │
│ - -no -batch Send immediately even when a │
│ default batch is configured. │
│ - -help Show this message and exit. │
╰───────────────────────────────────────────────────────────────╯
link
link
Usage: embedl-hub log link [OPTIONS] {label} {url}
Log an external link on a run.
╭─ Arguments ────────────────────────────────────────────────── ─╮
│ * label < str > Link label. [required] │
│ * url < str > Link URL. [required] │
╰───────────────────────────────────────────────────────────────╯
╭─ Options ──────────────────────────────────────────────────── ─╮
│ - -run -r < str > Target run ID. Defaults to │
│ EMBEDL_HUB_RUN or this workspace's │
│ default run. │
│ - -project -p < str > Only accept a run in this project. │
│ The run is found by its ID alone. │
│ - -batch -b < str > Queue the entry in this batch │
│ instead of sending it now. │
│ Defaults to EMBEDL_HUB_BATCH or │
│ the configured default batch. │
│ - -no -batch Send immediately even when a │
│ default batch is configured. │
│ - -help Show this message and exit. │
╰───────────────────────────────────────────────────────────────╯
artifact
artifact
Usage: embedl-hub log artifact [OPTIONS] {path}
Upload a file as a run artifact.
╭─ Arguments ────────────────────────────────────────────────── ─╮
│ * path < file > File to upload. [required] │
╰───────────────────────────────────────────────────────────────╯
╭─ Options ──────────────────────────────────────────────────── ─╮
│ - -file -name < str > File name to record on the hub. │
│ Defaults to the file's own name. │
│ - -run -r < str > Target run ID. Defaults to │
│ EMBEDL_HUB_RUN or this │
│ workspace's default run. │
│ - -project -p < str > Only accept a run in this │
│ project. The run is found by its │
│ ID alone. │
│ - -batch -b < str > Queue the entry in this batch │
│ instead of sending it now. │
│ Defaults to EMBEDL_HUB_BATCH or │
│ the configured default batch. │
│ - -no -batch Send immediately even when a │
│ default batch is configured. │
│ - -help Show this message and exit. │
╰───────────────────────────────────────────────────────────────╯
dashboard
dashboard
Usage: embedl-hub log dashboard [OPTIONS] {path}
Upload a dashboard built with the Python builder to a run.
╭─ Arguments ────────────────────────────────────────────────── ─╮
│ * path < file > Dashboard file written by │
│ Dashboard.save() from │
│ embedl_hub.tracking.dashboard. │
│ [required] │
╰───────────────────────────────────────────────────────────────╯
╭─ Options ──────────────────────────────────────────────────── ─╮
│ - -name < str > Name to store the dashboard │
│ under on the run. Defaults to │
│ the name in the file; required │
│ for a file holding a bare │
│ config. │
│ - -description < str > Replaces the description in the │
│ file. │
│ - -set -default Make it the run's default │
│ dashboard, which the run's │
│ Dashboard tab opens on. A run │
│ has one. │
│ - -opens -run Open the run itself on it │
│ rather than on the run's │
│ details. Implies - -set -default . │
│ - -run -r < str > Target run ID. Defaults to │
│ EMBEDL_HUB_RUN or this │
│ workspace's default run. │
│ - -project -p < str > Only accept a run in this │
│ project. The run is found by │
│ its ID alone. │
│ - -batch -b < str > Queue the entry in this batch │
│ instead of sending it now. │
│ Defaults to EMBEDL_HUB_BATCH or │
│ the configured default batch. │
│ - -no -batch Send immediately even when a │
│ default batch is configured. │
│ - -help Show this message and exit. │
╰───────────────────────────────────────────────────────────────╯
batch
batch
Usage: embedl-hub batch [OPTIONS] COMMAND [ARGS]...
Queue log entries locally and send them to the hub later.
╭─ Options ──────────────────────────────────────────────────── ─╮
│ - -help Show this message and exit. │
╰───────────────────────────────────────────────────────────────╯
╭─ Commands ─────────────────────────────────────────────────── ─╮
│ start Create a batch and print its ID to stdout. │
│ send Send a batch's pending entries to the hub. │
│ show Show a batch's entries and statuses, grouped by │
│ target run. │
│ list List the batches in this workspace. │
│ discard Delete a batch, dropping any unsent entries. │
╰───────────────────────────────────────────────────────────────╯
start
start
Usage: embedl-hub batch start [OPTIONS]
Create a batch and print its ID to stdout.
╭─ Options ──────────────────────────────────────────────────── ─╮
│ - -name -n < str > Batch label. │
│ - -use Also set the new batch as the default │
│ for later log commands. │
│ - -help Show this message and exit. │
╰───────────────────────────────────────────────────────────────╯
send
send
Usage: embedl-hub batch send [OPTIONS] [batch_id]
Send a batch's pending entries to the hub.
╭─ Arguments ────────────────────────────────────────────────── ─╮
│ batch_id < str > Batch ID. Defaults to EMBEDL_HUB_BATCH │
│ or the configured default batch. │
╰───────────────────────────────────────────────────────────────╯
╭─ Options ──────────────────────────────────────────────────── ─╮
│ - -keep Keep the batch file after a fully │
│ successful send. │
│ - -skip -missing Mark artifact entries whose file no │
│ longer exists — or whose contents │
│ changed since queueing — as skipped │
│ instead of failing. │
│ - -skip -rejected Mark entries the hub definitively │
│ rejects (invalid content, or a run │
│ it does not know) as skipped instead │
│ of leaving them pending. The hub │
│ also says it does not know a run │
│ this API key cannot read, so check │
│ the key first. Transient failures │
│ always stay pending for the next │
│ send. │
│ - -help Show this message and exit. │
╰───────────────────────────────────────────────────────────────╯
show
show
Usage: embedl-hub batch show [OPTIONS] [batch_id]
Show a batch's entries and statuses, grouped by target run.
╭─ Arguments ────────────────────────────────────────────────── ─╮
│ batch_id < str > Batch ID. Defaults to EMBEDL_HUB_BATCH │
│ or the configured default batch. │
╰───────────────────────────────────────────────────────────────╯
╭─ Options ──────────────────────────────────────────────────── ─╮
│ - -json Print machine-readable JSON to stdout. │
│ - -help Show this message and exit. │
╰───────────────────────────────────────────────────────────────╯
list
list
Usage: embedl-hub batch list [OPTIONS]
List the batches in this workspace.
╭─ Options ──────────────────────────────────────────────────── ─╮
│ - -json Print machine-readable JSON to stdout. │
│ - -help Show this message and exit. │
╰───────────────────────────────────────────────────────────────╯
discard
discard
Usage: embedl-hub batch discard [OPTIONS] [batch_id]
Delete a batch, dropping any unsent entries.
╭─ Arguments ────────────────────────────────────────────────── ─╮
│ batch_id < str > Batch ID. Defaults to EMBEDL_HUB_BATCH │
│ or the configured default batch. │
╰───────────────────────────────────────────────────────────────╯
╭─ Options ──────────────────────────────────────────────────── ─╮
│ - -help Show this message and exit. │
╰───────────────────────────────────────────────────────────────╯