Skip to main content

A machine learning toolkit dedicated to time-series data

Project description

PyPI version Documentation Status Build Status Codecov Downloads

tslearn is a Python package that provides machine learning tools for the analysis of time series. This package builds on scikit-learn, numpy and scipy libraries.

If you would like to contribute to tslearn, please have a look at our contribution guidelines.



If you plan to use the shapelets module, keras and tensorflow should also be installed.



C++ build tools should be available to perform installation.

Using conda

The easiest way to install tslearn is probably via conda:

conda install -c conda-forge tslearn

Using PyPI

Using pip should also work fine:

pip install tslearn

Using latest github-hosted version

If you want to get tslearn's latest version, you can refer to the repository hosted at github:

pip install git+


It seems on some platforms Cython dependency does not install properly. If you experiment such an issue, try installing it with the following command:

pip install cython

or (depending on your preferred python package manager):

conda install -c anaconda cython

before you start installing tslearn.

Documentation and API reference

The documentation, including a gallery of examples, is hosted at readthedocs.

Already available

  • A generators module provides Random Walks generators
  • A datasets module provides access to the famous UCR/UEA datasets through the UCR_UEA_datasets class
  • A preprocessing module provides standard time series scalers
  • A metrics module provides:
    • Dynamic Time Warping (DTW) (with Sakoe-Chiba band and Itakura parallelogram variants)
    • LB_Keogh
    • Global Alignment Kernel
    • Soft-DTW from Cuturi and Blondel
  • A neighbors module includes nearest neighbor algorithms to be used with time series
  • An svm module includes Support Vector Machine algorithms with:
    • Standard kernels offered in sklearn (with adequate array reshaping done for you)
    • Global Alignment Kernel
  • A clustering module includes the following time series clustering algorithms:
    • Standard Euclidean k-means (with adequate array reshaping done for you)
      • Based on tslearn.barycenters
    • DBA k-means from Petitjean et al.
      • Based on tslearn.barycenters that offers DBA facility that could be used for other applications than just k-means
    • Global Alignment kernel k-means
    • KShape clustering from Paparizzos and Gravano
    • Soft-DTW k-means from Cuturi and Blondel
      • Based on tslearn.barycenters that offers Soft-DTW barycenter computation
    • It also provides a way to compute the silhouette coefficient for given clustering and metric
  • A shapelets module includes an efficient implementation of the Learning Time-Series method from Grabocka et al.
    • Warning: to use the shapelets module, two extra dependencies are required: keras and tensorflow
  • A piecewise module includes standard time series transformations, as well as the corresponding distances:
    • Piecewise Aggregate Approximation (PAA)
    • Symbolic Aggregate approXimation (SAX)
    • 1d-Symbolic Aggregate approXimation (1d-SAX)

TODO list

Have a look there for a list of suggested features. If you want other ML methods for time series to be added to this TODO list, do not hesitate to open an issue! See our contribution guidelines for more information about how to proceed.


Authors would like to thank Mathieu Blondel for providing code for Kernel k-means and Soft-DTW (both distributed under BSD license) that are used in the clustering and metrics modules of this library.

Referencing tslearn

If you use tslearn in a scientific publication, we would appreciate citations:

 title={tslearn: A machine learning toolkit dedicated to time-series data},
 author={Tavenard, Romain and Faouzi, Johann and Vandewiele, Gilles},

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for tslearn, version 0.2.1
Filename, size File type Python version Upload date Hashes
Filename, size tslearn-0.2.1-cp37-cp37m-macosx_10_14_x86_64.whl (499.5 kB) File type Wheel Python version cp37 Upload date Hashes View hashes
Filename, size tslearn-0.2.1.tar.gz (520.9 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page