Skip to main content

CLI helper for MicroPythonOS: https://github.com/MicroPythonOS/MicroPythonOS

Project description

mposcli

tests codecov mposcli @ PyPi Python Versions License GPL-3.0-or-later

Experimental CLI helper for MicroPythonOS: https://github.com/MicroPythonOS/MicroPythonOS

Main Idea: Install it via pipx (see below) and use mposcli command in MicroPythonOS repository path.

CLI

usage: mposcli [-h] {build,run-desktop,update-submodules,version}



╭─ options ────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ -h, --help             show this help message and exit                                                               │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ subcommands ────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ (required)                                                                                                           │
│   • build              Build MicroPythonOS by calling: ./scripts/build_mpos.sh <target> see:                         │
│                        https://docs.micropythonos.com/os-development/                                                │
│   • run-desktop        Run MicroPythonOS on desktop. see:                                                            │
│                        https://docs.micropythonos.com/getting-started/running/#running-on-desktop                    │
│   • update-submodules  Update MicroPythonOS repository and all submodules see:                                       │
│                        https://docs.micropythonos.com/os-development/linux/#optional-updating-the-code               │
│   • version            Print version and exit                                                                        │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

CLI - build

usage: mposcli build [-h] [--target {esp32,esp32s3,unix,macOS}] [-v]

Build MicroPythonOS by calling: ./scripts/build_mpos.sh <target> see: https://docs.micropythonos.com/os-development/

╭─ options ────────────────────────────────────────────────────────────────╮
│ -h, --help       show this help message and exit                         │
│ --target {esp32,esp32s3,unix,macOS}                                      │
│                  Target platform to build for. (default: unix)           │
│ -v, --verbosity  Verbosity level; e.g.: -v, -vv, -vvv, etc. (repeatable) │
╰──────────────────────────────────────────────────────────────────────────╯

CLI - run-desktop

usage: mposcli run-desktop [-h] [--heapsize INT] [--script {None}|STR] [--binary {None}|STR] [-v]

Run MicroPythonOS on desktop. see: https://docs.micropythonos.com/getting-started/running/#running-on-desktop

╭─ options ────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ -h, --help           show this help message and exit                                                                 │
│ --heapsize INT       Heap size in MB (default: 8, same as PSRAM on many ESP32-S3 boards) (default: 8)                │
│ --script {None}|STR  Script file (.py) or app name to run. If omitted, starts normally. (default: None)              │
│ --binary {None}|STR  Optional name of the binary to start. If omitted, shows a file chooser to select one from the   │
│                      lvgl_micropython build directory. (default: None)                                               │
│ -v, --verbosity      Verbosity level; e.g.: -v, -vv, -vvv, etc. (repeatable)                                         │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

CLI - update-submodules

usage: mposcli update-submodules [-h] [-v]

Update MicroPythonOS repository and all submodules see: https://docs.micropythonos.com/os-development/linux/#optional-updating-the-code

╭─ options ────────────────────────────────────────────────────────────────╮
│ -h, --help       show this help message and exit                         │
│ -v, --verbosity  Verbosity level; e.g.: -v, -vv, -vvv, etc. (repeatable) │
╰──────────────────────────────────────────────────────────────────────────╯

start development

At least uv is needed. Install e.g.: via pipx:

apt-get install pipx
pipx install uv

Clone the project and just start the CLI help commands. A virtual environment will be created/updated automatically.

~$ git clone https://github.com/jedie/mposcli.git
~$ cd mposcli
~/mposcli$ ./cli.py --help
~/mposcli$ ./dev-cli.py --help
usage: ./dev-cli.py [-h] {coverage,install,lint,mypy,nox,pip-audit,publish,shell-completion,test,update,update-readme-history,update-test-snapshot-files,version}



╭─ options ────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ -h, --help     show this help message and exit                                                                       │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ subcommands ────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ (required)                                                                                                           │
│   • coverage   Run tests and show coverage report.                                                                   │
│   • install    Install requirements and 'mposcli' via pip as editable.                                               │
│   • lint       Check/fix code style by run: "ruff check --fix"                                                       │
│   • mypy       Run Mypy (configured in pyproject.toml)                                                               │
│   • nox        Run nox                                                                                               │
│   • pip-audit  Run pip-audit check against current requirements files                                                │
│   • publish    Build and upload this project to PyPi                                                                 │
│   • shell-completion                                                                                                 │
│                Setup shell completion for this CLI (Currently only for bash shell)                                   │
│   • test       Run unittests                                                                                         │
│   • update     Update dependencies (uv.lock) and git pre-commit hooks                                                │
│   • update-readme-history                                                                                            │
│                Update project history base on git commits/tags in README.md Will be exited with 1 if the README.md   │
│                was updated otherwise with 0.                                                                         │
│                                                                                                                      │
│                Also, callable via e.g.:                                                                              │
│                    python -m cli_base update-readme-history -v                                                       │
│   • update-test-snapshot-files                                                                                       │
│                Update all test snapshot files (by remove and recreate all snapshot files)                            │
│   • version    Print version and exit                                                                                │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

History

  • dev
    • 2026-02-16 - Add "update-submodules" command
    • 2026-02-16 - Add "build" command
    • 2026-02-16 - CLI command: "run-desktop"
    • 2026-02-16 - first commit

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

mposcli-0.1.0.tar.gz (83.8 kB view details)

Uploaded Source

Built Distribution

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

mposcli-0.1.0-py3-none-any.whl (16.9 kB view details)

Uploaded Python 3

File details

Details for the file mposcli-0.1.0.tar.gz.

File metadata

  • Download URL: mposcli-0.1.0.tar.gz
  • Upload date:
  • Size: 83.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for mposcli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7d43dc8623422ca9330cbdbd20ff9a7f6c4351b77d7013bfa64f8c89cee9e8f0
MD5 45aa14936bdf86af52efed4a00c43c19
BLAKE2b-256 8bf8e34628dc625e5c324be52a7a135394960b1a56f32452fa8ecb9bbd417ebb

See more details on using hashes here.

File details

Details for the file mposcli-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: mposcli-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 16.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for mposcli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 779b704a67ed67361cd3dc56617d3551d61130ca385841e0884010b5f0653531
MD5 d40a0507bf66b0373d853445d5fbb91c
BLAKE2b-256 4cea9f12af743d55cc4ec8adf3f657a0b4151849e4fbcabab3353d4f89bbb840

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