Skip to content

Get started

Install

TimeNet needs Python 3.11 or newer. The core install stays lean; the CLI and PyTorch loader are extras you opt into.

Coming soon

The timenet packages aren't on PyPI yet. Install instructions land here once they ship.

To work on TimeNet or author connectors, clone the repo and sync with uv:

git clone https://github.com/OpenTSLM/TimeNet.git
cd TimeNet
uv sync --all-groups --all-extras

Load a dataset

No public registry yet

There's no hosted registry to pull from, so build the offline timenet/hello-world dataset into a local registry first. It needs no network and comes from timenet-connectors.

timenet-curate build timenet/hello-world

That writes into your local registry, which is where the TimeNet client looks by default. Load the dataset:

import pandas as pd
from timenet.client import TimeNet

dataset = TimeNet().load("timenet/hello-world")
dataset.describe()                                # identity, counts, a quick preview

# Each channel converts to Arrow or NumPy, so it drops straight into pandas:
series = dataset.samples[0].time_series[0]
df = pd.DataFrame({series.channel: series.to_numpy()})
print(df.head())

pandas is optional

The DataFrame step uses pandas (uv add pandas). It isn't a TimeNet dependency. Drop it for a pure-NumPy workflow.

load reads the dataset into a TimeFDataset with lazy per-series values; to_arrow() / to_numpy() on a TimeSeries pull the values on demand. See Client for search, version pinning, PyTorch, and the CLI, and Connectors / Curation to build your own datasets.