Metadata-Version: 2.4
Name: tyko
Version: 0.1.3
Summary: Official Python SDK for Tyko Labs - Track experiments, manage models, and version datasets
Project-URL: Homepage, https://tyko-labs.com
Project-URL: Documentation, https://tyko-labs.com/docs
Author-email: Tyko Labs <contact@tyko-labs.com>
Keywords: experiment-tracking,machine-learning,mlops,model-management
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
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: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.10
Requires-Dist: httpx~=0.24
Requires-Dist: typing-extensions~=4.15
Provides-Extra: dev
Requires-Dist: black~=25.12; extra == 'dev'
Requires-Dist: mkdocs>=1.5.0; extra == 'dev'
Requires-Dist: mkdocstrings[python]~=1.0; extra == 'dev'
Requires-Dist: mypy~=1.19; extra == 'dev'
Requires-Dist: pytest-cov~=7.0; extra == 'dev'
Requires-Dist: pytest-httpx~=0.22; extra == 'dev'
Requires-Dist: pytest~=9.0; extra == 'dev'
Requires-Dist: ruff~=0.14; extra == 'dev'
Requires-Dist: types-requests~=2.32.4; extra == 'dev'
Description-Content-Type: text/markdown

# Tyko Client - Python SDK

Official Python SDK for Tyko Labs.

Track experiments, manage models, and version datasets with a simple, intuitive API.

## Hierarchy

Tyko uses a three-level hierarchy to organize your ML work:

```
Project → Experiment → Run
```

- **Project**: Top-level container for your ML project (e.g., "mnist-classifier")
- **Experiment**: Groups related runs for comparison (e.g., "hyperparameter-search")
- **Run**: A single training execution with parameters, metrics, and artifacts

## Installation

Install via pip:

```bash
pip install tyko
```

## Quick Start

```python
from tyko import TykoClient

client = TykoClient()

# Simplest usage - just project name (uses "default" experiment)
with client.start_run(project="my-ml-project") as run:
    run.log_params({"learning_rate": 0.001})
    run.log_metric("accuracy", 0.95)

# With experiment name for organized work
with client.start_run(project="my-ml-project", experiment="hyperparameter-search") as run:
    run.log_params({"learning_rate": 0.01, "batch_size": 64})
    run.log_metric("accuracy", 0.97)

# With custom run name
with client.start_run(project="my-ml-project", name="baseline-v1") as run:
    run.log_metric("accuracy", 0.95)
```

## Advanced Usage

For more control, create projects and experiments explicitly:

```python
project = client.create_project("my-ml-model")
experiment = project.create_experiment("fine-tuning")

with experiment.start_run() as run:
    run.log_metric("loss", 0.15)
```
