Skip to main content

EdgeAI customer lifecycle CLI

Project description

EdgeAI CLI

Customer lifecycle CLI for EdgeAI. The repository is cli; the installed binary is edgeai.

Installation

Recommended:

pipx install edgeai-cli
edgeai login
edgeai install

Alternatives:

uv tool install edgeai-cli
python3 -m pip install --user edgeai-cli

While this repo is private, GitHub Release binaries are available to repo users. PyPI is the public customer distribution path.

TestPyPI installs

After publishing a test release to TestPyPI, install the exact test version with one of these commands:

uv tool install --default-index https://test.pypi.org/simple/ edgeai-cli==0.1.0
pipx install --pip-args="--index-url https://test.pypi.org/simple/" edgeai-cli==0.1.0
python3 -m pip install --index-url https://test.pypi.org/simple/ edgeai-cli==0.1.0

For a throwaway virtual environment with uv:

uv venv /tmp/edgeai-test
source /tmp/edgeai-test/bin/activate
uv pip install --default-index https://test.pypi.org/simple/ edgeai-cli==0.1.0
edgeai --help

Commands

edgeai login
edgeai login --api-key <key>
edgeai login --no-browser
edgeai whoami
edgeai device register --name shop-floor
edgeai install
edgeai install tts stt agents-sdk hannah
edgeai update
edgeai update tts
edgeai status
edgeai doctor

edgeai install with no product arguments installs every product the API key can access on the current platform. Explicit product arguments narrow the install or update to tts, stt, agents-sdk, and/or hannah.

Local state defaults to ~/.edgeai and can be overridden with EDGEAI_DIR. The API base URL defaults to https://runedge.ai/api and can be overridden with EDGEAI_API_BASE_URL.

Installed product state is stored in ~/.edgeai/products.json. Product tarballs and models are downloaded into ~/.edgeai/downloads, extracted under ~/.edgeai/<product>, and launchers are generated in ~/.edgeai/bin.

Shell completion

Completion scripts are generated on demand and are intentionally opt-in:

edgeai completion zsh
edgeai completion bash
edgeai completion fish

Install the generated script using your shell's preferred completion location. The CLI does not edit shell profiles automatically.

Development

go mod tidy
go test ./...
go run ./cmd/edgeai --help

Releases

Release outputs are built by .github/workflows/release.yml:

  • Native archives for darwin-arm64, linux-amd64, and linux-arm64
  • checksums.txt
  • PyPI wheels for the edgeai-cli package, installing the edgeai command

Build artifacts without publishing:

gh workflow run release.yml \
  --ref main \
  -f version=0.1.0 \
  -f publish_target=none

Publish a test release to TestPyPI:

gh workflow run release.yml \
  --ref main \
  -f version=0.1.0 \
  -f publish_target=testpypi

Then verify the TestPyPI package:

uv tool install --default-index https://test.pypi.org/simple/ edgeai-cli==0.1.0
edgeai --help

Then tag and push the release:

git tag v0.1.0
git push origin v0.1.0

PyPI Trusted Publishing must be configured for the edgeai-cli project with:

  • Repository: RunEdgeAI/cli
  • Workflow: release.yml
  • Environment: pypi

Configure TestPyPI the same way with environment testpypi.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

edgeai_cli-0.1.0-py3-none-manylinux_2_17_x86_64.whl (8.0 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

edgeai_cli-0.1.0-py3-none-manylinux_2_17_aarch64.whl (7.7 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

edgeai_cli-0.1.0-py3-none-macosx_11_0_arm64.whl (7.9 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

File details

Details for the file edgeai_cli-0.1.0-py3-none-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for edgeai_cli-0.1.0-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 b7d8861eb418f4fa8b30fc33aeb357dd40db1279a39efc9e6a9295596f2d901a
MD5 1c1a724c5262703f19b4228cf74e00ce
BLAKE2b-256 7e7371f02c12511a460a3b572c9dd134ed2f4240a881cf143b402399c669d257

See more details on using hashes here.

Provenance

The following attestation bundles were made for edgeai_cli-0.1.0-py3-none-manylinux_2_17_x86_64.whl:

Publisher: release.yml on RunEdgeAI/cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file edgeai_cli-0.1.0-py3-none-manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for edgeai_cli-0.1.0-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 2abe789b61756079ba4e9056be38e827d3ceb00f6090775f03bc406a8765100b
MD5 e397b7085cafe5874ec83d4a3bb42440
BLAKE2b-256 7dddd480c459cf70c7cd488a0510beea9ff1a5c589fd35bc836bc6b0af5be5f5

See more details on using hashes here.

Provenance

The following attestation bundles were made for edgeai_cli-0.1.0-py3-none-manylinux_2_17_aarch64.whl:

Publisher: release.yml on RunEdgeAI/cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file edgeai_cli-0.1.0-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for edgeai_cli-0.1.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 92b1dbb344e594ae1b86517e23e6003ae4b398b111a8a728cb8500b6d1789c56
MD5 cb22ca26130cedb7b6879504726fdb18
BLAKE2b-256 cdaa4e8925ef7d3b2a05ebfc03a705263f259b3e01ac82aa62e5472347b5a364

See more details on using hashes here.

Provenance

The following attestation bundles were made for edgeai_cli-0.1.0-py3-none-macosx_11_0_arm64.whl:

Publisher: release.yml on RunEdgeAI/cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page