A Python client to interact with the KappaML platform
Project description
KappaML Python Client
Python client to interact with the KappaML platform 🐍
This SDK provides a simple interface for creating, training, and managing online machine learning models.
Platform: https://kappaml.com API Keys: https://app.kappaml.com/api-keys API Documentation: https://api.kappaml.com/docs OpenAPI Schema: https://api.kappaml.com/openapi.json
Installation
pip install kappaml
Quick Start
from kappaml import KappaML
# Initialize the client
client = KappaML(api_key="your_api_key") # Or set KAPPAML_API_KEY env variable
# Create a new model
model_id = client.create_model(
name="my-regression-model",
ml_type="regression"
)
# Train the model with a single data point
client.learn(
model_id=model_id,
features={"x1": 1.0, "x2": 2.0},
target=3.0
)
# Make predictions
prediction = client.predict(
model_id=model_id,
features={"x1": 1.5, "x2": 2.5}
)
# Get model metrics
metrics = client.get_metrics(model_id)
# Clean up
client.delete_model(model_id)
API Reference
KappaML Class
Constructor
client = KappaML(api_key: Optional[str] = None)
api_key: Your KappaML API key. If not provided, will look forKAPPAML_API_KEYenvironment variable.
Methods
create_model
def create_model(
name: str,
ml_type: str,
wait_for_deployment: bool = True,
timeout: int = 60
) -> str
Creates a new model on KappaML.
name: Name of the modelml_type: Type of ML task ('regression' or 'classification')wait_for_deployment: Whether to wait for model deployment to completetimeout: Maximum time to wait for deployment in seconds- Returns: The model ID
learn
def learn(
model_id: str,
features: Dict[str, Any],
target: Union[float, int, str]
) -> Dict[str, Any]
Train the model with a single data point.
model_id: The model IDfeatures: Dictionary of feature names and valuestarget: The target value to learn from- Returns: Response from the learning API
predict
def predict(
model_id: str,
features: Dict[str, Any]
) -> Dict[str, Any]
Make predictions using a model.
model_id: The model IDfeatures: Dictionary of feature names and values- Returns: Model predictions
get_metrics
def get_metrics(model_id: str) -> Dict[str, Any]
Get current metrics for a model.
model_id: The model ID- Returns: Model metrics
delete_model
def delete_model(model_id: str) -> None
Delete a model.
model_id: The model ID to delete
Error Handling
The SDK defines several exception classes for handling errors:
KappaMLError: Base exception for all SDK errorsModelNotFoundError: Raised when a model is not foundModelDeploymentError: Raised when model deployment fails or times out
Example error handling:
from kappaml import KappaML, ModelNotFoundError
client = KappaML()
try:
metrics = client.get_metrics("non-existent-model")
except ModelNotFoundError:
print("Model not found!")
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kappaml-1.0.3.tar.gz.
File metadata
- Download URL: kappaml-1.0.3.tar.gz
- Upload date:
- Size: 4.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1e64d7fcaf6a40cda46686eb15854af4d8d5a731060944b8c8168a268e025b2c
|
|
| MD5 |
19a1c718462997175ded9e41b3186f03
|
|
| BLAKE2b-256 |
4dcc1b6df2f18d09442153d32eda066bc9f8b44e0571f555aef4c2b9d0d78c38
|
File details
Details for the file kappaml-1.0.3-py3-none-any.whl.
File metadata
- Download URL: kappaml-1.0.3-py3-none-any.whl
- Upload date:
- Size: 5.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2552ba992ad20b5a31ff48f0b99a1124e151448b95747cac2ee72e452acf1f7
|
|
| MD5 |
9b9d10be301cabbef7d16adebea341a8
|
|
| BLAKE2b-256 |
6736aa721dcc19439d0662fe38edbf77e15b20e05db256c2fca51b7105796348
|