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

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

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.

📋 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, 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 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 -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 Distributions

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

Built Distribution

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

sima_cli-0.0.54-py3-none-any.whl (185.5 kB view details)

Uploaded Python 3

File details

Details for the file sima_cli-0.0.54-py3-none-any.whl.

File metadata

  • Download URL: sima_cli-0.0.54-py3-none-any.whl
  • Upload date:
  • Size: 185.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for sima_cli-0.0.54-py3-none-any.whl
Algorithm Hash digest
SHA256 f98f2751757d42c7753fef06f405a47590f9c321092021d181f8d620e809a3c3
MD5 435c06e10aebf022dbc25ecacb87ba8e
BLAKE2b-256 909a22f875f3989411d322201844ec0b648488a681653b26b8cb9a8cf4190428

See more details on using hashes here.

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