Metadata-Version: 2.4
Name: coreplexml
Version: 0.1.1
Summary: Python SDK for CorePlexML AutoML & MLOps platform
Home-page: https://coreplexml.io
Author: Rodrigo Henríquez M. - Intellicore
Author-email: r@coreplexml.io
License: BUSL-1.1
Project-URL: Platform, https://platform.coreplexml.io
Project-URL: Documentation, https://platform.coreplexml.io/docs/site/
Project-URL: Source, https://platform.coreplexml.io/sdk
Keywords: automl mlops machine-learning h2o deployment monitoring
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
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: Programming Language :: Python :: 3.13
Classifier: License :: Other/Proprietary License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests>=2.28
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: project-url
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# CorePlexML Python SDK

Official Python client for the [CorePlexML](https://coreplexml.io) AutoML & MLOps platform.

## Installation

```bash
pip install coreplexml
```

## Quick Start

```python
from coreplexml import CorePlexMLClient

client = CorePlexMLClient(
    base_url="https://platform.coreplexml.io",
    api_key="your-api-key"
)

# List projects
projects = client.projects.list()

# Create a project
project = client.projects.create(name="My ML Project")

# Upload a dataset
dataset = client.datasets.upload(
    project_id=project["id"],
    file_path="data.csv",
    name="Training Data"
)

# Run an AutoML experiment
experiment = client.experiments.create(
    project_id=project["id"],
    dataset_version_id=dataset["version_id"],
    target_column="label",
    problem_type="classification"
)

# Get the best model
models = client.models.list(project_id=project["id"])
best = models["items"][0]

# Deploy
deployment = client.deployments.create(
    project_id=project["id"],
    model_id=best["id"],
    name="production-v1"
)

# Predict
result = client.deployments.predict(
    deployment_id=deployment["id"],
    inputs={"feature1": 1.0, "feature2": "A"}
)
print(result["predictions"])
```

## Resources

The client provides access to all platform resources:

| Resource | Description |
|----------|-------------|
| `client.projects` | Project CRUD |
| `client.datasets` | Dataset upload, versions, columns |
| `client.experiments` | AutoML experiment management |
| `client.models` | Model listing, metrics, explainability |
| `client.deployments` | Deploy models, predict, A/B tests |
| `client.reports` | Generate PDF/HTML reports |
| `client.privacy` | Privacy Suite (PII detection, compliance) |
| `client.synthgen` | Synthetic data generation (CTGAN, TVAE) |
| `client.studio` | What-If analysis sessions |

## Authentication

Create an API key from **Profile > API Keys** in the platform, then:

```python
client = CorePlexMLClient(
    base_url="https://platform.coreplexml.io",
    api_key="cpx_your_api_key_here"
)
```

## Error Handling

```python
from coreplexml import CorePlexMLClient, NotFoundError, ValidationError

try:
    client.projects.get("nonexistent-id")
except NotFoundError:
    print("Project not found")
except ValidationError as e:
    print(f"Validation error: {e}")
```

## Requirements

- Python >= 3.9
- `requests` >= 2.28

## Links

- [Platform](https://platform.coreplexml.io)
- [API Documentation](https://platform.coreplexml.io/docs/site/)
- [Website](https://coreplexml.io)

## License

Business Source License 1.1
