Metadata-Version: 2.4
Name: envforge-agent
Version: 1.0.0
Summary: EnvForge CLI Diagnostic Agent — inspect your ML environment
Project-URL: Homepage, https://github.com/rishabh0510rishabh/EnvForage
Project-URL: Documentation, https://github.com/rishabh0510rishabh/EnvForage/docs
Project-URL: Repository, https://github.com/rishabh0510rishabh/EnvForage
Project-URL: Bug Tracker, https://github.com/rishabh0510rishabh/EnvForage/issues
License: MIT
Keywords: cuda,diagnostics,environment,ml,pytorch,tensorflow
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: System :: Systems Administration
Requires-Python: >=3.9
Requires-Dist: click>=8.1.0
Requires-Dist: httpx>=0.27.0
Requires-Dist: psutil>=5.9.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: rich>=13.0.0
Provides-Extra: dev
Requires-Dist: mypy>=1.9.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23.0; extra == 'dev'
Requires-Dist: pytest-cov>=5.0.0; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: ruff>=0.4.0; extra == 'dev'
Description-Content-Type: text/markdown

# envforge-agent

> Standalone CLI diagnostic agent for the [EnvForge](https://github.com/rishabh0510rishabh/EnvForage) platform.

Inspects your local ML environment and reports what's installed, what's compatible,
and what's broken — without requiring a network connection.

## Install

```bash
pip install envforge-agent
```

## Commands

```bash
# Inspect your environment (output to terminal)
envforge diagnose

# Save report to JSON file
envforge diagnose --output report.json

# Send report to EnvForge API for compatibility analysis
envforge diagnose --send --api-url https://api.envforge.dev

# Check if a specific profile is compatible with your system
envforge verify --profile pytorch-cuda

# Generate a repair script from a saved diagnostic report
envforge fix --report report.json
```

## What it detects

| Category | Details |
|---|---|
| OS | Name, version, architecture, WSL version |
| CPU | Brand, physical cores, logical threads |
| RAM | Total GB, available GB |
| GPU | Name, VRAM, driver version (via nvidia-smi) |
| CUDA | Installed version, toolkit path, cuDNN version |
| Python | All installed versions, active venv, pip version |

## Output format

All commands output `DiagnosticReport` JSON compatible with `POST /api/v1/diagnose`.

```json
{
  "agent_version": "1.0.0",
  "os": { "name": "Ubuntu 22.04", "version": "22.04", "architecture": "x86_64" },
  "cpu": { "brand": "Intel Core i9-13900K", "cores": 24, "threads": 32 },
  "ram": { "total_gb": 64.0, "available_gb": 48.2 },
  "gpus": [{ "name": "NVIDIA RTX 4090", "vram_gb": 24.0, "driver_version": "535.54", "index": 0 }],
  "cuda": { "version": "12.1", "toolkit_path": "/usr/local/cuda-12.1", "cudnn_version": "8.9.0" },
  "python_installations": [{ "version": "3.11.9", "path": "/usr/bin/python3.11", "is_venv": false }],
  "active_python": { "version": "3.11.9", "path": "/usr/bin/python3.11", "is_venv": false }
}
```

## Platform support

| Platform | Status |
|---|---|
| Linux (Ubuntu, Debian, Fedora, Arch) | ✅ Full support |
| Windows 10/11 | ✅ Full support |
| WSL2 | ✅ Full support |
| macOS | ❌ Out of scope (no CUDA) |

## Troubleshooting

For common CLI, API, and environment issues, see:

`../TROUBLESHOOTING.md`
