Skip to main content

An open source time series data mining library based on Matrix Profile algorithms.

Project description

PyPI Version PyPI Downloads Code Coverage Build Status License Twitter Discord JOSSDOI ZenodoDOI

MPF Logo


MatrixProfile is a Python 3 library, brought to you by the Matrix Profile Foundation, for mining time series data. The Matrix Profile is a novel data structure with corresponding algorithms (stomp, regimes, motifs, etc.) developed by the Keogh and Mueen research groups at UC-Riverside and the University of New Mexico. The goal of this library is to make these algorithms accessible to both the novice and expert through standardization of core concepts, a simplistic API, and sensible default parameter values.

In addition to this Python library, the Matrix Profile Foundation, provides implementations in other languages. These languages have a pretty consistent API allowing you to easily switch between them without a huge learning curve.

Python Support

Currently, we support the following versions of Python:

  • 3.5

  • 3.6

  • 3.7

  • 3.8

  • 3.9

Python 2 is no longer supported. There are earlier versions of this library that support Python 2.


The easiest way to install this library is using pip. If you would like to install it from source, please review the installation documentation for your platform.

pip install matrixprofile

Getting Started

This article provides introductory material on the Matrix Profile: Introduction to Matrix Profiles

This article provides details about core concepts introduced in this library: How To Painlessly Analyze Your Time Series

Our documentation provides a quick start guide, examples and api documentation. It is the source of truth for getting up and running.


For details about the algorithms implemented, including performance characteristics, please refer to the documentation.

Getting Help

We provide a dedicated Discord channel where practitioners can discuss applications and ask questions about the Matrix Profile Foundation libraries. If you rather not join Discord, then please open a Github issue.


Please review the contributing guidelines located in our documentation.

Code of Conduct

Please review our Code of Conduct documentation.


All proper acknowledgements for works of others may be found in our citation documentation.


Please cite this work using the Journal of Open Source Software article.

Van Benschoten et al., (2020). MPA: a novel cross-language API for time series analysis. Journal of Open Source Software, 5(49), 2179,

@article{Van Benschoten2020,
    doi = {10.21105/joss.02179},
    url = {},
    year = {2020},
    publisher = {The Open Journal},
    volume = {5},
    number = {49},
    pages = {2179},
    author = {Andrew Van Benschoten and Austin Ouyang and Francisco Bischoff and Tyler Marrs},
    title = {MPA: a novel cross-language API for time series analysis},
    journal = {Journal of Open Source Software}

Project details

Download files

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

Source Distribution

matrixprofile-1.1.10.tar.gz (331.6 kB view hashes)

Uploaded Source

Built Distributions

matrixprofile-1.1.10-cp39-cp39-win_amd64.whl (515.1 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

matrixprofile-1.1.10-cp39-cp39-manylinux2010_x86_64.whl (1.2 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

matrixprofile-1.1.10-cp39-cp39-macosx_10_12_x86_64.whl (709.8 kB view hashes)

Uploaded CPython 3.9 macOS 10.12+ x86-64

matrixprofile-1.1.10-cp38-cp38-win_amd64.whl (515.3 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

matrixprofile-1.1.10-cp38-cp38-manylinux2010_x86_64.whl (1.2 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

matrixprofile-1.1.10-cp38-cp38-macosx_10_12_x86_64.whl (710.6 kB view hashes)

Uploaded CPython 3.8 macOS 10.12+ x86-64

matrixprofile-1.1.10-cp37-cp37m-win_amd64.whl (513.8 kB view hashes)

Uploaded CPython 3.7m Windows x86-64

matrixprofile-1.1.10-cp37-cp37m-manylinux2010_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.12+ x86-64

matrixprofile-1.1.10-cp37-cp37m-macosx_10_12_x86_64.whl (708.1 kB view hashes)

Uploaded CPython 3.7m macOS 10.12+ x86-64

matrixprofile-1.1.10-cp36-cp36m-win_amd64.whl (511.1 kB view hashes)

Uploaded CPython 3.6m Windows x86-64

matrixprofile-1.1.10-cp36-cp36m-manylinux2010_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.12+ x86-64

matrixprofile-1.1.10-cp36-cp36m-macosx_10_12_x86_64.whl (701.7 kB view hashes)

Uploaded CPython 3.6m macOS 10.12+ x86-64

matrixprofile-1.1.10-cp35-cp35m-win_amd64.whl (519.9 kB view hashes)

Uploaded CPython 3.5m Windows x86-64

matrixprofile-1.1.10-cp35-cp35m-manylinux2010_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.5m manylinux: glibc 2.12+ x86-64

matrixprofile-1.1.10-cp35-cp35m-macosx_10_12_x86_64.whl (711.1 kB view hashes)

Uploaded CPython 3.5m macOS 10.12+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page