npm.io
1.0.26 • Published 4d agoCLI

@elaraai/e3-cli

Licence
BUSL-1.1
Version
1.0.26
Deps
6
Size
504 kB
Vulns
0
Weekly
1.6K
Install scriptsThis package runs scripts during installation (preinstall/install/postinstall)

@elaraai/e3-cli

Command-line interface for e3 (East Execution Engine).

Installation

npm install -g @elaraai/e3-cli

Commands

Every command that takes <repo> accepts either a local path or an http(s):// URL. The transport is detected from the argument shape. Set E3_REPO to default the repo argument when omitted (where the positional is optional).

Repository
e3 repo create <repo>                # Create a new repository
e3 repo status <repo>                # Show repository status
e3 repo remove <repo> [-r]           # Remove a repository (-r removes workspaces first)
e3 repo gc <repo> [--dry-run]        # Remove unreferenced objects
e3 repo list <server-url>            # List repositories on a server
Packages
e3 package import <repo> <zip>            # Import package from .zip
e3 package export <repo> <pkg> <zip>      # Export package to .zip
e3 package list <repo>                    # List installed packages
e3 package remove <repo> <pkg>            # Remove a package
Workspaces
e3 workspace create <repo> <name>                            # Create empty workspace
e3 workspace deploy <repo> <ws> <pkg>[@<ver>]                # Deploy a package
e3 workspace deploy <repo> <ws> --from-zip <path.zip>        # Import + create + deploy in one shot
e3 workspace export <repo> <ws> <zip>                        # Export workspace as a package
e3 workspace list <repo>                                     # List workspaces
e3 workspace status <repo> <ws>                              # Detailed workspace status
e3 workspace remove <repo> <ws>                              # Remove a workspace
Datasets

Dataset paths use the flat form <ws>.<name>. The CLI resolves <name> against inputs and task outputs automatically.

e3 dataset get <repo> <ws.name> [-f east|json|beast2]
e3 dataset set <repo> <ws.name> <file> [--type <spec>] [--type-file <path>]
e3 dataset list <repo> <ws> [-l]                # List dataset paths (with -l for table view)
e3 dataset status <repo> <ws.name>              # Show one dataset's kind/type/status/size
e3 dataset find <repo> <ws> <pattern>           # Substring or glob (`*`, `?`) match across names
Tasks
e3 task list <repo> <ws>                        # List tasks with execution status
e3 task logs <repo> <ws.task> [--follow]        # Stream task logs
Dataflow execution
e3 dataflow run <repo> <ws> [--filter <p>] [--concurrency <n>] [--force]

After a successful run, the CLI prints the task output paths so you can read them straight away:

Summary: 2 executed, 0 cached, ...
Outputs:
  dev.greet  String  14 B
  dev.shout  String  16 B
Ad-hoc task execution
e3 run <repo> <pkg.task> <inputs...> -o <out>
e3 run <repo> <pkg@1.0.0.task> <in.beast2> -o <out.beast2>
Watch / live development
e3 watch <source.ts> <repo> <ws> [--start] [--abort-on-change]
Authentication
e3 auth login <server>      # OAuth2 device-flow login
e3 auth logout <server>     # Clear saved credentials
e3 auth status              # List saved credentials
e3 auth token <server>      # Print access token (curl integration)
e3 auth whoami [server]     # Show current identity
curl -H "Authorization: Bearer $(e3 auth token https://example.com)" \
  https://example.com/api/repos/my-repo/status
Utilities
e3 convert [input] [--from <fmt>] [--to <fmt>] [-o <out>] [--type <spec>]
e3 completion install        # Detect your shell and wire up tab completion
e3 completion uninstall      # Undo the above
e3 completion {bash|zsh|fish}  # Print the raw script (manual install)

e3 completion install is the one-shot setup — it detects $SHELL, appends eval "$(e3 completion bash)" (or the zsh/fish equivalent) to your rc file, and is idempotent on re-run. Override detection with --shell <bash|zsh|fish>.

If you'd rather wire it up yourself, e3 completion bash > /etc/bash_completion.d/e3 (and equivalents) work too.

The completion script delegates dynamic lookups (workspace names, dataset paths, package names) to a hidden e3 __complete handler.

Defaulting the repository

When the positional <repo> is optional (every command that takes one as the first argument, except run and watch), the value is resolved in this order:

  1. Explicit positional argument.
  2. E3_REPO environment variable.
  3. . (current directory).

