Skip to main content

Logo

📖 Documentation · ⚙️ Tutorials
CI/CD build docs pypi publish models
Code PyPI version PyPI - Python Version !black
Community contributions welcome
Paper arXiv

Installation

You can install via pip with:

pip install pyrregular

For the third-party models, install all of them:

pip install "pyrregular[models]"

or only the family you need: borf, sktime, tslearn, pypots, jax (e.g. pip install "pyrregular[sktime]"). The extra for each pipeline is listed in the table below.

Quick Guide

List datasets

If you want to see all the datasets available, you can use the list_datasets function:

from pyrregular import list_datasets

df = list_datasets()

Load a dataset

To load a dataset, you can use the load_dataset function. For example, to load the "Garment" dataset, you can do:

from pyrregular import load_dataset

df = load_dataset("Garment.h5")

The dataset is saved in the default os cache directory, which can be found with:

import pooch

print(pooch.os_cache("pyrregular"))

The repository is hosted at: https://huggingface.co/datasets/splandi/pyrregular/

The datasets are versioned: each pyrregular release downloads a fixed version of the files, tagged on Hugging Face (currently data-v1). To use the data of an older release, install that release (e.g. pip install "pyrregular==0.3.1").

Downstream tasks

Classification

To use the dataset for classification, you can just "densify" it:

from pyrregular import load_dataset

df = load_dataset("Garment.h5")
X, _ = df.irr.to_dense()
y, split = df.irr.get_task_target_and_split()

X_train, X_test = X[split != "test"], X[split == "test"]
y_train, y_test = y[split != "test"], y[split == "test"]

# We have ready-to-go models from various libraries:
from pyrregular.models.rocket import rocket_pipeline

model = rocket_pipeline
model.fit(X_train, y_train)
model.score(X_test, y_test)

There are several pipelines available in pyrregular.models:

💾 Library 📖 Source 🔗 Pipeline ℹ️ Type 📦 Extra
fast-borf Spinnato et al. (2024) borf dictionary-based transform + lgbm classifier borf
fast-borf Spinnato (2026) iborf time-aware dictionary-based transform + ridge classifier borf
sktime rifc interval-based transform + lgbm classifier sktime
diffrax Kidger et al. (2020) ncde neural controlled differential equations jax
pypots Cao et al. (2018) brits bidirectional recurrent imputation network pypots
pypots Che et al. (2018) grud gated recurrent unit with decay pypots
pypots Zhang et al. (2021) raindrop graph neural network pypots
pypots Du et al. (2023) saits self-attention-based imputation transformer pypots
pypots Wu et al. (2022) timesnet temporal 2d-variation transformer pypots
sktime Ke et al. (2017) lgbm gradient boosted tree sktime
sktime Dempster et al. (2021) rocket kernel-based transform + lgbm classifier sktime
sktime Bagheri et al. (2016) svm support vector machine with distance kernel sktime
tslearn Sakoe & Chiba (1978) knn distance-based with dynamic time warping tslearn

Notes

  • iborf is in pyrregular.models.borf (from pyrregular.models.borf import iborf_pipeline) and uses the timestamps: give it X, _ = df.irr.to_dense(concatenate_time=True, normalize_time=True).
  • raindrop also needs torch-scatter, built for your torch/CUDA version (see the PyG install instructions).
  • To reproduce the paper, list_paper_models() lists its 12 models and pyrregular.models.get_paper_model(name) returns a fresh copy of each pipeline. The paper's BORF is the aeon implementation (pip install "pyrregular[aeon]").
  • These pipelines wrap fast-moving third-party libraries. They are tested weekly against the latest versions, but an upstream release can break one between pyrregular releases; to reproduce the paper results exactly, pin the library versions.

Regression

Regression is still work in progress, but is available for some datasets:

from pyrregular import load_dataset
from sklearn.pipeline import make_pipeline
from aeon.transformations.collection.dictionary_based import BORF
from sklearn.linear_model import LassoCV

df = load_dataset("Garment.h5")
X, _ = df.irr.to_dense()
y, split = df.irr.get_task_target_and_split("regression")

