Skip to main content

CLI tool for SiMa Developer Portal to download models, firmware, and apps.

Project description

🛠️ sima-cli – SiMa Developer Portal CLI Tool

Python 3.8 Python 3.9 Python 3.10 Python 3.11 Python 3.12 Python 3.13 Python 3.14 E2E macOS E2E Windows E2E Ubuntu x86 E2E Ubuntu ARM64

sima-cli is a command-line interface (CLI) utility designed to interact with the SiMa Developer Portal. It supports downloading models and apps from the Model/App Zoo, performing firmware updates, and authenticating against internal or external environments.


📦 Installation

Install from the stable installer script. By default these commands install the latest main build.

Linux, macOS, and DevKit

curl -fsSL https://artifacts.sima-neat.com/tools/sima-cli-install.py -o sima-cli-install.py
python3 sima-cli-install.py main latest

To choose from available branches and releases interactively:

python3 sima-cli-install.py

To install a specific branch or release:

python3 sima-cli-install.py feature/my-branch latest
python3 sima-cli-install.py v2.1.6 latest

Release tags such as v2.1.6 are installed from public PyPI. Branch names install tested artifacts from artifacts.sima-neat.com.

Windows PowerShell

Invoke-WebRequest https://artifacts.sima-neat.com/tools/sima-cli-install.py -OutFile sima-cli-install.py
python .\sima-cli-install.py main latest

To choose from available branches and releases interactively:

python .\sima-cli-install.py

To install a specific branch or release:

python .\sima-cli-install.py feature/my-branch latest
python .\sima-cli-install.py v2.1.6 latest

Release tags such as v2.1.6 are installed from public PyPI. Branch names install tested artifacts from artifacts.sima-neat.com.

Public PyPI releases can also be installed directly:

pip install sima-cli

🚀 Getting Started

sima-cli --help

Global Option

  • --internal: Use internal Artifactory resources (can also be set via SIMA_CLI_INTERNAL=1).

Environment detection output will appear like:

🔧 Environment: dev (sandbox) | Internal: True

If external mode is detected and not supported:

external environment is not supported yet..

🔐 Authentication

sima-cli login

Authenticates with the SiMa Developer Portal. Internal or external login is selected based on context.


📥 Download Resources

sima-cli download <URL> [-d DEST]
  • Downloads a single file or an entire folder from the provided URL.
  • Options:
    • -d, --dest: Destination folder (default is current directory).

🔧 Firmware Update

sima-cli update <version_or_url> [--ip IP] [--passwd PASSWORD] [--flavor {headless|full|auto}] [-y]
sima-cli update --version <VERSION> [--ip IP] [--passwd PASSWORD] [--flavor {headless|full|auto}] [-y]
  • Updates firmware either locally (when running on the board) or over the network.
  • Positional:
    • <version_or_url>: Version tag (e.g. 1.6.0_master_B1611) or direct URL.
  • Options:
    • -v, --version: Provide the version via flag instead of positional argument.
    • --ip: IP/FQDN of the remote device (required when running from a host).
    • -p, --passwd: SSH password for the remote board (default edgeai).
    • -f, --flavor: Override firmware flavor (headless, full, or auto).
    • -y, --yes: Skip the confirmation prompt before flashing.

🧠 Model Zoo

List Models

sima-cli modelzoo list [--ver VERSION]
  • Lists available models for a given SDK version.

Get Model

sima-cli modelzoo get <MODEL_NAME> [--ver VERSION]
  • Downloads the specified model.

📱 App Zoo

List Apps

sima-cli appzoo list [--ver VERSION]
  • Lists available apps for a given SDK version.

Get App

sima-cli appzoo get <APP_NAME> [--ver VERSION]
  • Downloads the specified app.

🖥️ Device Management

Discover Devices

sima-cli device discover
  • Discover nearby SiMa.ai DevKits via ARP or multicast on the local network.

Connect to Device

sima-cli device connect --target <IP> [--user sima] [--password edgeai]
sima-cli device connect --slot <SLOT_NUMBER>
  • Connect to a device over Ethernet (using --target) or PCIe (using --slot).

List Connected Devices

sima-cli device list
  • Show all currently connected devices with their status.

Disconnect from Device

