Skip to main content

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:

pip install tyko

Quick Start

from tyko import TykoClient

client = TykoClient()

# Simplest usage - just project name (uses "default" experiment)
# Environment info (Python version, CPU, GPU, etc.) is auto-captured
with client.start_run(project="my-ml-project") as run:
    run.params["learning_rate"] = 0.001
    run.params["batch_size"] = 32
    # ... your training code ...

# With params at creation time
with client.start_run(
    project="my-ml-project",
    experiment="hyperparameter-search",
    params={"learning_rate": 0.01, "batch_size": 64}
) as run:
    # Params are already set, can add more during the run
    run.params["epochs"] = 100
    # ... your training code ...

Environment Capture

Environment information is automatically captured when you start a run:

  • Python version
  • Operating system/platform
  • CPU count
  • RAM size (if psutil is installed)
  • GPU count and names (if torch is available)

You can also manually add environment details:

with client.start_run(project="ml-experiments") as run:
    # Add custom environment info
    run.environment["git_commit"] = "abc123"
    run.environment["cuda_version"] = "12.1"

To use the standalone function:

from tyko import capture_environment

env = capture_environment()
print(env)  # {'python_version': '3.12.1', 'platform': 'Linux-...', ...}

Metric Logging

Log metrics during training using run.log():

with client.start_run(project="image-classifier") as run:
    run.params["learning_rate"] = 0.001
    run.params["batch_size"] = 32

    for epoch in range(100):
        train_loss = train_epoch()       # your training step
        val_loss, val_acc = evaluate()   # your eval step

        # Log multiple metrics at once
        run.log({
            "train/loss": train_loss,
            "eval/loss": val_loss,
            "eval/accuracy": val_acc,
            "epoch": epoch,
        })

Metric Naming Conventions

Use prefixes with slashes for grouped visualization in the dashboard:

Pattern Example Dashboard Grouping
prefix/metric train/loss, train/accuracy Grouped under "train"
prefix/metric eval/loss, eval/accuracy Grouped under "eval"
Plain name epoch, step Ungrouped

This allows the dashboard to organize metrics into logical groups automatically.

Configuration

API Key

Set your API key via environment variable (recommended):

export TYKO_API_KEY="your-api-key"

Or pass it explicitly:

client = TykoClient(api_key="your-api-key")

If the server has anonymous access enabled (ALLOW_ANONYMOUS=true), no API key is needed:

client = TykoClient(api_url="https://your-server.com")

Server URL

For self-hosted deployments, set the server URL:

export TYKO_API_URL="https://your-server.com"

Or:

client = TykoClient(api_url="https://your-server.com")

Development

Prerequisites

  • Python 3.11+
  • uv package manager

Setup

cd packages/tyko-client
uv sync

Testing

moon run tyko-client:test

Linting

# Check code style
moon run tyko-client:ruff

# Format code
moon run tyko-client:black

# Type checking
moon run tyko-client:mypy

# All three
moon run tyko-client:lint

Building

moon run tyko-client:build

Metadata

Release files for tyko 0.1.54

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tyko 0.1.54
File Size Uploaded Provenance Actions
tyko-0.1.54.tar.gz 70.5 kB Without provenance Details for tyko-0.1.54.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for tyko 0.1.54
File Interpreter ABI Platform Actions
tyko-0.1.54-py3-none-any.whl Python 3 none any Details for tyko-0.1.54-py3-none-any.whl

Total release size: 118.9 kB

Release files / tyko-0.1.54.tar.gz

Download URL tyko-0.1.54.tar.gz
Size 70.5 kB
Tags Source
SHA-256 checksum
How to use checksums
f5bdb71e98a0910e351d3f02802f769e3072712f7f511b881ce2b34b847820cf
BLAKE2b-256 checksum
How to use checksums
ac9821e30398afc6f8581be7653a942ae0b6fa2649ee3e13a8e88bffe93bc3d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Hatch/1.18.1 {"ci":true,"cpu":"x86_64","distro":{"id":"bookworm","libc":{"lib":"glibc","version":"2.36"},"name":"Debian GNU/Linux","version":"12"},"implementation":{"name":"CPython","version":"3.14.5"},"installer":{"name":"hatch","version":"1.18.1"},"openssl_version":"OpenSSL 3.5.6 7 Apr 2026","python":"3.14.5","system":{"name":"Linux","release":"5.15.154+"}} HTTPX2/2.14.0

Release files / tyko-0.1.54-py3-none-any.whl

Download URL tyko-0.1.54-py3-none-any.whl
Size 48.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
64a430ce2fd2c2212063e441cf16ecf8118d35199d11268c5ed84913ee917c06
BLAKE2b-256 checksum
How to use checksums
0efaf46bf8bdd1a84a1620b11736a7f9329e8798cf4cf9f5a066cf93e363a227
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Hatch/1.18.1 {"ci":true,"cpu":"x86_64","distro":{"id":"bookworm","libc":{"lib":"glibc","version":"2.36"},"name":"Debian GNU/Linux","version":"12"},"implementation":{"name":"CPython","version":"3.14.5"},"installer":{"name":"hatch","version":"1.18.1"},"openssl_version":"OpenSSL 3.5.6 7 Apr 2026","python":"3.14.5","system":{"name":"Linux","release":"5.15.154+"}} HTTPX2/2.14.0

Security for tyko 0.1.54

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.54 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page