From Newsgroup: comp.lang.python.announce
train-guard 0.4.0 is the first public release of a small supervisor for one long-running local job (training run, encode, batch job) on a laptop.
It reads the power source, charge level and battery temperature, then applies one of three actions to the named process tree: full (run normally), gentle (platform scheduling hint) or stop (suspend until conditions clear). It records every change it owns, so stop/recover restores exactly that. Policies can be replayed against recorded JSON Lines traces before controlling a live process, including exact bounded sensitivity envelopes over temperature and charge intervals.
It is a workload policy, not a hardware safety controller: no charge limiting, no battery-life predictions.
Install: pipx install train-guard
PyPI:
https://pypi.org/project/train-guard/
Source:
https://github.com/fus3r/train-guard (MIT)
Docs:
https://train-guard.readthedocs.io/en/latest/
Python 3.9+, tested in CI on Ubuntu, macOS and Windows. This is my first open-source project; reports from real hardware are especially welcome:
https://github.com/fus3r/train-guard/issues/new?template=hardware-report.yml
--- Synchronet 3.22a-Linux NewsLink 1.2