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.1-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.1-py3-none-manylinux_2_17_aarch64.whl (7.7 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

edgeai_cli-0.1.1-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.1-py3-none-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for edgeai_cli-0.1.1-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 35ff052aebe00e68b9a74de3c4865b1048d0449ac8b4e0a1d4317be6c0e52e34
MD5 5eb7d63f3255624aafb87186cfa4af7f
BLAKE2b-256 87567ee15e5244c89ac7342a682e7100c23588c0a92d5b9410338053abbbfa4b

See more details on using hashes here.

Provenance

The following attestation bundles were made for edgeai_cli-0.1.1-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.1-py3-none-manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for edgeai_cli-0.1.1-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 c6712e18aa30cf84f6d491312d4cee5f0505d9fb8d51f8c9fb1c3ef55b53d29b
MD5 cdbf5e8882d61b0cd7929594be1d3c11
BLAKE2b-256 6aa61bd9ffc3cdf7bd312de3811b6c53cd30d03d627efb2545bd787d6f1f9870

See more details on using hashes here.

Provenance

The following attestation bundles were made for edgeai_cli-0.1.1-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.1-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for edgeai_cli-0.1.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 83a048d986057c4b98baf54e4809aa311cd0c00c5c728334a5bd47976b5cc4ba
MD5 c363973ae33f0450e9818a87b935f9dc
BLAKE2b-256 a8412d2ceae0794a547bc45d5b9680c1340b2919d5d4e9168b6df5ccdcd8d48b

See more details on using hashes here.

Provenance

The following attestation bundles were made for edgeai_cli-0.1.1-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