Cleep-cli
This utility helps developers to build Cleep applications providing some useful commands:
- Core commands:
coregetto clone or pull official Cleep repository.coredocsto generate core documentation in HTML format.coresyncto synchronize sources from repository to execution folders.coreteststo perform core tests suite.coretestscovto display last core tests code coverage report.cpuprofto run CPU profiler on application execution instance.memprofto run memory profiler on application execution instance.resetclear existing installed Cleep files and install it again.
- Module commands:
modcreateto create module (aka application) skeleton.moddeleteto delete installed files of a module.moddocsto generate module documentation.modsyncto synchronize sources from module folder to execution folders.modteststo execute module tests.modtestscovto display last module tests code coverage report.modbuildto create application package (.zip)modcheckbackto check app backend (python files structure and content)modcheckfrontto check app frontend (js files and desc.json)modcheckteststo check app tests filesmodcheckscriptsto check app scripts filesmodcheckcodeto check backend code quality (run pylint)
- Watch commands:
watchto watch for repository filesystem changes and automatically update files on execution folders. It also restart backend or/and frontend according to changes.
- Misc commands:
versionto get cleep-cli version
Installation
Cleep-cli is automatically installed and managed by Cleep developer application.
If you want to install it manually, execute following command:
pip install cleepcli
Compatibility
This cli is written in Python and is supposed to be used only on Raspbian platform for Cleep application development because it has harcoded paths.
Help
Execute this command to get help on this cli:
cleep-cli --help
Watch usage
Launch watch cli command to monitor changes on "/root/cleep-dev" directory after getting official Cleep repository using coreget command.
Then open your favorite editor on your development computer, configure a remote sync plugin to push local changes on your raspberry pi then cleep-cli will synchronize sources on Cleep execution environment and restart application automatically.
Paths
The cli clone repository on /root/cleep-dev folder. Modules are in /root/cleep-dev/modules folder.
So if you develop on Cleep core, your editor must sync to /root/cleep-dev remote directory while if you're developping only on a module your editor must sync to /root/cleep-dev/modules/<your module name> remote directory.
Visual studio code
Install Visual studio code sftp plugin and configure it to access your raspberry pi:
- Open VSCode command palette pressing CTRL-SHIFT-P
- Type "sftp: config"
- Fill opened file with:
{
"name": "cleep",
"host": "<raspberry pi ip address>",
"protocol": "sftp",
"port": 22,
"username": "root",
"remotePath": "/root/cleep-dev/modules/<your module>/" or "/root/cleep-dev/",
"uploadOnSave": false,
"syncOption": {
"delete": true,
"skipCreate": false,
"ignoreExisting": false,
"update": false
},
"watcher": {
"files": "**/*.{sh,py,js,css,html,json}",
"autoUpload": true,
"autoDelete": true
},
"ignore": [".vscode", ".git"]
}
Local developments
If you want to develop directly on the raspberry using vim or nano, simply develop on /root/cleep-dev/ directory. Cleep-cli watcher will synchronize all your modifications.
How it works
This cli executes git commands to clone or update repository.
It uses rsync commands to synchronize files.
It uses pylint to check code quality (it returns a score)
The watchdog python library is used to detect changes on filesystem. According to changed files, it detects if change occurs on frontend or backend files and send commands to restart Cleep application.
CI (GitHub Actions)
A tag vX.Y.Z (or a manual workflow_dispatch) builds a py3 wheel + sdist on ubuntu-latest (Python 3.9) via python -m build and uploads them to PyPI.
GitHub environment actions (Settings → Environments), secret:
| Secret | Description |
|---|---|
PYPI_API_TOKEN |
PyPI API token (pypi-...). Username Twine is __token__. |
No Raspberry Pi / Woodpecker needed: the package is pure Python (py3-none-any).
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 cleepcli-1.43.8.tar.gz.
File metadata
- Download URL: cleepcli-1.43.8.tar.gz
- Upload date:
- Size: 59.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4e43406ce1ef93a67b5e40916aba570fe167df1f3223018bdc7510ea02df1122
|
|
| MD5 |
4ff6e96c04c8b6512fd8d6d4eff2d9fc
|
|
| BLAKE2b-256 |
812895c77b49fce111419d79d60b9a84129073b778d1b5e71dd259b6b6b7c9b3
|
File details
Details for the file cleepcli-1.43.8-py3-none-any.whl.
File metadata
- Download URL: cleepcli-1.43.8-py3-none-any.whl
- Upload date:
- Size: 69.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
59e286c6924ef3e81f59e361e9bacf653cf4c79dc48fdb0cef4d6197b879e2b5
|
|
| MD5 |
df32f72618099df18973414df1957b1f
|
|
| BLAKE2b-256 |
1d7864cad04e945de0b6bd8080cda6986d9a06402a7c48585a41647103c3df97
|