skillfed

benchpots

A Python Toolbox for Benchmarking Machine Learning on Partially-Observed Time Series

benchpots v1 122.4K downloads/30d#11,952 on PyPI44
Permissive 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) Active released

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 benchpots

uv

uv add benchpots

poetry

poetry add benchpots

Installing 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

Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: EducationIntended Audience :: Science/ResearchLicense :: OSI Approved :: BSD LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3Topic :: Scientific/Engineering :: Artificial IntelligenceTopic :: Software Development :: Libraries :: Application Frameworks

Tags

time series benchmarkingpartially observed time seriesincomplete time series evaluationmissing data imputation benchmarktime series preprocessing pipelinePOTS dataset preprocessingmachine learning time series evaluationtime series missing values
time-series-mlbenchmarkingmissing-data

More Artificial Intelligence packages

Further reading