CLI helper for MicroPythonOS: https://github.com/MicroPythonOS/MicroPythonOS
Project description
mposcli
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7d43dc8623422ca9330cbdbd20ff9a7f6c4351b77d7013bfa64f8c89cee9e8f0
|
|
| MD5 |
45aa14936bdf86af52efed4a00c43c19
|
|
| BLAKE2b-256 |
8bf8e34628dc625e5c324be52a7a135394960b1a56f32452fa8ecb9bbd417ebb
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
779b704a67ed67361cd3dc56617d3551d61130ca385841e0884010b5f0653531
|
|
| MD5 |
d40a0507bf66b0373d853445d5fbb91c
|
|
| BLAKE2b-256 |
4cea9f12af743d55cc4ec8adf3f657a0b4151849e4fbcabab3353d4f89bbb840
|