mposcli 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- mposcli-0.1.0/.editorconfig +20 -0
- mposcli-0.1.0/.github/workflows/tests.yml +81 -0
- mposcli-0.1.0/.gitignore +15 -0
- mposcli-0.1.0/.idea/.gitignore +3 -0
- mposcli-0.1.0/.pre-commit-config.yaml +7 -0
- mposcli-0.1.0/.pre-commit-hooks.yaml +13 -0
- mposcli-0.1.0/.run/Template Python tests.run.xml +21 -0
- mposcli-0.1.0/.run/Template Python.run.xml +27 -0
- mposcli-0.1.0/.run/Unittests __all__.run.xml +21 -0
- mposcli-0.1.0/.run/cli --help.run.xml +26 -0
- mposcli-0.1.0/.run/dev-cli --help.run.xml +26 -0
- mposcli-0.1.0/.run/dev-cli test.run.xml +26 -0
- mposcli-0.1.0/.venv-app/.gitignore +1 -0
- mposcli-0.1.0/PKG-INFO +178 -0
- mposcli-0.1.0/README.md +163 -0
- mposcli-0.1.0/cli.py +71 -0
- mposcli-0.1.0/dev-cli.py +73 -0
- mposcli-0.1.0/dist/.gitignore +1 -0
- mposcli-0.1.0/mposcli/__init__.py +8 -0
- mposcli-0.1.0/mposcli/__main__.py +10 -0
- mposcli-0.1.0/mposcli/cli_app/__init__.py +41 -0
- mposcli-0.1.0/mposcli/cli_app/build.py +46 -0
- mposcli-0.1.0/mposcli/cli_app/run_deskop.py +105 -0
- mposcli-0.1.0/mposcli/cli_app/update.py +35 -0
- mposcli-0.1.0/mposcli/cli_dev/__init__.py +70 -0
- mposcli-0.1.0/mposcli/cli_dev/__main__.py +10 -0
- mposcli-0.1.0/mposcli/cli_dev/code_style.py +12 -0
- mposcli-0.1.0/mposcli/cli_dev/packaging.py +62 -0
- mposcli-0.1.0/mposcli/cli_dev/shell_completion.py +23 -0
- mposcli-0.1.0/mposcli/cli_dev/testing.py +52 -0
- mposcli-0.1.0/mposcli/cli_dev/update_readme_history.py +33 -0
- mposcli-0.1.0/mposcli/constants.py +8 -0
- mposcli-0.1.0/mposcli/fs_utils.py +6 -0
- mposcli-0.1.0/mposcli/mpos_utils.py +28 -0
- mposcli-0.1.0/mposcli/tests/__init__.py +36 -0
- mposcli-0.1.0/mposcli/tests/test_doctests.py +10 -0
- mposcli-0.1.0/mposcli/tests/test_project_setup.py +46 -0
- mposcli-0.1.0/mposcli/tests/test_readme.py +88 -0
- mposcli-0.1.0/mposcli/tests/test_readme_history.py +9 -0
- mposcli-0.1.0/mposcli/user_input.py +37 -0
- mposcli-0.1.0/noxfile.py +27 -0
- mposcli-0.1.0/pyproject.toml +146 -0
- mposcli-0.1.0/uv.lock +1558 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# see https://editorconfig.org
|
|
2
|
+
root = true
|
|
3
|
+
|
|
4
|
+
[*]
|
|
5
|
+
indent_style = space
|
|
6
|
+
indent_size = 4
|
|
7
|
+
end_of_line = lf
|
|
8
|
+
charset = utf-8
|
|
9
|
+
trim_trailing_whitespace = true
|
|
10
|
+
insert_final_newline = true
|
|
11
|
+
|
|
12
|
+
[*.py]
|
|
13
|
+
max_line_length = 119
|
|
14
|
+
|
|
15
|
+
[{Makefile,**.mk}]
|
|
16
|
+
indent_style = tab
|
|
17
|
+
insert_final_newline = false
|
|
18
|
+
|
|
19
|
+
[{*.yaml,*.yml}]
|
|
20
|
+
indent_size = 2
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
|
|
2
|
+
name: tests
|
|
3
|
+
permissions:
|
|
4
|
+
contents: read
|
|
5
|
+
|
|
6
|
+
on:
|
|
7
|
+
push:
|
|
8
|
+
branches:
|
|
9
|
+
- main
|
|
10
|
+
pull_request:
|
|
11
|
+
schedule:
|
|
12
|
+
- cron: '0 8 * * *'
|
|
13
|
+
|
|
14
|
+
jobs:
|
|
15
|
+
test:
|
|
16
|
+
strategy:
|
|
17
|
+
fail-fast: false
|
|
18
|
+
matrix:
|
|
19
|
+
python-version: ["3.14", "3.13", "3.12"]
|
|
20
|
+
os: [ubuntu-latest, macos-latest] # TODO: windows-latest
|
|
21
|
+
runs-on: ${{ matrix.os }}
|
|
22
|
+
steps:
|
|
23
|
+
- name: Checkout
|
|
24
|
+
run: |
|
|
25
|
+
echo $GITHUB_REF $GITHUB_SHA
|
|
26
|
+
git clone https://github.com/$GITHUB_REPOSITORY.git .
|
|
27
|
+
git fetch origin $GITHUB_SHA:temporary-ci-branch
|
|
28
|
+
git checkout $GITHUB_SHA || (git fetch && git checkout $GITHUB_SHA)
|
|
29
|
+
|
|
30
|
+
- name: 'Set up Python ${{ matrix.python-version }}'
|
|
31
|
+
uses: actions/setup-python@main
|
|
32
|
+
# https://github.com/marketplace/actions/setup-python
|
|
33
|
+
with:
|
|
34
|
+
python-version: '${{ matrix.python-version }}'
|
|
35
|
+
cache: 'pip' # caching pip dependencies
|
|
36
|
+
cache-dependency-path: '**/requirements.*.txt'
|
|
37
|
+
|
|
38
|
+
- name: Install uv and set the Python version
|
|
39
|
+
# https://docs.astral.sh/uv/guides/integration/github/#multiple-python-versions
|
|
40
|
+
uses: astral-sh/setup-uv@main
|
|
41
|
+
with:
|
|
42
|
+
python-version: ${{ matrix.python-version }}
|
|
43
|
+
|
|
44
|
+
- name: 'Bootstrap app venv'
|
|
45
|
+
# The first CLI call will create the .venv
|
|
46
|
+
run: |
|
|
47
|
+
./cli.py version
|
|
48
|
+
|
|
49
|
+
- name: 'app CLI help'
|
|
50
|
+
run: |
|
|
51
|
+
./cli.py --help
|
|
52
|
+
|
|
53
|
+
- name: 'Bootstrap dev venv'
|
|
54
|
+
# The first CLI call will create the .venv
|
|
55
|
+
run: |
|
|
56
|
+
./dev-cli.py version
|
|
57
|
+
|
|
58
|
+
- name: 'dev CLI help'
|
|
59
|
+
run: |
|
|
60
|
+
./dev-cli.py --help
|
|
61
|
+
|
|
62
|
+
- name: 'Run pip-audit'
|
|
63
|
+
run: |
|
|
64
|
+
./dev-cli.py pip-audit
|
|
65
|
+
|
|
66
|
+
- name: 'Run tests with Python v${{ matrix.python-version }}'
|
|
67
|
+
env:
|
|
68
|
+
PYTHONUNBUFFERED: 1
|
|
69
|
+
PYTHONWARNINGS: always
|
|
70
|
+
run: |
|
|
71
|
+
./dev-cli.py coverage
|
|
72
|
+
|
|
73
|
+
- name: 'Upload coverage report'
|
|
74
|
+
uses: codecov/codecov-action@main
|
|
75
|
+
# https://github.com/marketplace/actions/codecov
|
|
76
|
+
with:
|
|
77
|
+
# https://docs.codecov.com/docs/codecov-tokens#example-github-actions--official-codecov-action
|
|
78
|
+
token: ${{ secrets.CODECOV_TOKEN }}
|
|
79
|
+
fail_ci_if_error: false
|
|
80
|
+
verbose: true
|
|
81
|
+
|
mposcli-0.1.0/.gitignore
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# https://pre-commit.com/#creating-new-hooks
|
|
2
|
+
- id: update-readme-history
|
|
3
|
+
name: cli-base-utilities
|
|
4
|
+
description: >-
|
|
5
|
+
Update history in README.md from git log.
|
|
6
|
+
entry: "python -m cli_base update-readme-history -v"
|
|
7
|
+
language: python
|
|
8
|
+
language_version: python3
|
|
9
|
+
require_serial: true
|
|
10
|
+
pass_filenames: false
|
|
11
|
+
always_run: true
|
|
12
|
+
verbose: true
|
|
13
|
+
stages: [pre-commit, post-rewrite, pre-push]
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<component name="ProjectRunConfigurationManager">
|
|
2
|
+
<configuration default="true" type="tests" factoryName="Unittests">
|
|
3
|
+
<module name="mposcli" />
|
|
4
|
+
<option name="ENV_FILES" value="" />
|
|
5
|
+
<option name="INTERPRETER_OPTIONS" value="" />
|
|
6
|
+
<option name="PARENT_ENVS" value="true" />
|
|
7
|
+
<option name="SDK_HOME" value="$PROJECT_DIR$/.venv/bin/python3" />
|
|
8
|
+
<option name="SDK_NAME" value="uv (mposcli) (2)" />
|
|
9
|
+
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/../MicroPythonOS" />
|
|
10
|
+
<option name="IS_MODULE_SDK" value="false" />
|
|
11
|
+
<option name="ADD_CONTENT_ROOTS" value="false" />
|
|
12
|
+
<option name="ADD_SOURCE_ROOTS" value="false" />
|
|
13
|
+
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
|
14
|
+
<option name="RUN_TOOL" value="" />
|
|
15
|
+
<option name="_new_pattern" value="""" />
|
|
16
|
+
<option name="_new_additionalArguments" value="""" />
|
|
17
|
+
<option name="_new_target" value="""" />
|
|
18
|
+
<option name="_new_targetType" value=""PATH"" />
|
|
19
|
+
<method v="2" />
|
|
20
|
+
</configuration>
|
|
21
|
+
</component>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
<component name="ProjectRunConfigurationManager">
|
|
2
|
+
<configuration default="true" type="PythonConfigurationType" factoryName="Python">
|
|
3
|
+
<module name="mposcli" />
|
|
4
|
+
<option name="ENV_FILES" value="" />
|
|
5
|
+
<option name="INTERPRETER_OPTIONS" value="" />
|
|
6
|
+
<option name="PARENT_ENVS" value="true" />
|
|
7
|
+
<envs>
|
|
8
|
+
<env name="PYTHONUNBUFFERED" value="1" />
|
|
9
|
+
</envs>
|
|
10
|
+
<option name="SDK_HOME" value="" />
|
|
11
|
+
<option name="SDK_NAME" value="uv (mposcli) (2)" />
|
|
12
|
+
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
|
13
|
+
<option name="IS_MODULE_SDK" value="false" />
|
|
14
|
+
<option name="ADD_CONTENT_ROOTS" value="false" />
|
|
15
|
+
<option name="ADD_SOURCE_ROOTS" value="false" />
|
|
16
|
+
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
|
17
|
+
<option name="RUN_TOOL" value="false" />
|
|
18
|
+
<option name="SCRIPT_NAME" value="" />
|
|
19
|
+
<option name="PARAMETERS" value="" />
|
|
20
|
+
<option name="SHOW_COMMAND_LINE" value="false" />
|
|
21
|
+
<option name="EMULATE_TERMINAL" value="true" />
|
|
22
|
+
<option name="MODULE_MODE" value="false" />
|
|
23
|
+
<option name="REDIRECT_INPUT" value="false" />
|
|
24
|
+
<option name="INPUT_FILE" value="" />
|
|
25
|
+
<method v="2" />
|
|
26
|
+
</configuration>
|
|
27
|
+
</component>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<component name="ProjectRunConfigurationManager">
|
|
2
|
+
<configuration default="false" name="Unittests **all**" type="tests" factoryName="Unittests">
|
|
3
|
+
<module name="mposcli" />
|
|
4
|
+
<option name="ENV_FILES" value="" />
|
|
5
|
+
<option name="INTERPRETER_OPTIONS" value="" />
|
|
6
|
+
<option name="PARENT_ENVS" value="true" />
|
|
7
|
+
<option name="SDK_HOME" value="$PROJECT_DIR$/.venv/bin/python3" />
|
|
8
|
+
<option name="SDK_NAME" value="uv (mposcli) (2)" />
|
|
9
|
+
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
|
10
|
+
<option name="IS_MODULE_SDK" value="false" />
|
|
11
|
+
<option name="ADD_CONTENT_ROOTS" value="false" />
|
|
12
|
+
<option name="ADD_SOURCE_ROOTS" value="false" />
|
|
13
|
+
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
|
14
|
+
<option name="RUN_TOOL" value="" />
|
|
15
|
+
<option name="_new_pattern" value="""" />
|
|
16
|
+
<option name="_new_additionalArguments" value="""" />
|
|
17
|
+
<option name="_new_target" value="""" />
|
|
18
|
+
<option name="_new_targetType" value=""CUSTOM"" />
|
|
19
|
+
<method v="2" />
|
|
20
|
+
</configuration>
|
|
21
|
+
</component>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<component name="ProjectRunConfigurationManager">
|
|
2
|
+
<configuration default="false" name="cli --help" type="PythonConfigurationType" factoryName="Python">
|
|
3
|
+
<module name="mposcli" />
|
|
4
|
+
<option name="ENV_FILES" value="" />
|
|
5
|
+
<option name="INTERPRETER_OPTIONS" value="" />
|
|
6
|
+
<option name="PARENT_ENVS" value="true" />
|
|
7
|
+
<envs>
|
|
8
|
+
<env name="PYTHONUNBUFFERED" value="1" />
|
|
9
|
+
</envs>
|
|
10
|
+
<option name="SDK_HOME" value="" />
|
|
11
|
+
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
|
12
|
+
<option name="IS_MODULE_SDK" value="true" />
|
|
13
|
+
<option name="ADD_CONTENT_ROOTS" value="false" />
|
|
14
|
+
<option name="ADD_SOURCE_ROOTS" value="false" />
|
|
15
|
+
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
|
16
|
+
<option name="RUN_TOOL" value="false" />
|
|
17
|
+
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/cli.py" />
|
|
18
|
+
<option name="PARAMETERS" value="" />
|
|
19
|
+
<option name="SHOW_COMMAND_LINE" value="false" />
|
|
20
|
+
<option name="EMULATE_TERMINAL" value="true" />
|
|
21
|
+
<option name="MODULE_MODE" value="false" />
|
|
22
|
+
<option name="REDIRECT_INPUT" value="false" />
|
|
23
|
+
<option name="INPUT_FILE" value="" />
|
|
24
|
+
<method v="2" />
|
|
25
|
+
</configuration>
|
|
26
|
+
</component>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<component name="ProjectRunConfigurationManager">
|
|
2
|
+
<configuration default="false" name="dev-cli --help" type="PythonConfigurationType" factoryName="Python">
|
|
3
|
+
<module name="mposcli" />
|
|
4
|
+
<option name="ENV_FILES" value="" />
|
|
5
|
+
<option name="INTERPRETER_OPTIONS" value="" />
|
|
6
|
+
<option name="PARENT_ENVS" value="true" />
|
|
7
|
+
<envs>
|
|
8
|
+
<env name="PYTHONUNBUFFERED" value="1" />
|
|
9
|
+
</envs>
|
|
10
|
+
<option name="SDK_HOME" value="" />
|
|
11
|
+
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
|
12
|
+
<option name="IS_MODULE_SDK" value="true" />
|
|
13
|
+
<option name="ADD_CONTENT_ROOTS" value="false" />
|
|
14
|
+
<option name="ADD_SOURCE_ROOTS" value="false" />
|
|
15
|
+
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
|
16
|
+
<option name="RUN_TOOL" value="false" />
|
|
17
|
+
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/dev-cli.py" />
|
|
18
|
+
<option name="PARAMETERS" value="" />
|
|
19
|
+
<option name="SHOW_COMMAND_LINE" value="false" />
|
|
20
|
+
<option name="EMULATE_TERMINAL" value="true" />
|
|
21
|
+
<option name="MODULE_MODE" value="false" />
|
|
22
|
+
<option name="REDIRECT_INPUT" value="false" />
|
|
23
|
+
<option name="INPUT_FILE" value="" />
|
|
24
|
+
<method v="2" />
|
|
25
|
+
</configuration>
|
|
26
|
+
</component>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<component name="ProjectRunConfigurationManager">
|
|
2
|
+
<configuration default="false" name="dev-cli test" type="PythonConfigurationType" factoryName="Python">
|
|
3
|
+
<module name="mposcli" />
|
|
4
|
+
<option name="ENV_FILES" value="" />
|
|
5
|
+
<option name="INTERPRETER_OPTIONS" value="" />
|
|
6
|
+
<option name="PARENT_ENVS" value="true" />
|
|
7
|
+
<envs>
|
|
8
|
+
<env name="PYTHONUNBUFFERED" value="1" />
|
|
9
|
+
</envs>
|
|
10
|
+
<option name="SDK_HOME" value="" />
|
|
11
|
+
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
|
12
|
+
<option name="IS_MODULE_SDK" value="true" />
|
|
13
|
+
<option name="ADD_CONTENT_ROOTS" value="false" />
|
|
14
|
+
<option name="ADD_SOURCE_ROOTS" value="false" />
|
|
15
|
+
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
|
16
|
+
<option name="RUN_TOOL" value="false" />
|
|
17
|
+
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/dev-cli.py" />
|
|
18
|
+
<option name="PARAMETERS" value="test" />
|
|
19
|
+
<option name="SHOW_COMMAND_LINE" value="false" />
|
|
20
|
+
<option name="EMULATE_TERMINAL" value="true" />
|
|
21
|
+
<option name="MODULE_MODE" value="false" />
|
|
22
|
+
<option name="REDIRECT_INPUT" value="false" />
|
|
23
|
+
<option name="INPUT_FILE" value="" />
|
|
24
|
+
<method v="2" />
|
|
25
|
+
</configuration>
|
|
26
|
+
</component>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
*
|
mposcli-0.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: mposcli
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: CLI helper for MicroPythonOS: https://github.com/MicroPythonOS/MicroPythonOS
|
|
5
|
+
Project-URL: Documentation, https://github.com/jedie/mposcli
|
|
6
|
+
Project-URL: Source, https://github.com/jedie/mposcli
|
|
7
|
+
Author-email: Jens Diemer <cookiecutter_templates@jensdiemer.de>
|
|
8
|
+
License: GPL-3.0-or-later
|
|
9
|
+
Requires-Python: >=3.12
|
|
10
|
+
Requires-Dist: bx-py-utils
|
|
11
|
+
Requires-Dist: cli-base-utilities>=0.27.4
|
|
12
|
+
Requires-Dist: rich
|
|
13
|
+
Requires-Dist: tyro
|
|
14
|
+
Description-Content-Type: text/markdown
|
|
15
|
+
|
|
16
|
+
# mposcli
|
|
17
|
+
|
|
18
|
+
[](https://github.com/jedie/mposcli/actions/workflows/tests.yml)
|
|
19
|
+
[](https://app.codecov.io/github/jedie/mposcli)
|
|
20
|
+
[](https://pypi.org/project/mposcli/)
|
|
21
|
+
[](https://github.com/jedie/mposcli/blob/main/pyproject.toml)
|
|
22
|
+
[](https://github.com/jedie/mposcli/blob/main/LICENSE)
|
|
23
|
+
|
|
24
|
+
Experimental CLI helper for MicroPythonOS: https://github.com/MicroPythonOS/MicroPythonOS
|
|
25
|
+
|
|
26
|
+
Main Idea: Install it via pipx (see below) and use `mposcli` command in MicroPythonOS repository path.
|
|
27
|
+
|
|
28
|
+
## CLI
|
|
29
|
+
|
|
30
|
+
[comment]: <> (✂✂✂ auto generated main help start ✂✂✂)
|
|
31
|
+
```
|
|
32
|
+
usage: mposcli [-h] {build,run-desktop,update-submodules,version}
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
╭─ options ────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
|
|
37
|
+
│ -h, --help show this help message and exit │
|
|
38
|
+
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
|
|
39
|
+
╭─ subcommands ────────────────────────────────────────────────────────────────────────────────────────────────────────╮
|
|
40
|
+
│ (required) │
|
|
41
|
+
│ • build Build MicroPythonOS by calling: ./scripts/build_mpos.sh <target> see: │
|
|
42
|
+
│ https://docs.micropythonos.com/os-development/ │
|
|
43
|
+
│ • run-desktop Run MicroPythonOS on desktop. see: │
|
|
44
|
+
│ https://docs.micropythonos.com/getting-started/running/#running-on-desktop │
|
|
45
|
+
│ • update-submodules Update MicroPythonOS repository and all submodules see: │
|
|
46
|
+
│ https://docs.micropythonos.com/os-development/linux/#optional-updating-the-code │
|
|
47
|
+
│ • version Print version and exit │
|
|
48
|
+
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
|
|
49
|
+
```
|
|
50
|
+
[comment]: <> (✂✂✂ auto generated main help end ✂✂✂)
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
## CLI - build
|
|
54
|
+
|
|
55
|
+
[comment]: <> (✂✂✂ auto generated build start ✂✂✂)
|
|
56
|
+
```
|
|
57
|
+
usage: mposcli build [-h] [--target {esp32,esp32s3,unix,macOS}] [-v]
|
|
58
|
+
|
|
59
|
+
Build MicroPythonOS by calling: ./scripts/build_mpos.sh <target> see: https://docs.micropythonos.com/os-development/
|
|
60
|
+
|
|
61
|
+
╭─ options ────────────────────────────────────────────────────────────────╮
|
|
62
|
+
│ -h, --help show this help message and exit │
|
|
63
|
+
│ --target {esp32,esp32s3,unix,macOS} │
|
|
64
|
+
│ Target platform to build for. (default: unix) │
|
|
65
|
+
│ -v, --verbosity Verbosity level; e.g.: -v, -vv, -vvv, etc. (repeatable) │
|
|
66
|
+
╰──────────────────────────────────────────────────────────────────────────╯
|
|
67
|
+
```
|
|
68
|
+
[comment]: <> (✂✂✂ auto generated build end ✂✂✂)
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
## CLI - run-desktop
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
[comment]: <> (✂✂✂ auto generated run-desktop start ✂✂✂)
|
|
76
|
+
```
|
|
77
|
+
usage: mposcli run-desktop [-h] [--heapsize INT] [--script {None}|STR] [--binary {None}|STR] [-v]
|
|
78
|
+
|
|
79
|
+
Run MicroPythonOS on desktop. see: https://docs.micropythonos.com/getting-started/running/#running-on-desktop
|
|
80
|
+
|
|
81
|
+
╭─ options ────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
|
|
82
|
+
│ -h, --help show this help message and exit │
|
|
83
|
+
│ --heapsize INT Heap size in MB (default: 8, same as PSRAM on many ESP32-S3 boards) (default: 8) │
|
|
84
|
+
│ --script {None}|STR Script file (.py) or app name to run. If omitted, starts normally. (default: None) │
|
|
85
|
+
│ --binary {None}|STR Optional name of the binary to start. If omitted, shows a file chooser to select one from the │
|
|
86
|
+
│ lvgl_micropython build directory. (default: None) │
|
|
87
|
+
│ -v, --verbosity Verbosity level; e.g.: -v, -vv, -vvv, etc. (repeatable) │
|
|
88
|
+
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
|
|
89
|
+
```
|
|
90
|
+
[comment]: <> (✂✂✂ auto generated run-desktop end ✂✂✂)
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
## CLI - update-submodules
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
[comment]: <> (✂✂✂ auto generated update-submodules start ✂✂✂)
|
|
97
|
+
```
|
|
98
|
+
usage: mposcli update-submodules [-h] [-v]
|
|
99
|
+
|
|
100
|
+
Update MicroPythonOS repository and all submodules see: https://docs.micropythonos.com/os-development/linux/#optional-updating-the-code
|
|
101
|
+
|
|
102
|
+
╭─ options ────────────────────────────────────────────────────────────────╮
|
|
103
|
+
│ -h, --help show this help message and exit │
|
|
104
|
+
│ -v, --verbosity Verbosity level; e.g.: -v, -vv, -vvv, etc. (repeatable) │
|
|
105
|
+
╰──────────────────────────────────────────────────────────────────────────╯
|
|
106
|
+
```
|
|
107
|
+
[comment]: <> (✂✂✂ auto generated update-submodules end ✂✂✂)
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
## start development
|
|
115
|
+
|
|
116
|
+
At least `uv` is needed. Install e.g.: via pipx:
|
|
117
|
+
```bash
|
|
118
|
+
apt-get install pipx
|
|
119
|
+
pipx install uv
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
Clone the project and just start the CLI help commands.
|
|
123
|
+
A virtual environment will be created/updated automatically.
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
~$ git clone https://github.com/jedie/mposcli.git
|
|
127
|
+
~$ cd mposcli
|
|
128
|
+
~/mposcli$ ./cli.py --help
|
|
129
|
+
~/mposcli$ ./dev-cli.py --help
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
[comment]: <> (✂✂✂ auto generated dev help start ✂✂✂)
|
|
133
|
+
```
|
|
134
|
+
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}
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
╭─ options ────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
|
|
139
|
+
│ -h, --help show this help message and exit │
|
|
140
|
+
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
|
|
141
|
+
╭─ subcommands ────────────────────────────────────────────────────────────────────────────────────────────────────────╮
|
|
142
|
+
│ (required) │
|
|
143
|
+
│ • coverage Run tests and show coverage report. │
|
|
144
|
+
│ • install Install requirements and 'mposcli' via pip as editable. │
|
|
145
|
+
│ • lint Check/fix code style by run: "ruff check --fix" │
|
|
146
|
+
│ • mypy Run Mypy (configured in pyproject.toml) │
|
|
147
|
+
│ • nox Run nox │
|
|
148
|
+
│ • pip-audit Run pip-audit check against current requirements files │
|
|
149
|
+
│ • publish Build and upload this project to PyPi │
|
|
150
|
+
│ • shell-completion │
|
|
151
|
+
│ Setup shell completion for this CLI (Currently only for bash shell) │
|
|
152
|
+
│ • test Run unittests │
|
|
153
|
+
│ • update Update dependencies (uv.lock) and git pre-commit hooks │
|
|
154
|
+
│ • update-readme-history │
|
|
155
|
+
│ Update project history base on git commits/tags in README.md Will be exited with 1 if the README.md │
|
|
156
|
+
│ was updated otherwise with 0. │
|
|
157
|
+
│ │
|
|
158
|
+
│ Also, callable via e.g.: │
|
|
159
|
+
│ python -m cli_base update-readme-history -v │
|
|
160
|
+
│ • update-test-snapshot-files │
|
|
161
|
+
│ Update all test snapshot files (by remove and recreate all snapshot files) │
|
|
162
|
+
│ • version Print version and exit │
|
|
163
|
+
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
|
|
164
|
+
```
|
|
165
|
+
[comment]: <> (✂✂✂ auto generated dev help end ✂✂✂)
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
## History
|
|
169
|
+
|
|
170
|
+
[comment]: <> (✂✂✂ auto generated history start ✂✂✂)
|
|
171
|
+
|
|
172
|
+
* [**dev**](https://github.com/jedie/mposcli/compare/1695026...main)
|
|
173
|
+
* 2026-02-16 - Add "update-submodules" command
|
|
174
|
+
* 2026-02-16 - Add "build" command
|
|
175
|
+
* 2026-02-16 - CLI command: "run-desktop"
|
|
176
|
+
* 2026-02-16 - first commit
|
|
177
|
+
|
|
178
|
+
[comment]: <> (✂✂✂ auto generated history end ✂✂✂)
|