So once you're inside a repo, export E3_REPO=. lets you drop the leading .:

export E3_REPO=.
e3 dataset get dev.greet
e3 dataflow run dev

Migration from earlier versions

Old New
e3 get <repo> <ws>.tasks.<name>.output e3 dataset get <repo> <ws>.<name>
e3 set <repo> <ws>.inputs.<name> e3 dataset set <repo> <ws>.<name>
e3 list <repo> e3 workspace list <repo>
e3 list <repo> <ws> e3 dataset list <repo> <ws>
e3 status <repo> <path> e3 dataset status <repo> <path>
e3 logs <repo> <ws> e3 task list <repo> <ws>
e3 logs <repo> <ws>.<task> e3 task logs <repo> <ws>.<task>
e3 start <repo> <ws> e3 dataflow run <repo> <ws>
e3 login <server> / e3 logout <server> e3 auth login <server> / e3 auth logout <server>
e3 workspace import <repo> <ws> <zip> e3 workspace deploy <repo> <ws> --from-zip <zip>
e3 run <repo> <pkg>/<task> e3 run <repo> <pkg>.<task>
e3 watch <repo> <ws> <source> e3 watch <source> <repo> <ws>

Example

# Create a repository, deploy a package, run the dataflow
e3 repo create ./my-project
e3 workspace deploy ./my-project dev --from-zip ./hello.zip
e3 dataset set ./my-project dev.name ./name.east
e3 dataflow run ./my-project dev

# Read the results
e3 dataset get ./my-project dev.greet

Claude Code plugin

The East ecosystem also ships a Claude Code plugin — East language skills, example search, and preemptive diagnostics for East code — installed separately from the elaraai marketplace:

# Inside Claude Code
/plugin marketplace add elaraai/east-workspace
/plugin install east@elaraai
# From a terminal
claude plugin marketplace add elaraai/east-workspace
claude plugin install east@elaraai

License

BSL 1.1. See LICENSE.md.

Ecosystem
  • East: Statically typed, expression-based language with serializable IR. Run portable logic across TypeScript, Python, C, and other runtimes.

    • @elaraai/east: Core language SDK with type system, expressions, and reference JS compiler
  • East Node: Node.js platform functions for I/O, databases, and system operations.

  • East C: C11 native runtime for executing East IR. Distributed via npm (launcher + per-platform optional dependencies) and as tarballs on each GitHub Release.

    • @elaraai/east-c-cli: npm launcher — installs the matching native binary as an optional dependency
    • east-c: Core runtime — type system, IR interpreter, builtins, serialization (Beast2, JSON, CSV, East text)
    • east-c-std: Console, FileSystem, Fetch, Crypto, Time, Path, Random
    • east-c-cli: CLI for running East IR programs natively
  • East Python: Python runtime, standard platform, I/O, and data-science platform functions. Published to PyPI.

    • east-py: Core Python runtime — type system, IR compiler, 212+ builtins, Cython-accelerated hot paths
    • east-py-std: Console, FileSystem, Fetch, Crypto, Time, Path, Random
    • east-py-io: SQLite, PostgreSQL, MySQL, MongoDB, Redis, S3, FTP, SFTP, XLSX, XML, compression
    • east-py-cli: CLI for running East IR programs in Python
    • east-py-datascience (PyPI) + @elaraai/east-py-datascience (npm): Optimization (MADS, Optuna, ALNS, GoogleOR), ML (XGBoost, LightGBM, NGBoost, PyTorch, Lightning, GP), Bayesian inference (PyMC), explainability (SHAP), conformal prediction (MAPIE)
  • East UI: Typed UI component definitions and React renderer, plus VS Code preview.

  • e3 — East Execution Engine: Durable execution engine for running East pipelines at scale. Git-like content-addressable storage, automatic memoization, reactive dataflow, real-time monitoring.

About Elara

East is developed by Elara AI Pty Ltd, an AI-powered platform that creates economic digital twins of businesses that optimize performance. Elara combines business objectives, decisions and data to help organizations make data-driven decisions across operations, purchasing, sales and customer engagement, and project and investment planning. East powers the computational layer of Elara solutions, enabling the expression of complex business logic and data in a simple, type-safe and portable language.


Developed by Elara AI Pty Ltd.


Developed by Elara AI Pty Ltd

Keywords