Metadata-Version: 2.4
Name: hugpy-ops
Version: 0.2.0a0
Summary: Hugpy operations: sentinel, chaos runner, keeper REPL, todo keeper and provisioner for declared-but-missing model weights
Author-email: putkoff <support@hugpy.ai>
License-Expression: LicenseRef-Proprietary
Project-URL: Homepage, https://hugpy.ai
Project-URL: Documentation, https://github.com/hugpy/hugpy/blob/main/py/operations/hugpy_ops/README.md
Project-URL: Repository, https://github.com/hugpy/hugpy
Project-URL: Source, https://github.com/hugpy/hugpy/tree/main/py/operations/hugpy_ops
Project-URL: Issues, https://github.com/hugpy/hugpy/issues
Project-URL: Changelog, https://github.com/hugpy/hugpy/releases
Project-URL: Architecture, https://github.com/hugpy/hugpy/blob/main/PARTITION.md
Keywords: hugpy,llm,self-hosted,operations,sentinel,chaos-testing,provisioning
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Environment :: Console
Classifier: Topic :: System :: Monitoring
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: hugpy-platform
Requires-Dist: hugpy-control
Requires-Dist: hugpy-storage
Requires-Dist: hugpy-engine
Requires-Dist: hugpy-video
Requires-Dist: hugpy-fleet
Requires-Dist: hugpy-curation
Provides-Extra: test
Requires-Dist: pytest>=8; extra == "test"
Requires-Dist: pytest-timeout; extra == "test"
Dynamic: license-file

# hugpy-ops

`hugpy_ops` — the operational consumers of the Hugpy public APIs, extracted
from `abstract_hugpy_dev` as part of the partition (`py/partition.toml`,
`PARTITION.md`). Nothing in this package is imported by normal server
startup; every tool is its own console script:

| Script | Module | What it does |
|---|---|---|
| `hugpy-sentinel` | `hugpy_ops.sentinel` | one detect -> case -> diagnose pass over central's HTTP read surfaces (`run-once`, `status`, `record-scorecard`) |
| `hugpy-chaos` | `hugpy_ops.chaos` | chaos-and-learn exerciser (`hugpy-chaos`) and the k7 offload speed-cliff sweep (`hugpy-chaos sweep`) |
| `hugpy-keeper` | `hugpy_ops.keeper` | stationary terminal REPL in which a served model keeps a machine or an LXD instance |
| `hugpy-todo-keeper` | `hugpy_ops.todo_keeper_daemon` | the enrolling todo-keeper agent node (`todo.add` / `todo.tidy`) |
| `hugpy-provisioner` | `hugpy_ops.provisioner` | declared-but-missing weights across the engine, studio and comfy registries -> `hugpy_storage` download queue |

Allowed ecosystem dependencies: `hugpy_platform`, `hugpy_control`,
`hugpy_storage`, `hugpy_engine`, `hugpy_video`, `hugpy_fleet`,
`hugpy_curation`. The central URL and every state root come from
`hugpy_platform` (`central_base_url`, `hugpy_state_dir`, `config_dir`,
`models_root`).

Deploy units and the operator notes live in `deploy/`; mechanics in `docs/`.

```sh
cd py/operations/hugpy_ops && ../../../.venv/bin/python -m pytest -q --timeout=120
```
