Metadata-Version: 2.4
Name: faultline-sdk
Version: 0.24.0
Summary: ML training checkpoints and recovery for Faultline Cloud (import faultline)
Project-URL: Homepage, https://github.com/AnuraagTripathy/faultline
Project-URL: Repository, https://github.com/AnuraagTripathy/faultline
Project-URL: Documentation, https://github.com/AnuraagTripathy/faultline/tree/main/sdk
Author-email: Anuraag Tripathy <anuraag@users.noreply.github.com>
License-Expression: MIT
Keywords: checkpoints,machine-learning,ml,pytorch,recovery,training
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.10
Provides-Extra: dev
Requires-Dist: build>=1.2; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: twine>=5.0; extra == 'dev'
Provides-Extra: grpc
Requires-Dist: grpcio>=1.60; extra == 'grpc'
Requires-Dist: protobuf>=4.25; extra == 'grpc'
Provides-Extra: local
Requires-Dist: grpcio>=1.60; extra == 'local'
Requires-Dist: protobuf>=4.25; extra == 'local'
Provides-Extra: psutil
Requires-Dist: psutil>=5.9; extra == 'psutil'
Description-Content-Type: text/markdown

# Faultline Python SDK

Client library for [Faultline Cloud](https://github.com/AnuraagTripathy/faultline) — stream training metrics and checkpoints from your laptop, GPU VM, Slurm job, or Colab notebook.

```bash
pip install faultline-sdk
```

```python
import os
import faultline

run = faultline.start(
    "my-run",
    project="demo",
    api_key=os.environ["FAULTLINE_API_KEY"],
    base_url=os.environ["FAULTLINE_API_URL"],
)

for step in range(100):
    run.log(train_loss=0.5, step=step)
    if step % 10 == 0:
        run.save(step=step, model=model, optimizer=optimizer)

run.complete()
```

## Setup

1. Sign up on your Faultline dashboard and create an **API key** (Account page).
2. Set environment variables on the machine that runs training:

```bash
export FAULTLINE_API_KEY=fl_...
export FAULTLINE_API_URL=https://your-api.example.com
```

Training runs locally; Faultline stores metrics and checkpoints remotely.

## Optional extras

```bash
pip install "faultline-sdk[grpc]"    # local Rust runtime over gRPC
pip install "faultline-sdk[psutil]"  # host/GPU telemetry helpers
```

## Note on package name

The PyPI project is **`faultline-sdk`** because the name `faultline` is already registered by another package. Import in Python is still:

```python
import faultline
```
