Skip to content

Command Line Interface

Espen Hovland edited this page Jun 5, 2026 · 2 revisions

Command-Line Interface

From the terminal, pycommander is a razor-thin wrapper around the Simplicity Commander CLI. It behaves exactly like the Simplicity Commander CLI — same commands, same options, same output — with a single addition: when -v / --version is passed, the PyCommander package version is printed in addition to the normal Commander version information.

pycommander --help
pycommander --version
pycommander <command> [options]
pycommander <command> <subcommand> [options]

Because it is a drop-in replacement, anything in the official Simplicity Commander documentation applies directly.

Examples

# Print version (PyCommander + Commander)
pycommander --version

# Show information about a connected device
pycommander device info --device EFR32MG24 --serialno 440055955

# Flash a hex image
pycommander flash firmware.hex --device EFR32FG28 --serialno 440055956

The three commands

Depending on what you installed, you get up to three equivalent entry points. They differ only in which Simplicity Commander flavor they run and which package version they report.

Command Flavor Provided by
pycommander GUI if installed, otherwise CLI silabs-pycommander
pycommander-cli CLI silabs-pycommander-cli
pycommander-gui GUI (and can launch the GUI app) silabs-pycommander-gui

You can also invoke the tool as a module:

python3 -m pycommander --version

Launching the graphical Simplicity Commander

If you installed the GUI flavor (pip install silabs-pycommander[gui]), launch the graphical application with:

pycommander-gui

pycommander-gui doubles as both the CLI wrapper and the GUI launcher, mirroring how the standalone Simplicity Commander behaves.

Behavior details

  • Exit codes are passed straight through from the underlying Commander process, so scripts can rely on them.
  • Ctrl-C is handled gracefully; interrupting the command returns exit code 130 (128 + SIGINT).
  • --version augmentation is the only behavioral difference from the bare Commander CLI. Every other argument is forwarded verbatim.

When to use the CLI vs. the Python API

  • Use the CLI for one-off commands, shell scripts, and parity with existing Commander-based tooling.
  • Use the Python API when you want typed return values, structured error handling, energy streaming, or to orchestrate multi-step flows across one or more kits.

Clone this wiki locally