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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

edgeai_cli-0.1.2-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.2-py3-none-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for edgeai_cli-0.1.2-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 49046cba2cb977fd1096d18ce1faa10eb528d73d1e5a43aed232d93680670a6a
MD5 b7fa11a735f09ca30497a24b21f162a1
BLAKE2b-256 fc33d8a80ea797c0253a88f41ad7a360af3a69ada397091ee24509b18880879f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for edgeai_cli-0.1.2-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 11479da1a154c74f4e0f3599724f2dd805a6df839b218a87431b305e4411a2d1
MD5 4fe6d4b1bfc48c3ad68fcc3d706e6ad0
BLAKE2b-256 1218d81af22b906e2e5795269468ee7c3d6b7c3abff0b6d8060bb9c230d1a810

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for edgeai_cli-0.1.2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 08e06b43e74349dc041badf1c3feb09e4bc688d4c1b1caba480c4efa8327a2a1
MD5 d1b89d8e481b75aa685d7b0e4e7115b8
BLAKE2b-256 e29375d23576e1d5bd8a5f8b7fe0b54a0e2bb35b28f89e308cc90b1590b6e7e3

See more details on using hashes here.

Provenance

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