Metadata-Version: 2.4
Name: nerdit
Version: 0.2.0
Summary: CLI client for Nerdit — the local AI orchestration engine for multi-GPU servers
Project-URL: Homepage, https://github.com/lwi00/nerdit
Project-URL: Repository, https://github.com/lwi00/nerdit
Project-URL: Issues, https://github.com/lwi00/nerdit/issues
Author: Louis Doidy
License-Expression: Apache-2.0
License-File: LICENSE
Keywords: ai,cli,gpu,hpc,nvidia,orchestrator
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: System :: Distributed Computing
Requires-Python: >=3.11
Requires-Dist: httpx-sse>=0.4
Requires-Dist: httpx>=0.27
Requires-Dist: pydantic>=2.7
Requires-Dist: rich>=13.0
Requires-Dist: tomli-w>=1.0
Requires-Dist: typer[all]>=0.12
Provides-Extra: dev
Requires-Dist: mypy>=1.10; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: ruff>=0.4; extra == 'dev'
Description-Content-Type: text/markdown

# nerdit

CLI client for **Nerdit** — the local AI orchestration engine for multi-GPU servers.

Submit and manage ML training jobs on remote GPU clusters from your local machine.

## Installation

```bash
pip install nerdit
```

Requires Python 3.11+.

## Quick Start

```bash
# Connect to a remote nerdit daemon
nerdit connect <server-ip> --token <token>

# Submit a job
nerdit run train.py --gpus 2

# Check status
nerdit status

# Follow logs in real-time
nerdit logs <job-id> --follow
```

## Commands

| Command | Description |
|---|---|
| `nerdit connect <host> --token <token>` | Connect to a remote daemon |
| `nerdit run <script> [--gpus N]` | Submit a training job |
| `nerdit status` | View GPU and job status |
| `nerdit logs <job-id> [--follow]` | View job logs |
| `nerdit stop <job-id>` | Stop a running job |
| `nerdit cleanup` | Stop all running jobs |
| `nerdit token` | Display the current auth token |
| `nerdit init --project` | Generate a `nerdit.toml` template |
| `nerdit check-deps` | Check system dependencies |

## Project Configuration

Create a `nerdit.toml` in your project root to set default job parameters:

```bash
nerdit init --project
```

```toml
[run]
script = "train.py"
gpus = 2
priority = 5
image = "nerdit-runtime:0.1"

[data]
dataset = "/data/imagenet:/data"
output = "/results/{{job_id}}:/output"
```

CLI flags always override `nerdit.toml` defaults.

## License

Apache License 2.0 — see [LICENSE](LICENSE) for details.
