skillfed

pypots

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

pypots v1.5 123.0K downloads/30d#11,924 on PyPI2,045
Permissive 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) Active released

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 pypots

uv

uv add pypots

poetry

poetry add pypots

Installing 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

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

Tags

time series missing data imputationincomplete time series machine learningpartially observed time seriestime series forecasting with gapstime series anomaly detection missing valuesmultivariate time series classificationtime series clustering incomplete data
time-seriesmissing-dataneural-networks

More Artificial Intelligence packages