Metadata-Version: 2.1
Name: nextpoints-sdk
Version: 0.2.0
Summary: Shared data models and service protocols for NextPoints and its ML backend
Author: NextPoints
License: MIT
Project-URL: Homepage, https://github.com/windzu/NextPoints
Project-URL: Repository, https://github.com/windzu/NextPoints
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: License :: OSI Approved :: MIT License
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: pydantic<3.0,>=2.5
Requires-Dist: httpx<0.28.0,>=0.27.0
Provides-Extra: dev
Requires-Dist: pytest<9.0,>=7.0; extra == "dev"
Requires-Dist: mypy<2.0,>=1.0; extra == "dev"
Requires-Dist: ruff<0.5.0,>=0.4.0; extra == "dev"
Requires-Dist: build<2.0,>=1.2.0; extra == "dev"
Requires-Dist: twine<6.0,>=5.0.0; extra == "dev"

# nextpoints-sdk

Shared data models and simple synchronous service protocol client between NextPoints and its ML backend.

MVP scope:

- Pydantic models for project metadata, annotations, calibration.
- Synchronous HTTP client (httpx) for three service endpoints: pre-annotation, reconstruction, calibration.
- Minimal error and artifact models.

## Install (local)

```
pip install -e .
```

## Run tests

```
pytest -q
```

## Basic Usage

```python
from nextpoints_sdk.client.services import ServicesClient
from nextpoints_sdk.models.requests import PreAnnotationRequest
# build project_meta ...
client = ServicesClient(base_url="http://ml-backend:8000", api_key="your-key")
resp = client.pre_annotate(PreAnnotationRequest(project_meta=project_meta))
print(resp.annotations.keys())
```

This is an early skeleton. Models will be filled incrementally.