sima-cli device disconnect --target <IP>
sima-cli device disconnect --slot <SLOT_NUMBER>
  • Disconnect from a device using either IP/FQDN or PCIe slot number.

Reboot Device

sima-cli device reboot --target <IP>
sima-cli device reboot --slot <SLOT_NUMBER>
  • Reboot a connected device.

Firmware Upgrade

sima-cli device firmware-upgrade --file <PATH_TO_SWU> --target <IP> [--reboot-on-upgrade]
sima-cli device firmware-upgrade --file <PATH_TO_SWU> --slot-number <SLOT_NUMBER>
  • Upgrade firmware on a device using a software update file (.swu).

📦 MPK Package Management

Deploy MPK

sima-cli mpk deploy --file <PATH_TO_MPK> --target <IP> [--set-default]
sima-cli mpk deploy --file <PATH_TO_MPK> --slot <SLOT_NUMBER>
  • Deploy a prebuilt MPK package to a connected device.

Launch Pipeline

sima-cli mpk launch --application <APP_NAME> --target <IP>
sima-cli mpk launch --application <APP_NAME> --slot <SLOT_NUMBER>
  • Launch a deployed pipeline on the device.

Kill Pipeline

sima-cli mpk kill --id <PIPELINE_ID> --target <IP>
sima-cli mpk kill --pid <PID> --slot <SLOT_NUMBER>
  • Kill a running pipeline using either pipeline ID or process ID.

Remove Pipeline

sima-cli mpk remove --application <APP_NAME> --target <IP>
  • Remove a deployed pipeline from the device.

List Pipelines

sima-cli mpk list
  • Show all deployed pipelines on connected devices.

🔧 Install Components

sima-cli install hostdriver -v 1.7.0
  • Install the PCIe host driver for a specific SDK version.
sima-cli install optiview
  • Install OptiView tool (SDK-independent).
sima-cli install -m <METADATA_URL>
  • Install a package from a metadata.json URL.
sima-cli install gh:<USER>/<REPO>/<PATH_TO_METADATA>
  • Install from a GitHub metadata file.
sima-cli install cr:<REGISTRY>/<IMAGE>:<TAG>
  • Install from a container registry.
sima-cli install ghcr:<OWNER>/<IMAGE>:<TAG>
  • Install from public GitHub Container Registry (GHCR).

📋 Package Registry

List Installed Packages

sima-cli packages list
  • Show all packages registered in the local sima-cli registry.

Show Package Details

sima-cli packages show <PACKAGE_NAME> [--version VERSION]
  • Display metadata and post-installation instructions for a package.

🛠️ SDK Container Management

Setup SDK

sima-cli sdk setup [--noninteractive] [-y]
  • Initialize SDK environment and select components to start.

Start SDK Containers

sima-cli sdk start [-y]
  • Start one or more SDK containers.

Stop SDK Containers

sima-cli sdk stop [SDK_NAME] [-y]
  • Stop running SDK containers (e.g., yocto, mpk, model, neat, elxr).

Remove SDK Containers

sima-cli sdk remove [SDK_NAME] [-y]
  • Remove SDK containers and images to free up storage.

Access SDK Container

sima-cli sdk mpk
sima-cli sdk model
sima-cli sdk yocto
sima-cli sdk neat
sima-cli sdk elxr
  • Launch an interactive shell in the respective SDK container.

List SDK Containers

sima-cli sdk ls
  • Show installed SDK containers with their version and running status.

💾 Storage Management

Format NVMe Drive

sima-cli nvme format
  • Format the NVMe drive on Modalix DevKit and mount it at /media/nvme.

Remount NVMe Drive

sima-cli nvme remount
  • Remount an existing NVMe partition to /media/nvme.

Format SD Card

sima-cli sdcard format
  • Prepare the SD Card as data storage for MLSoc or Modalix DevKit.

🌐 Network Configuration

sima-cli network
  • Interactive menu to configure network settings on the DevKit (DHCP/Static IP, default route).
  • Only works on SiMa boards.

🖥️ Serial Console

sima-cli serial [--baud 115200]
  • Connect to the UART serial console of the DevKit.
  • Auto-detects the serial port and launches picocom (Linux/macOS) or shows instructions for PuTTY/Tera Term (Windows).

