Download src/agent_process_dashboard/__main__.py from smlflg/agent-process-dashboard: direct link, hf CLI and curl.
- Browser
- Download file 1.16 kB
-
https://huggingface.co/smlflg/agent-process-dashboard/resolve/main/src/agent_process_dashboard/__main__.py
- Command line
-
hf download hf://smlflg/agent-process-dashboard/src/agent_process_dashboard/__main__.py
-
curl -L -o __main__.py https://huggingface.co/smlflg/agent-process-dashboard/resolve/main/src/agent_process_dashboard/__main__.py
1.16 kB
| from __future__ import annotations | |
| import argparse | |
| import json | |
| from dataclasses import asdict, is_dataclass | |
| from typing import Any | |
| def _jsonable(value: Any) -> Any: | |
| if is_dataclass(value): | |
| return {key: _jsonable(item) for key, item in asdict(value).items()} | |
| if isinstance(value, dict): | |
| return {str(key): _jsonable(item) for key, item in value.items()} | |
| if isinstance(value, (list, tuple)): | |
| return [_jsonable(item) for item in value] | |
| return value | |
| def main() -> None: | |
| parser = argparse.ArgumentParser(prog="agent-process-dashboard") | |
| parser.add_argument("--snapshot", action="store_true", help="Print a read-only JSON snapshot.") | |
| parser.add_argument("--dry-run", action="store_true", help="Print cleanup candidates only.") | |
| args = parser.parse_args() | |
| if args.snapshot or args.dry_run: | |
| from .snapshot import build_snapshot | |
| snapshot = build_snapshot() | |
| payload = snapshot.dry_run if args.dry_run else snapshot | |
| print(json.dumps(_jsonable(payload), indent=2, sort_keys=True)) | |
| return | |
| from .app import run | |
| run() | |
| if __name__ == "__main__": | |
| main() | |