Wiki › Project

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

CommandWhat it does
mops sysSystem diagnostics: CPU, memory, GPU/TPU use and out-of-memory events; mops mem is a shortcut
mops taskTask scheduling and management backed by SQLite
mops workerA daemon that runs long batch jobs in the background
mops gcpGoogle Cloud helpers: watching for Spot preemption and IAP tunnelling
mops netNetwork observability: listening ports and active connections
mops dashboardA live terminal dashboard of resources and the task queue, built on ncurses
mops doctorChecks 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) and test targets.
  • 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

bash
sudo apt-get install -y build-essential libsqlite3-dev libncurses-dev
make
./mops doctor

History

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.

When
2023202420252026
Apr 2026 · 77 commits

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.

Download
@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 .