Metadata-Version: 2.4
Name: timenet
Version: 0.1.0
Summary: TimeNet is infrastructure for registering, querying, downloading, converting, and exploring time series datasets in a shared TimeF format.
Keywords: time-series,datasets,timef,machine-learning
Author: The TimeNet authors
License-Expression: MIT
License-File: LICENSE
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Operating System :: OS Independent
Classifier: Typing :: Typed
Requires-Dist: httpx>=0.28
Requires-Dist: jaxtyping>=0.3
Requires-Dist: numpy>=2.1
Requires-Dist: pint>=0.25
Requires-Dist: pyarrow>=21
Requires-Dist: pydantic-settings>=2.4
Requires-Dist: timenet[cli,torch,build,zarr,s3] ; extra == 'all'
Requires-Dist: pyyaml>=6 ; extra == 'build'
Requires-Dist: jsonschema>=4.18 ; extra == 'build'
Requires-Dist: uv>=0.10.10 ; extra == 'build'
Requires-Dist: typer>=0.12 ; extra == 'cli'
Requires-Dist: rich>=13 ; extra == 'cli'
Requires-Dist: boto3>=1.34 ; extra == 's3'
Requires-Dist: torch>=2.2 ; extra == 'torch'
Requires-Dist: zarr>=3 ; extra == 'zarr'
Requires-Python: >=3.11
Project-URL: Homepage, https://timenet.ai
Project-URL: Documentation, https://docs.timenet.ai/
Project-URL: Repository, https://github.com/OpenTSLM/TimeNet
Project-URL: Issues, https://github.com/OpenTSLM/TimeNet/issues
Provides-Extra: all
Provides-Extra: build
Provides-Extra: cli
Provides-Extra: s3
Provides-Extra: torch
Provides-Extra: zarr
Description-Content-Type: text/markdown

# TimeNet

*Download and explore time-series datasets through one standardized format.*

> [!NOTE]
> This is a pre-release version and is subject to change. We are actively working on
> improvements around performance and integrations, and welcome community contributions.

[![PyPI](https://img.shields.io/pypi/v/timenet)](https://pypi.org/project/timenet/)
[![Docs](https://img.shields.io/badge/docs-docs.timenet.ai-1f6feb)](https://docs.timenet.ai/)
[![License: MIT](https://img.shields.io/badge/license-MIT-green)](https://github.com/OpenTSLM/TimeNet/blob/main/LICENSE)

Time-series data is fragmented. TimeNet standardizes it. Every dataset used to ship in its own
shape, forcing teams to rewrite the same loading code again and again. TimeF replaces that with
one shared format and one set of tools to find, download, and load any dataset the same way,
whether it holds ECGs, accelerometer traces, or market prices.

TimeNet hands you the data and stops there. Training, inference, and modeling are up to you.

We're actively growing TimeNet: adding datasets, integrating time-series ML models, and building
connectors to data processing libraries. Contributions in any of these areas are welcome.

Full documentation: <https://docs.timenet.ai/>

## How it fits together

![TimeNet architecture diagram](https://raw.githubusercontent.com/OpenTSLM/TimeNet/main/docs/assets/architecture.svg)

A connector turns a raw source into a manifest plus parquet and publishes it to a registry. The
client reads the manifest from the registry and loads the data. Reading never runs connector code,
so everything a consumer needs to interpret the parquet lives in the manifest.

- `BaseConnector` is the only contract a new data source must satisfy.
- `TimeFDataset` is the in-memory model a connector populates during `convert()`.
- `TimeFWriter` serializes a populated `TimeFDataset` to disk.
- `TimeFReader` reads a TimeF version directory back into a `TimeFDataset`.

## Components

The project is a [uv](https://docs.astral.sh/uv/) workspace with two packages under `packages/`,
plus the registry they read from and write to.

| Part | What it is | Ships |
| --- | --- | --- |
| `timenet` | the SDK and CLI | the TimeF format, reader/writer, registry client, engine, `BaseConnector` |
| `timenet-connectors` | the producer package | connector recipes, dataset cards, and the `timenet-build` CLI |
| registry | a served location | compiled manifests plus parquet; can be public, a private internal one, or a local directory |

See the [architecture guide](https://docs.timenet.ai/architecture.html) for the full map, and the
[concepts page](https://docs.timenet.ai/concepts.html) for the terminology.

## Install

Requires Python 3.11 or newer (tested on 3.11 to 3.13).

```bash
uv add timenet            # core: TimeF format, reader/writer, registry client
uv add 'timenet[cli]'     # add the timenet console command
uv add 'timenet[torch]'   # add load_torch (PyTorch Dataset); works with any torch build
```

Once installed, the CLI is available as `timenet`. See [Get started](https://docs.timenet.ai/get-started.html)
to load your first dataset.

## License

TimeNet is released under the [MIT License](https://github.com/OpenTSLM/TimeNet/blob/main/LICENSE).

### Dataset licenses

The MIT License covers TimeNet's own code, not the datasets it fetches. Each dataset keeps its
upstream license. Check the `license` and `source_url` fields on a dataset's card to see what applies
and where the data comes from. Some sources, such as PhysioNet, only grant credentialed access, so
follow their terms when you download. See
[Dataset licensing](https://docs.timenet.ai/catalog/licensing/) for the full note.
