Logiciel Python/Ruptures
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
Tutoriels sur Youtube
Ruptures for Outlier Detection and Time Series Segmentation | Change Point Detection

MetPy Mondays #247 - Change Point Detection with Ruptures
