Janko Slavič, Klemen Zaletelj, Domen Gorjup, Dag Pasquale Pasca, Angelo Aloisio, Knut Andreas Kvåle, Gunnstein T. Frøseth, Wout Weijtjens, Ahmed Mujtaba, Martin Česnik, Aleš Zorman, George Tsialiamanis, Ivan Tomac, Thiago Ritto, Domen Ocepek, Daniel Rohe, Olavo M. Silva, Thijs Masmeijer, Krištof Čufar, Tomaž Bregar, Miha Kodrič, Ahmed El Mahmoudi, Miha Pogačar, Francesco Trainotti, Mert Göldeli, Gregor Čepon, Raphael Timbó, Aldemir Ap Cavalini, Vinicius T. Costa, J. Santos, Aidan J. Hughes, Jacson G. Vargas, André Fernandes, Daniel J. Rixen, Keith Worden, Miha Boltežar
Open-source scientific research has become indispensable, because it fosters a global collaborative environment in which knowledge is freely shared, accelerating the pace of discovery. Emphasizing transparency and reproducibility ensures the credibility of scientific findings, while democratizing access to research gives a wider community the opportunity to contribute to progress. Avoiding duplication of effort leads to faster progress and greater societal benefit. The Python programming language provides readable code and is highly collaborative, leading to a large user community. Libraries such as NumPy (i.e. numerical Python) and SciPy (i.e. scientific computing) have been developed for scientific research. The latter was crucial, for example, in the discovery of gravitational waves and the first imaging of a black hole. This review focuses on selected open-source Python libraries that support scientific development in the field of signal processing and mechanical systems. In particular, the article focuses on packages related to signal processing, experimental and operational modal analysis, vibration fatigue, image-based identification of structural dynamics, vibration control, substructuring, rotor dynamics, vibrations in pipeline systems, and machine-learning. A basic theoretical overview of the presented topics and some typical use cases for selected open-source packages are given. Finally, this review article proposes a strategy to increase collaboration among many researchers resulting in highly-related future scientific packages. The purpose of this review is to help new researchers get started in open-source-based signal processing, while those already active can learn the development principles for better and interconnected scientific packages.