elan-cli
The command line a developer deploys an agent with. Installs the elan
command.
uv tool install elan-cli # or: pipx install elan-cli
Requires Python 3.12 or newer.
Getting started
elan login # device-code sign-in against the platform
elan init --tenant acme --project agents
elan env # build the project's venv
elan validate # say no here, where saying no is free
elan deploy
elan invoke invoice-triage --text "What do I owe on INV-9?"
elan login reaches the production API by default. Point it elsewhere with
elan login --api https://…, or set ELAN_API.
What it covers
| Group | Commands |
|---|---|
| Signing in | login, logout, whoami |
| Project setup | init, new {agent,workflow}, projects {ls,create} |
| Local development | env, adk, validate |
| Shipping | deploy, status, logs, rollback |
| Operating | agents, invoke, doctor, destroy |
| Secrets | secret {set,ls,rm} |
| Files | files {ls,get,put,rm} |
| Wallets | wallet {ls,show,create,credit,adjust,freeze,unfreeze,statement} |
elan <command> --help for the flags.
Where it keeps things
Configuration is a plain JSON file at ~/.config/elan/config.json, mode
0600, holding only public values — the API URL, the issuer, the client id.
Override the directory with ELAN_HOME, or the API with ELAN_API.
Credentials never go in a file. The refresh token is stored in the OS
keyring under the service name elan-cli. The CLI will not fall back to
writing one to disk; if keyring cannot be reached it says so and stops.
Per-project state lives in .elan/ beside your elan.yaml, and is
git-ignored.
Exit codes
0 |
it worked |
1 |
it ran, and the answer was no — a refused deploy, a failed validation |
2 |
it could not run — no project, no credential, no network |
Errors print as error: … on stderr with no traceback.
Documentation
The full command reference and the platform guides are at https://openelan.ai/app/docs.
Licence
Apache-2.0. See LICENSE.
Metadata
Release files for elan-cli 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| elan_cli-0.1.2.tar.gz | 64.8 kB | Without provenance | Details for elan_cli-0.1.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| elan_cli-0.1.2-py3-none-any.whl | Python 3 | none | any | Details for elan_cli-0.1.2-py3-none-any.whl |
Total release size: 141.9 kB
Release files / elan_cli-0.1.2.tar.gz
| Download URL | elan_cli-0.1.2.tar.gz |
|---|---|
| Size | 64.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
587a5dfc5a8f6163df4469fc568b1d0e72e135a4d38d8ae32e02fc28f32b69aa
|
|
BLAKE2b-256 checksum How to use checksums |
19fdd4f0cc1a8f0f792814a074068a81040af630072953a4f98ffc27763246d8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.7 {"installer":{"name":"uv","version":"0.13.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / elan_cli-0.1.2-py3-none-any.whl
| Download URL | elan_cli-0.1.2-py3-none-any.whl |
|---|---|
| Size | 77.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2b7f93e46a0d41b5382ca7e2f91313cbaf29f402a09656b99a56628c035f2e1e
|
|
BLAKE2b-256 checksum How to use checksums |
aa612aafed5387338bf0b287d28fea5b55d86bf10228ed687c302f7190310638
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.7 {"installer":{"name":"uv","version":"0.13.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for elan-cli 0.1.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.