benchpots
A Python Toolbox for Benchmarking Machine Learning on Partially-Observed Time Series
What it is and what it does
BenchPOTS is a benchmarking toolkit for evaluating machine learning algorithms on partially-observed time series (POTS)—datasets with missing or irregularly sampled values. It provides unified preprocessing pipelines for standard POTS datasets and a suite of evaluation tasks to measure algorithm performance on problems like imputation, classification, clustering, and forecasting.
The package wraps datasets like PhysioNet2012 and applies configurable missing-data patterns (e.g., MCAR with specified rates) to create reproducible benchmarks. It depends on torch, scikit-learn, pandas, numpy, and h5py for core functionality, plus specialized time-series libraries (tsdb, pygrinder, nonlinear_benchmarks). It targets researchers and practitioners developing or comparing algorithms for incomplete time series.
Use it for:
- Evaluate imputation algorithms on standard POTS datasets with controlled missing-data rates.
- Benchmark time-series forecasting models on partially-observed data from medical or sensor domains.
- Compare classification and clustering performance across multiple incomplete time-series datasets.
- Preprocess and standardize POTS datasets for reproducible machine learning research.
- Validate new time-series algorithms against established benchmarks before publication.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
BenchPOTS provides standardized preprocessing pipelines and evaluation tasks for benchmarking machine learning algorithms on partially-observed time series datasets.
Yes, if you are developing or comparing machine learning algorithms for partially-observed time series. The package offers low install friction, active maintenance, permissive licensing, and no known vulnerabilities. Install with caution if you have limited disk or memory—the 8 runtime dependencies (especially torch) are substantial. Not necessary for one-off time-series tasks; best suited for research and systematic benchmarking.
Install
benchpots on PyPI
pip
pip install benchpotsuv
uv add benchpotspoetry
poetry add benchpotsInstalling benchpots
Before you install
Low install friction with a pure Python wheel. Active maintenance with a recent commit on 2026-08-03. Depends on established scientific libraries (numpy, pandas, scikit-learn, torch, h5py) plus specialized time-series packages (tsdb, pygrinder, nonlinear_benchmarks).
License in practice
BSD License (permissive) allows commercial and private use with minimal restrictions—only requires retaining copyright notice and disclaimer in distributions.
Quickstart
pip install benchpots
import benchpots
benchpots.datasets.preprocess_physionet2012(subset="all", rate=0.1)
Requires Python >=3.8; torch and h5py may need system-level dependencies (CUDA, HDF5 libraries) depending on your environment.
Verify before relying
- Whether all 8 runtime dependencies (h5py, numpy, pandas, scikit-learn, torch, tsdb, pygrinder, nonlinear_benchmarks) are required for basic usage or only for specific datasets/tasks.
- Whether the package includes pre-downloaded datasets or requires separate data acquisition.
- Performance characteristics and memory footprint when working with large-scale time series.
Package facts
| License | Copyright (c) 2024-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 | 8 — h5py, numpy, pandas, scikit-learn, torch, tsdb, pygrinder, nonlinear_benchmarks |
| Maintenance | actively maintained — 109 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 122,414/month — #11,952 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: benchpots-1-py3-none-any.whl
Keywords: data mining, benchmark, neural networks, machine learning, deep learning, artificial intelligence, time-series analysis, time series, imputation, classification, clustering, forecasting, partially observed, irregular sampled, partially-observed time series, incomplete time series, missing data, missing values
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
pygrinderPyGrinder introduces missing values into…
permissive · top 15,000 on PyPI
pypotsPyPOTS provides machine learning algorithms for…
permissive · top 15,000 on PyPI
ai4tsAI4TS provides a framework for building machine…
permissive · top 15,000 on PyPI
tsdbTSDB downloads and loads 173 open-source…
permissive · top 15,000 on PyPI
fevfev is a lightweight benchmarking library for…
permissive · top 15,000 on PyPI
pytsPyts provides time series classification…
permissive · top 15,000 on PyPI
sktimesktime provides a unified interface for time…
permissive · top 5,000 on PyPI
time-aware-imputerFills missing values in time-series data while…
permissive · top 15,000 on PyPI
ogbOGB provides standardized benchmark datasets,…
permissive · top 15,000 on PyPI
coreforecastProvides fast C++ implementations of…
permissive · top 5,000 on PyPI