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-VPrint embedl-hub version│ │and exit.               │ │--verbose-v<int>Increase verbosity (-v, │ │-vv, -vvv).             │ │--install-completionInstall completion for  │ │the current shell.      │ │--show-completionShow completion for the │ │current shell, to copy  │ │it or customize the     │ │installation.           │ │--helpShow this message and   │ │exit.                   │ ╰───────────────────────────────────────────────────────────────╯ ╭─ Commands ────────────────────────────────────────────────────╮ │auth  Store or inspect the API key for each Hub.           │ │init  Create an ehub workspace in the current directory.   │ │statusShow 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-originPrint where the key for the Hub  │ │in use comes from — an           │ │environment variable's name or   │ │the config file's path — and     │ │exit.                            │ │--helpShow 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 ─────────────────────────────────────────────────────╮ │--helpShow 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 ─────────────────────────────────────────────────────╮ │--helpShow 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-originPrint where the workspace and global  │ │settings are stored, and exit.        │ │--helpShow this message and exit.│ ╰───────────────────────────────────────────────────────────────╯ ╭─ Commands ────────────────────────────────────────────────────╮ │run    Set this workspace's default run, or print the      │ │effective one.                                      │ │projectSet 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.  │ │--helpShow 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 ─────────────────────────────────────────────────────╮ │--globalUse the global config, for every directory,│ │instead of the workspace.                  │ │--helpShow 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 ─────────────────────────────────────────────────────╮ │--globalUse the global config, for every directory,│ │instead of the workspace.                  │ │--helpShow 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 ─────────────────────────────────────────────────────╮ │--helpShow 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 ─────────────────────────────────────────────────────╮ │--globalClear the global config instead of the     │ │workspace. Only the project and hub have   │ │global defaults.                           │ │--helpShow this message and exit.│ ╰───────────────────────────────────────────────────────────────╯

run#

run Usage: embedl-hub run [OPTIONS] COMMAND [ARGS]... Start, finish, and inspect hub runs from the shell. ╭─ Options ─────────────────────────────────────────────────────╮ │--helpShow this message and exit.│ ╰───────────────────────────────────────────────────────────────╯ ╭─ Commands ────────────────────────────────────────────────────╮ │start Create a run and print its ID to stdout.             │ │finishMark 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.           │ │updateChange 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.│ │--pendingCreate 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.                │ │--useAlso set the new run as this       │ │workspace's default.               │ │--helpShow 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 ─────────────────────────────────────────────────────╮ │--failedMark the run as failed.│ │--killedMark the run as killed.│ │--project-p<str>Only accept a run in this project. │ │The run is found by its ID alone.  │ │--helpShow 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.                │ │--allInclude failed and killed runs.│ │--failedShow only failed and killed runs.│ │--limit-n<int>Maximum number of runs to show.│ │[default: 20]                  │ │--jsonPrint machine-readable JSON to     │ │stdout.                            │ │--localShow 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.         │ │--hereOnly runs touched from the current │ │directory or below (implies        │ │--local).                          │ │--helpShow 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. │ │--jsonPrint machine-readable JSON to    │ │stdout.                           │ │--commandsAlso show the CLI invocations that│ │touched this run on this machine  │ │(from the invocation journal),    │ │with the directory and host each  │ │ran from.                         │ │--helpShow 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-parentRemove 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.                  │ │--helpShow 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.  │ │--helpShow 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-runRUN_IDStart 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.       │ │--safeDo not let Embedl Hub     │ │failures stop the command.│ │Tracking problems become  │ │warnings and the command  │ │still runs.               │ │--helpShow 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 ─────────────────────────────────────────────────────╮ │--helpShow 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.                  │ │dashboardUpload 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-batchSend immediately even when a      │ │default batch is configured.      │ │--helpShow 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-batchSend immediately even when a      │ │default batch is configured.      │ │--helpShow 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-batchSend immediately even when a      │ │default batch is configured.      │ │--helpShow 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-batchSend immediately even when a     │ │default batch is configured.     │ │--helpShow 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-defaultMake it the run's default      │ │dashboard, which the run's     │ │Dashboard tab opens on. A run  │ │has one.                       │ │--opens-runOpen 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-batchSend immediately even when a   │ │default batch is configured.   │ │--helpShow 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 ─────────────────────────────────────────────────────╮ │--helpShow 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.                 │ │discardDelete 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.│ │--useAlso set the new batch as the default │ │for later log commands.               │ │--helpShow 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 ─────────────────────────────────────────────────────╮ │--keepKeep the batch file after a fully   │ │successful send.                    │ │--skip-missingMark artifact entries whose file no │ │longer exists — or whose contents   │ │changed since queueing — as skipped │ │instead of failing.                 │ │--skip-rejectedMark 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.                               │ │--helpShow 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 ─────────────────────────────────────────────────────╮ │--jsonPrint machine-readable JSON to stdout.│ │--helpShow this message and exit.│ ╰───────────────────────────────────────────────────────────────╯

list#

list Usage: embedl-hub batch list [OPTIONS] List the batches in this workspace. ╭─ Options ─────────────────────────────────────────────────────╮ │--jsonPrint machine-readable JSON to stdout.│ │--helpShow 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 ─────────────────────────────────────────────────────╮ │--helpShow this message and exit.│ ╰───────────────────────────────────────────────────────────────╯