Skip to main content
This reference documents all public functions and classes in the onyxengine Python package.

Installation

pip install onyxengine

Quick Reference

Core Functions

FunctionDescription
save_dataset()Upload a dataset to the Engine
load_dataset()Download a dataset from the Engine
save_model()Upload a model to the Engine
load_model()Download a model from the Engine
train_model()Train a model on the Engine
optimize_model()Run hyperparameter optimization

Data Classes

ClassDescription
OnyxDatasetDataset container with dataframe and metadata

Model Configurations

ClassDescription
MLPConfigMulti-Layer Perceptron configuration
RNNConfigRecurrent Neural Network configuration
TransformerConfigTransformer configuration

Feature Classes

ClassDescription
InputModel input feature definition
OutputModel output feature definition

Training Classes

ClassDescription
TrainingConfigTraining parameters
OptimizationConfigHyperparameter search configuration
Optimizer ConfigsAdamW, SGD, and scheduler configurations

Import Patterns

# Initialize the client
from onyxengine import Onyx

onyx = Onyx()  # Uses ONYX_API_KEY env var
# Or explicitly: onyx = Onyx(api_key="your_api_key")

# Client methods
onyx.save_dataset(...)
onyx.load_dataset(...)
onyx.save_model(...)
onyx.load_model(...)
onyx.train_model(...)
onyx.optimize_model(...)
onyx.get_object_metadata(...)

# Data classes
from onyxengine.data import OnyxDataset

# Modeling classes
from onyxengine.modeling import (
    # Feature classes
    Input,
    Output,

    # Model configs
    MLPConfig,
    RNNConfig,
    TransformerConfig,

    # Training configs
    TrainingConfig,
    OptimizationConfig,

    # Optimizers
    AdamWConfig,
    SGDConfig,

    # Learning rate schedulers
    CosineDecayWithWarmupConfig,
    CosineAnnealingWarmRestartsConfig,

    # Optimization configs (for hyperparameter search)
    MLPOptConfig,
    RNNOptConfig,
    TransformerOptConfig,
    AdamWOptConfig,
    SGDOptConfig,
    CosineDecayWithWarmupOptConfig,
    CosineAnnealingWarmRestartsOptConfig,
)

Type Conventions

The SDK uses Python type hints throughout:
from typing import List, Dict, Optional, Union, Literal

# Example function signature
def load_model(
    name: str,
    version_id: Optional[str] = None,
    mode: Literal["online", "offline"] = "online"
) -> Union[MLP, RNN, Transformer]:
    ...

Error Handling

Client methods raise exceptions with descriptive messages:
from onyxengine import Onyx

onyx = Onyx()

try:
    model = onyx.load_model('nonexistent_model')
except Exception as e:
    print(f"Error: {e}")
    # "Onyx Engine API error: Model [nonexistent_model: None] not found in the Engine."

Environment Variables

VariableDescription
ONYX_API_KEYYour API key for authentication

Local Storage

The SDK caches datasets and models locally:
  • Datasets: ~/.onyx/datasets/
  • Models: ~/.onyx/models/
Cached files are automatically updated when newer versions are available.