Metadata-Version: 2.4
Name: stamm-package
Version: 0.1.1
Summary: Python client SDK for Stamm federated learning registry
Author-email: Santiago <sam2800ml@gmail.com>
Requires-Python: >=3.12.0
Requires-Dist: httpx>=0.28.1
Requires-Dist: pydantic>=2.11.5
Description-Content-Type: text/markdown

# Stamm SDK

Lightweight Python SDK to interact with the Stamm ML registry API (FastAPI backend), including auth and model inference/update endpoints.

## Install Dependencies

Use `uv` in this repository:

```bash
uv sync
```

## Quick Start

```python
from stamm_sdk import Client

sdk = Client(base_url="http://188.245.241.118:8080")
sdk.login(email="you@example.com", password="your-password")

projects = sdk.ml.list_projects()
print(projects)

prediction = sdk.ml.predict(
	project_id="your-project-id",
	model_id="your-model-id",
	features={"temperature": 24.7, "ph": 6.8},
)
print(prediction)

sdk.logout()
sdk.close()
```

## Implemented Modules

- `stamm_sdk.core`: config and authenticated HTTP session
- `stamm_sdk.registry`: ML endpoint wrappers, artifact bundle, storage manager
- `stamm_sdk.schemas`: pydantic schemas for model/federation metadata
- `stamm_sdk.tracking`: local experiment logger with optional remote push
- `stamm_sdk.learning`: centralized/federated stubs for training orchestration

## Environment Variables

- `STAMM_API_BASE_URL`: default API base URL
- `STAMM_API_TIMEOUT`: request timeout in seconds

