pypots
A Python Toolbox for Machine Learning on Partially-Observed Time Series
What it is and what it does
PyPOTS is a machine learning toolkit designed specifically for time series data with missing values—a common real-world problem caused by sensor failures, communication errors, or data collection issues. It fills a gap by providing a unified interface to classical and state-of-the-art algorithms for handling partially-observed time series, rather than requiring researchers to build custom solutions or adapt general-purpose libraries.
The package supports five core tasks: imputation (filling missing values), forecasting, classification, clustering, and anomaly detection. It includes neural network models, transformers adapted for incomplete data, and LLM-based approaches. All models share consistent APIs and come with documentation and examples. The toolkit depends on torch, transformers, scikit-learn, and other standard data science libraries, making it suitable for researchers and engineers working with real-world time series that contain gaps.
Use it for:
- Impute missing sensor readings in IoT or industrial monitoring data before downstream analysis
- Forecast equipment failures or system behavior when historical data has communication gaps
- Classify time series patterns (e.g., patient conditions) despite incomplete medical records
- Detect anomalies in multivariate time series with irregular sampling or missing observations
- Cluster similar time series trajectories when some features are not always recorded
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
PyPOTS provides machine learning algorithms for time series with missing values, supporting imputation, classification, clustering, forecasting, and anomaly detection on partially-observed multivariate data.
Yes, if you work with incomplete time series data and need a unified toolkit with multiple algorithms. The package is actively maintained, BSD-licensed, and has no known vulnerabilities. The 16 runtime dependencies (especially torch and transformers) add significant install size and complexity; evaluate whether you need the full suite or can use a lighter alternative if you only need imputation or forecasting.
Install
pypots on PyPI
pip
pip install pypotsuv
uv add pypotspoetry
poetry add pypotsInstalling pypots
Before you install
Low friction installation as a pure Python wheel. Active maintenance with a recent release (101 days ago) and steady repository activity. Depends on 16 runtime packages including torch, transformers, and scikit-learn, which are themselves well-maintained but add substantial disk footprint.
License in practice
BSD 3-Clause license (permissive). You may use, modify, and distribute the package freely in commercial and private projects provided you retain the copyright notice and disclaimer.
Quickstart
pip install pypots
import pypots
from pypots.imputation import SAITS
# Initialize and use an imputation model
model = SAITS(n_steps=24, n_features=10)
model.fit(train_data)
imputed = model.predict(test_data)
Requires torch and transformers, which have their own system dependencies (CUDA optional but recommended for GPU acceleration). Python 3.8 or later.
Verify before relying
- Whether all listed algorithms (HELIX, MixLinear, SegRNN, etc.) are production-ready or still experimental
- Performance benchmarks comparing PyPOTS models to standalone implementations
- Memory requirements for typical multivariate time series datasets
- Whether hyperparameter optimization via NNI is included in the base install or requires separate setup
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 | 16 — h5py, numpy, scipy, sympy, einops, pandas, seaborn, matplotlib, tensorboard, scikit-learn, transformers, torch, tsdb, pygrinder, benchpots, ai4ts |
| Maintenance | actively maintained — 101 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 123,029/month — #11,924 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pypots-1.5-py3-none-any.whl
Keywords: data science, data mining, neural networks, machine learning, deep learning, artificial intelligence, time-series analysis, time series, imputation, interpolation, 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
ai4tsAI4TS provides a framework for building machine…
permissive · top 15,000 on PyPI
benchpotsBenchPOTS provides standardized preprocessing…
permissive · top 15,000 on PyPI
pytsPyts provides time series classification…
permissive · top 15,000 on PyPI
tsdbTSDB downloads and loads 173 open-source…
permissive · top 15,000 on PyPI
pygrinderPyGrinder introduces missing values into…
permissive · top 15,000 on PyPI
stumpySTUMPY computes the matrix profile for time…
permissive · top 15,000 on PyPI
time-aware-imputerFills missing values in time-series data while…
permissive · top 15,000 on PyPI
sktimesktime provides a unified interface for time…
permissive · top 5,000 on PyPI
hyppohyppo provides multivariate hypothesis testing…
permissive · top 15,000 on PyPI
adtkADTK provides detectors, transformers, and…
copyleft · top 15,000 on PyPI