Skip to main content

Cleep-cli

This utility helps developers to build Cleep applications providing some useful commands:

  • Core commands:
    • coreget to clone or pull official Cleep repository.
    • coredocs to generate core documentation in HTML format.
    • coresync to synchronize sources from repository to execution folders.
    • coretests to perform core tests suite.
    • coretestscov to display last core tests code coverage report.
    • cpuprof to run CPU profiler on application execution instance.
    • memprof to run memory profiler on application execution instance.
    • reset clear existing installed Cleep files and install it again.
  • Module commands:
    • modcreate to create module (aka application) skeleton.
    • moddelete to delete installed files of a module.
    • moddocs to generate module documentation.
    • modsync to synchronize sources from module folder to execution folders.
    • modtests to execute module tests.
    • modtestscov to display last module tests code coverage report.
    • modbuild to create application package (.zip)
    • modcheckback to check app backend (python files structure and content)
    • modcheckfront to check app frontend (js files and desc.json)
    • modchecktests to check app tests files
    • modcheckscripts to check app scripts files
    • modcheckcode to check backend code quality (run pylint)
  • Watch commands:
    • watch to watch for repository filesystem changes and automatically update files on execution folders. It also restart backend or/and frontend according to changes.
  • Misc commands:
    • version to 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).

Release files for cleepcli 1.43.10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cleepcli 1.43.10
File Size Uploaded
cleepcli-1.43.10.tar.gz 60.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cleepcli 1.43.10
File Interpreter ABI Platform
cleepcli-1.43.10-py3-none-any.whl Python 3 none any Details

Total release size: 131.1 kB

Release files / cleepcli-1.43.10.tar.gz

Download URL cleepcli-1.43.10.tar.gz
Size 60.6 kB
Tags Source
SHA-256 checksum
How to use checksums
b39a34f97968cd85d7a2d9951730fe4802e451af0ec6fb60e69f8dad1815b597
BLAKE2b-256 checksum
How to use checksums
1c1d47012aa68e2936e62284ec31a121ba566dc4d883d023375eb93cd975bf88
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / cleepcli-1.43.10-py3-none-any.whl

Download URL cleepcli-1.43.10-py3-none-any.whl
Size 70.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8eca50e4ea6f16ced96c6fb56194a4e0234f9e0cc1005f64bf382d9b790c76b9
BLAKE2b-256 checksum
How to use checksums
0782709153efb7c8412c6d30c3c38b999bad118ecfd47d33acfbdb2343ad6bea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release history Release notifications | RSS feed

This release

1.43.10 This release

2 release files

1.43.9

2 release files

1.43.8

2 release files

1.43.7

2 release files

1.43.5

2 release files

1.43.4

2 release files

1.43.3

2 release files

1.43.0

2 release files

1.42.0

2 release files

1.41.0

2 release files

1.40.1

2 release files

1.40.0

2 release files

1.39.0

2 release files

1.38.1

2 release files

1.38.0

2 release files

1.37.4

2 release files

1.37.3

2 release files

1.37.2

2 release files

1.37.1

2 release files

1.37.0

2 release files

1.36.0

2 release files

1.35.2

2 release files

1.35.1

2 release files

1.33.3

2 release files

1.33.2

2 release files

1.33.1

2 release files

1.33.0

2 release files

1.32.7

2 release files

1.32.6

2 release files

1.32.5

2 release files

1.32.4

2 release files

1.32.3

2 release files

1.31.1

2 release files

1.30.0

2 release files

1.29.1

2 release files

1.29.0

2 release files

1.28.3

2 release files

1.28.2

2 release files

1.28.1

2 release files

1.28.0

2 release files

1.27.0

2 release files

1.26.9

2 release files

1.26.8

2 release files

1.26.7

2 release files

1.26.6

2 release files

1.26.3

2 release files

1.26.2

2 release files

1.26.1

2 release files

1.26.0

2 release files

1.25.0

2 release files

1.24.1

2 release files

1.24.0

2 release files

1.23.3

2 release files

1.23.2

2 release files

1.23.1

2 release files

1.23.0

2 release files

1.22.4

2 release files

1.22.3

2 release files

1.22.2

2 release files

1.22.1

2 release files

1.22.0

2 release files

1.21.9

2 release files

1.21.8

2 release files

1.19.5

2 release files

1.19.4

2 release files

1.19.3

2 release files

1.19.2

2 release files

1.19.1

2 release files

1.19.0

2 release files

1.18.6

2 release files

1.18.5

2 release files

1.18.4

2 release files

1.18.3

2 release files

1.17.3

2 release files

1.16.0

2 release files

1.15.0

2 release files

1.14.4

2 release files

1.14.3

2 release files

1.14.2

2 release files

1.14.1

2 release files

1.14.0

2 release files

1.13.1

2 release files

1.13.0

2 release files

1.12.1

2 release files

1.12.0

2 release files

1.11.0

2 release files

1.10.1

2 release files

1.10.0

2 release files

1.9.0

2 release files

1.8.1

2 release files

1.8.0

2 release files

1.7.0

2 release files

1.6.0

2 release files

1.5.0

2 release files

1.4.4

2 release files

1.4.3

2 release files

1.4.2

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.4

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

3 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page