mops-cli
Project · tool · 2026
mops (Multipurpose Operations CLI) is a lightweight command-line utility in C for MLOps and DevOps work. It brings system diagnostics, a background task queue and cloud operations together in one binary, so the raw numbers a machine reports sit next to the jobs running on it.
Modules
| Command | What it does |
|---|---|
mops sys | System diagnostics: CPU, memory, GPU/TPU use and out-of-memory events; mops mem is a shortcut |
mops task | Task scheduling and management backed by SQLite |
mops worker | A daemon that runs long batch jobs in the background |
mops gcp | Google Cloud helpers: watching for Spot preemption and IAP tunnelling |
mops net | Network observability: listening ports and active connections |
mops dashboard | A live terminal dashboard of resources and the task queue, built on ncurses |
mops doctor | Checks the database, the worker and dependencies |
HPC-style shortcuts
The task queue also answers to the commands of PBS, the job scheduler on HPC and PBS job orchestration clusters: mops qsub submits a task, mops qdel kills one and mops qstat lists them. They are the same commands he used on JAIST's KAGAYAKI cluster during his joint research there.
Engineering
- Command-line parsing uses argtable3, bundled into the source, which gives every subcommand a generated
--help. - The worker daemon was hardened against SQLite locking errors after
fork()and against signal-handling races. Queue polling recovers from schema or database problems instead of stalling silently. - The Makefile tracks header dependencies, builds safely in parallel, and has
lint(cppcheck),format(clang-format) andtesttargets. - Functional tests are written in Python with pytest. A GitHub Actions pipeline runs them headless, faking a terminal so the dashboard doesn't crash in CI.
- It ships as a Debian package (
make deb) with a man page and bash completion.
Building
sudo apt-get install -y build-essential libsqlite3-dev libncurses-dev
make
./mops doctorHistory
Versions 1.1.0 to 1.1.2 came out in April 2026. They added the dashboard, memory metrics, argtable3 parsing, doctor, version and shell completion.
See also
In the knowledge graph
mops-cli and the 21 things it is linked to. Open any dot for its page, or explore it in the full graph.
As data
Everything on this page is read from triples in the knowledge graph. These are the 31 it states about mops-cli, and 6 more its ontology implies; the console runs SPARQL over the whole graph, here in your browser.
@prefix id: <https://ask.chaipat.cc/id/> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix cj: <https://ask.chaipat.cc/ns#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . id:MopsCli a cj:Project ; rdfs:label "mops-cli" ; cj:context id:OpenSource ; cj:uses id:C , id:Python , id:GitHubActions , id:SQLite , id:Ncurses , id:Pytest , id:Cppcheck , id:ClangFormat , id:Make ; cj:description "MOPS, the Multipurpose Operations CLI: a lightweight C utility for MLOps and DevOps work, covering system diagnostics, background tasks and cloud operations." ; cj:repository "https://github.com/AppleBoiy/mops-cli"^^xsd:anyURI ; cj:firstCommit "2026-04-19"^^xsd:date ; cj:lastCommit "2026-04-20"^^xsd:date ; cj:commitCount 77 ; cj:kind "tool" ; cj:license "MIT" ; cj:theme id:ThemeDevOps , id:ThemeSystems ; cj:tier 2 ; cj:integrates id:PBSScheduler ; cj:runsOn id:Linux , id:KAGAYAKI ; cj:handles id:DebPackage ; cj:mentions id:HPC , id:RoleJAIST ; cj:article "https://ask.chaipat.cc/wiki/MopsCli"^^xsd:anyURI ; cj:activeIn id:Y2026 ; cj:activity _:b106 .