Logiciel Python/Ruptures

Python/Ruptures est une librairie Python open-source, dédiée à la détection de ruptures, une tâche essentielle en traitement du signal.

Présentation

Parmi les initiatives du Centre Borelli, Python/Ruptures est une librairie Python open-source, dédiée à la détection de ruptures, une tâche essentielle en traitement du signal. Cette librairie, maintenue par plusieurs chercheurs et ingénieurs du laboratoire, est hébergée sur Github.

Début mars 2025, elle a été téléchargée près de 20 millions de fois et a environ 1700 étoiles Github. Par ailleurs, Python/Ruptures est citée dans plus de 1300 publications académiques et est utilisée dans plusieurs applications industrielles et médicales. Depuis 2020, elle a été présentée à ce titre dans une dizaine de séminaires de laboratoires de recherche et de services de R&D industriels.
 

Référents scientifiques

Article de référence

C. Truong, L. Oudre, N. Vayatis. Selective review of offline change point detection methods. Signal Processing, 167:107299, 2020.

Cet article présente un état de l’art des principales méthodes de détection de ruptures dans les séries temporelles. Cette tâche, assez peu documentée dans la littérature avant ce travail fondateur, est pourtant cruciale dans un grand nombre d’applications où les données temporelles recueillies ne sont pas stationnaires. L’article propose de décomposer les méthodes de la littérature selon trois éléments : 

  • le type de ruptures à détecter, 
  • le niveau de granularité (sensibilité de l’algorithme)
  • et l’algorithme utilisé pour résoudre le problème d’optimisation associé. 

Cette nouvelle taxonomie a amené une nouvelle vision systématique de la tâche, désormais adoptée par la communauté scientifique. En parallèle de cet article, une librairie logicielle en Python, appelée “ruptures”, a été développée. Cette librairie reprend la même décomposition systématique et propose une implémentation efficace d’un très grand nombre de méthodes de la littérature.

Ressources

Nombre de téléchargements

PyPI Downloads

 

Tutoriels sur Youtube

Ruptures for Outlier Detection and Time Series Segmentation | Change Point Detection

This package provides methods for the analysis and segmentation of non-stationary signals.

MetPy Mondays #247 - Change Point Detection with Ruptures

This week we checkout the ruptures library and see if we can use its change point detection tools to find frontal passage in surface station data.