tsdb
TSDB (Time Series Data Beans): a Python toolbox helping load 172 open-source time-series datasets
What it is and what it does
TSDB is a dataset management library that centralizes access to 173 public time-series datasets commonly used in research and benchmarking. It handles downloading, extraction, and caching automatically, letting you load datasets with a single function call. The library is designed to decouple dataset management from machine learning algorithms, so you can experiment with different datasets without writing custom download and preprocessing code.
The package performs minimal data processing—mainly removing invalid samples—and provides both processed and raw dataset access. It manages a local cache (by default in ~/.pypots/tsdb) and lets you list available datasets, delete specific cached items, or migrate the cache directory to external storage. Dependencies are standard data-science libraries (numpy, scipy, pandas, scikit-learn, requests, tqdm), making it straightforward to integrate into existing workflows.
Use it for:
- Benchmark time-series forecasting models against standard datasets like PhysioNet or PeMS traffic data without manual downloading.
- Rapidly prototype imputation and classification algorithms on diverse datasets (air quality, electricity, vessel AIS) with one-line loading.
- Access all 163 UCR & UEA classification datasets for time-series classification research without managing individual downloads.
- Manage dataset caching and storage on resource-constrained machines by migrating the cache directory to external disks.
- Build reproducible research pipelines where dataset versions and availability are centrally maintained by the TSDB project.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
TSDB downloads and loads 173 open-source time-series datasets with minimal setup, handling caching and basic data cleaning automatically so you can focus on analysis.
Yes. TSDB is actively maintained, has no known vulnerabilities, low install friction, and solves a real friction point—downloading and organizing public time-series datasets. It is well-suited for researchers and engineers working on time-series tasks who want to avoid manual dataset management. The permissive BSD license poses no barrier. Install it if you regularly work with benchmark time-series data.
Install
tsdb on PyPI
pip
pip install tsdbuv
uv add tsdbpoetry
poetry add tsdbInstalling tsdb
Before you install
Low install friction with a pure-Python wheel and seven common dependencies (numpy, scipy, pandas, pyarrow, scikit-learn, requests, tqdm). Active maintenance with recent commits and production-stable status.
License in practice
BSD 3-Clause permissive license allows commercial and private use with minimal restrictions; you must retain copyright notices and disclaimers in source distributions.
Quickstart
pip install tsdb
import tsdb
data = tsdb.load('physionet_2012')
tsdb.list() # see all 173 available datasets
Requires Python 3.8 or later; first load of a dataset downloads and caches it locally (default ~/.pypots/tsdb).
Verify before relying
- Whether all 173 datasets remain consistently available and whether download reliability is documented.
- Performance characteristics when loading large datasets or working with many cached datasets.
- Whether data preprocessing beyond 'removing invalid samples' is actually performed or if raw download is truly the only option.
Package facts
| License | Copyright (c) 2023-present, Wenjie Du All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 7 — tqdm, numpy, scipy, pandas, pyarrow, requests, scikit-learn |
| Maintenance | actively maintained — 127 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 127,808/month — #11,730 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: tsdb-0.8-py3-none-any.whl
Keywords: data mining, time series, time-series analysis, time-series database, time-series datasets, database, datasets, dataset downloading, imputation, classification, forecasting, partially observed, irregularly sampled, partially-observed time series, incomplete time series, missing data, missing values, pypots
Tags
More Artificial Intelligence packages
LiteLLM provides a unified Python interface to…
permissive · top 100 on PyPI
huggingface-hubClient library and CLI tool for downloading,…
permissive · top 100 on PyPI
langchainLangChain provides a framework for building…
permissive · top 1,000 on PyPI
hf-xethf-xet provides chunk-based deduplication and…
permissive · top 1,000 on PyPI
tokenizersTokenizers converts raw text into token…
permissive · top 1,000 on PyPI
transformersTransformers provides a unified framework for…
permissive · top 1,000 on PyPI
datasetsforecastDownloads and loads curated time-series…
permissive · top 15,000 on PyPI
pypotsPyPOTS provides machine learning algorithms for…
permissive · top 15,000 on PyPI
tsfreshAutomatically extracts hundreds of time-series…
permissive · top 15,000 on PyPI
benchpotsBenchPOTS provides standardized preprocessing…
permissive · top 15,000 on PyPI
ai4tsAI4TS provides a framework for building machine…
permissive · top 15,000 on PyPI
pygrinderPyGrinder introduces missing values into…
permissive · top 15,000 on PyPI
sktimesktime provides a unified interface for time…
permissive · top 5,000 on PyPI
datazetsDatazets provides a simple interface to…
permissive · top 15,000 on PyPI
time-aware-imputerFills missing values in time-series data while…
permissive · top 15,000 on PyPI
tsdownsampleDownsamples large time series datasets to a…
permissive · top 15,000 on PyPI