Thyme is the streaming feature platform that eliminates training/serving skew. Define features once in Python — Thyme compiles them to a high-throughput Rust engine for real-time serving and point-in-time correct offline training.
From feature computation to serving, Thyme handles the entire lifecycle so your team can focus on building great models.
Features defined in Python are compiled to a high-throughput Rust streaming engine. Real-time aggregations with millisecond freshness.
Point-in-time correct feature retrieval for training. Query any feature exactly as it was known at any past moment.
One definition, two modes. The same feature logic runs in both streaming aggregation and offline point-in-time lookups — no divergence, no silent accuracy drops.
Composable abstractions: datasets define event streams, pipelines apply windowed aggregations, and extractors compute derived features on read.
Distributed leasing, checkpointing, and replay logs ensure exactly-once processing with no data loss or duplication.
No Kafka consumers to manage, no state stores to tune, no checkpoint recovery to handle. You own the feature logic — Thyme owns the infrastructure.
Define features in Python, commit them with the CLI, and Thyme compiles them through a four-layer architecture — from SDK to serving — all powered by Rust.
Thyme compiles Python feature definitions to a Rust streaming engine. Low latency, zero skew, and a three-command deployment workflow.
P99 Online Latency
Definition for Online & Offline
Training/Serving Skew
Commands to Deploy
from thyme import *
@dataset(index=True)
class UserStats:
user_id: str = field(key=True)
ts: datetime = field(timestamp=True)
avg_spend_7d: float
@pipeline(version=1)
@inputs(Transaction)
def compute(cls, t):
return t.groupby("user_id").aggregate(
avg_spend_7d=Avg(of="amount", window="7d")
)
Define features in Python. Deploy with thyme commit. Serve in milliseconds.
Join the teams shipping ML features faster with Thyme. Get up and running in minutes, not months.