📸 Boot Image Creation

sima-cli bootimg -v 1.7.0 [--boardtype modalix] [--netboot] [--autoflash]
  • Download firmware and write to removable media or setup TFTP netboot.
  • Options:
    • --netboot: Prepare image for network boot and launch TFTP server.
    • --autoflash: Automatically flash internal storage after netboot.

🔄 Convert Yocto to eLxr

Convert a Yocto-based DevKit to the eLxr runtime environment (SDK 2.0.0+, Modalix DevKit only).

Prerequisites

  1. Connect DevKit Ethernet to host PC (set host to static IP 192.168.1.10)
  2. Update to latest Yocto headless (required for tRoot compatibility):
sima-cli update --ip <IP_DEVKIT> 2.0.0 -f headless

Conversion Steps

Prepare netboot environment:

# macOS
sima-cli bootimg --boardtype modalix --fwtype elxr -v 2.0.0 --netboot

# Linux (requires sudo for port 69)
sudo ~/.sima-cli/.venv/bin/sima-cli bootimg --boardtype modalix --fwtype elxr -v 2.0.0 --netboot

Configure u-boot (from serial console):

setenv cpio_name simaai-image-palette-modalix.cpio.gz
setenv boot_targets net
saveenv
boot

Flash eMMC (from host terminal after netboot completes):

f

Revert to Yocto

Use the same process with --fwtype yocto:

sima-cli bootimg --boardtype modalix --fwtype yocto -v 2.0.0 --netboot

🔄 Self Update

sima-cli selfupdate
  • Update sima-cli to the latest version from PyPI.
sima-cli selfupdate --dev
  • Update from the latest tested artifact installer. On Windows, this prints the PowerShell commands to run in a new shell.
sima-cli selfupdate -v 0.0.46
  • Update to a specific version.
sima-cli --internal selfupdate -v 0.0.46
  • Update from internal Artifactory (requires --internal flag).

📊 MLA Memory Info

sima-cli mla meminfo
  • Display real-time MLA memory usage chart on supported boards.

🔓 Logout

sima-cli logout
  • Delete cached credentials and config files.

🌍 Environment Variable Support

Instead of using --internal flag every time, you can set:

export SIMA_CLI_INTERNAL=1

📌 Version

sima-cli version
  • Display the currently installed sima-cli version.

🧩 Requirements

  • Python 3.8+
  • Internal network access if using --internal features

📞 Support

Please reach out to SiMa Support (support@sima.ai) if you encounter issues with downloads or updates.


Project details


Download files

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

Source Distribution

sima_cli-2.1.5.tar.gz (224.3 kB view details)

Uploaded Source

Built Distribution

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

sima_cli-2.1.5-py3-none-any.whl (259.1 kB view details)

Uploaded Python 3

File details

Details for the file sima_cli-2.1.5.tar.gz.

File metadata

  • Download URL: sima_cli-2.1.5.tar.gz
  • Upload date:
  • Size: 224.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sima_cli-2.1.5.tar.gz
Algorithm Hash digest
SHA256 8b90135f994efb47b6500556b6bc4363289217ed93bc8ce00f590f6ca101fc63
MD5 c310c03e36790b13abd9edbd7c308105
BLAKE2b-256 91f5db4f1280cfbc0d1e7f28a1428f816357c16c09091bb14cff7d689e98e2c4

See more details on using hashes here.

Provenance

The following attestation bundles were made for sima_cli-2.1.5.tar.gz:

Publisher: publish-pypi.yml on sima-neat/sima-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 sima_cli-2.1.5-py3-none-any.whl.

File metadata

  • Download URL: sima_cli-2.1.5-py3-none-any.whl
  • Upload date:
  • Size: 259.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sima_cli-2.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 cc78005eb6f73cfd88098c44826be288731f5f4692b9a05632698b51b183a257
MD5 561627a34ce7f1e43e62f83c090dda51
BLAKE2b-256 0fcbb869b40381307db0ef1fb45f2fd55615b67dc22e86d31a2099c0cb8eb18f

See more details on using hashes here.

Provenance

The following attestation bundles were made for sima_cli-2.1.5-py3-none-any.whl:

Publisher: publish-pypi.yml on sima-neat/sima-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