Python Library Dynamics: A Study of Patterns and Project Complexity on GitHub

Nugrahini Fatma Manuhara, Yusuf Sulistyo Nugroho · 2024

Python, a popular programming language with rich library ecosystems, has provided developers with diverse tools and resources. These library ecosystems help developers complete different tasks. However, there is limited research on how these Python libraries are utilized in GitHub projects and their relationships with software characteristics. This study identifies and analyzes the usage patterns of three popular Python libraries, Pandas, NumPy, and Matplotlib, and their relationship between these three libraries and project complexity. By applying data mining techniques on three library repositories, we extracted source code files and the number of their line of code. In addition, project size, contributor contributions, and commit counts are also collected. To gain insight into these libraries’ utilization, we performed a quantitative analysis using the Pearson correlation technique and a qualitative analysis using Topological Data Analysis (TDA). The results indicate that the three libraries shows distinct usage patterns in each repository, highlighting significant correlations with project characteristic attributes. This study provides comprehensive insights into library usage patterns in open-source projects, establishing the starting point for future research on the impact of library usage on the effectiveness and performance of software projects.

Read the paper · More papers on PaperTik