X_train, X_test = X[split != "test"], X[split == "test"]
y_train, y_test = y[split != "test"], y[split == "test"]

borf_pipeline = make_pipeline(
    BORF(),
    LassoCV(),
)
model = borf_pipeline
model.fit(X_train, y_train)
model.score(X_test, y_test)

Available Datasets

📈 Dataset 📖 Source
Alembics Bowls Flasks Spinnato & Landi, 2025
AllGestureWiimoteX Guna et al., 2014
AllGestureWiimoteY Guna et al., 2014
AllGestureWiimoteZ Guna et al., 2014
Animals Ferrero et al., 2018
AsphaltObstaclesCoordinates Souza, 2018
AsphaltPavementTypeCoordinates Souza, 2018
AsphaltRegularityCoordinates Souza, 2018
CharacterTrajectories Williams et al., 2006
DodgerLoopDay Ihler et al., 2006
DodgerLoopGame Ihler et al., 2006
DodgerLoopWeekend Ihler et al., 2006
Geolife Zheng et al., 2009; Zheng et al., 2008; Zheng et al., 2010
GestureMidAirD1 Caputo et al., 2018
GestureMidAirD2 Caputo et al., 2018
GestureMidAirD3 Caputo et al., 2018
GesturePebbleZ1 Mezari & Maglogiannis, 2018
GesturePebbleZ2 Mezari & Maglogiannis, 2018
GPS Data of Seabirds Browning et al., 2018
InsectWingbeat Chen et al., 2014
JapaneseVowels Kudo et al., 1999
Localization Data for Person Activity Vidulin et al., 2010
MelbournePedestrian City of Melbourne, 2019
MIMIC-III Clinical Database (Demo) Johnson et al., 2016; Johnson et al., 2019; Goldberger et al., 2000
PAMAP2 Physical Activity Monitoring Reiss & Stricker, 2012
PhysioNet 2012 Silva et al., 2012
PhysioNet 2019 Reyna et al., 2020
PickupGestureWiimoteZ Guna et al., 2014
PLAID Gao et al., 2014
Productivity Prediction of Garment Employees Imran et al., 2021
ShakeGestureWiimoteZ Guna et al., 2014
SpokenArabicDigits Hammami & Bedda, 2010
Taxi Moreira-Matias et al., 2013
Vehicles Chorochronos Archive, 2019

Citation

If you use this package in your research, please cite the following paper:

@inproceedings{
    spinnato2026pyrregular,
    title={{PYRREGULAR}: A Unified Framework for Irregular Time Series, with Classification Benchmarks},
    author={Francesco Spinnato and Cristiano Landi},
    booktitle={The Fourteenth International Conference on Learning Representations},
    year={2026},
    url={https://openreview.net/forum?id=qetBM8nLkf}
}

Metadata

Release files for pyrregular 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyrregular 0.3.1
File Size Uploaded
pyrregular-0.3.1.tar.gz 267.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyrregular 0.3.1
File Interpreter ABI Platform
pyrregular-0.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 337.5 kB

Release files / pyrregular-0.3.1.tar.gz

Download URL pyrregular-0.3.1.tar.gz
Size 267.6 kB
Tags Source
SHA-256 checksum
How to use checksums
6f2f7bcb45e10936a6d9f7445cd2ac12209c7271daf4843e7cf32a45def9a9aa
BLAKE2b-256 checksum
How to use checksums
0646eb8701d61a6ef57f93f51b712765753127bbe6fbab22e0235d4bf0c03415
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / pyrregular-0.3.1-py3-none-any.whl

Download URL pyrregular-0.3.1-py3-none-any.whl
Size 69.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8163a4b8cb74100bb961e83a3cc26a3ef62c47b7e12542f46bfd0e41a54838e2
BLAKE2b-256 checksum
How to use checksums
1ff786036ee6731911997f218f239f7432555cb72fce0d558a9f54c8c00eaa1e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release history Release notifications | RSS feed

0.4.0

2 release files

This release

0.3.1 This release

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page