Evolución estructural de la red de dependencias de Python: evidencia de una década de crecimiento del ecosistema

Autores/as

Palabras clave:

redes complejas, redes de dependencias, ecosistemas de software, evolución de redes, análisis de centralidad

Resumen

Presentamos un análisis longitudinal de la red de dependencias del ecosistema de librerías de Python, evidenciando transformaciones estructurales sistemáticas a lo largo de casi una década. Los ecosistemas de paquetes de software pueden modelarse como redes complejas cuya topología refleja prácticas de desarrollo y tendencias tecnológicas. Para caracterizar su evolución, construimos grafos dirigidos de dependencias correspondientes a dos cortes temporales (2016 y 2025) y calculamos métricas estructurales, medidas de centralidad y organización comunitaria. Los resultados muestran una expansión masiva del ecosistema acompañada por cambios topológicos significativos. El número de paquetes crece más de un orden de magnitud, mientras que el número de dependencias aumenta aún más rápidamente, lo que indica un proceso de densificación. Asimismo, observamos un incremento del grado promedio, una disminución de la modularidad y una reconfiguración de los nodos centrales. Mientras que en etapas tempranas predominaban librerías asociadas al desarrollo web y la compatibilidad, en el período más reciente emergen como hubs estructurales paquetes vinculados a ciencia de datos, computación científica y testing automatizado. Estos hallazgos sugieren que el ecosistema Python evoluciona hacia una arquitectura más interconectada y que su crecimiento sigue patrones consistentes con leyes conocidas de redes complejas, tales como la densificación y la reorganización de hubs. En términos más generales, el estudio aporta evidencia empírica sobre la evolución estructural de ecosistemas tecnológicos a gran escala y destaca el valor de los enfoques de ciencia de redes para su análisis.

Descargas

Los datos de descarga aún no están disponibles.

Referencias

Barabási, A.-L., & Albert, R. (1999). Emergence of Scaling in Random Networks. Science, 286 (5439), 509-512. https://doi.org/10.1126/science.286.5439.509

Blondel, V. D., Guillaume, J.-L., Lambiotte, R., & Lefebvre, E. (2008). Fast unfolding of communities in large networks. Journal of Statistical Mechanics: Theory and Experiment, P10008. https://doi.org/10.1088/1742-5468/2008/10/P10008

Bogart, C., Kästner, C., Herbsleb, J., & Thung, F. (2016). How to Break an API: Cost Negotiation and Community Values in Three Software Ecosystems. Proceedings of the 24th ACM SIGSOFT Symposium on Foundations of Software Engineering, 109-120.

Catania, J. I., Pérez, M. R., Guerrero Schmidt, M., Gutierrez, S., & Sarraute, C. (2025). Python Package Dependency Network Dataset (2016–2025). Zenodo. https://doi.org/10.5281/zenodo.18912507

Decan, A., Mens, T., & Claes, M. (2019). An Empirical Comparison of Dependency Network Evolution in Seven Software Packaging Ecosystems. Empirical Software Engineering, 24, 381-416. https://doi.org/10.1007/s10664-018-9630-5

Gullikson, K. (2016). Python dependency analysis. Consultado el 28 de febrero de 2026, desde https://kgullikson88.github.io/blog/pypi-analysis.html

Kikas, R., Gousios, G., Dumas, M., & Pfahl, D. (2017). Structure and Evolution of Package Dependency Networks. Proceedings of the 14th International Conference on Mining Software Repositories, 102-112. https://doi.org/10.1109/MSR.2017.55

Leskovec, J., Kleinberg, J., & Faloutsos, C. (2007). Graph Evolution: Densification and Shrinking Diameters. ACM Transactions on Knowledge Discovery from Data, 1 (1), 2. https://doi.org/10.1145/1217299.1217301

Mora-Cantallops, M., Sánchez-Alonso, S., & García-Barriocanal, E. (2020). A complex network analysis of the Comprehensive R Archive Network (CRAN) package ecosystem. Journal of Systems and Software, 170, 110744. https://doi.org/https://doi.org/10.1016/j.jss.2020.110744

Page, L., Brin, S., Motwani, R., & Winograd, T. (1999). The PageRank citation ranking: Bringing order to the web (inf. téc.). Stanford InfoLab. Consultado el 28 de febrero de 2026, desde http://ilpubs.stanford.edu:8090/422/

Salgado, A., & Caridi, I. (2022). Network of R packages: A characterization of an empirical collaborative network. Chaos, Solitons & Fractals, 155, 111756. https://doi.org/https://doi.org/10.1016/j.chaos.2021.111756

Valverde, S., Ferrer-Cancho, R., & Solé, R. V. (2005). Scale-Free Networks from Optimal Design. Europhysics Letters, 60 (4), 512-517.

Valverde, S., & Solé, R. V. (2003). Hierarchical Small Worlds in Software Architecture. arXiv preprint cond-mat/0307278.

Zimmermann, M., Staicu, C.-A., Tenny, C., & Pradel, M. (2019). Small World with High Risks: A Study of Security Threats in the npm Ecosystem. Proceedings of the 28th USENIX Security Symposium, 995-1010.

Descargas

Publicado

2026-10-13

Número

Sección

ASAID - Simposio Argentino de Inteligencia Artificial y Ciencias de Datos

Cómo citar

Catania, J. I., Guerrero Schmidt, M., Gutierrez, S., Pérez, M. R., & Sarraute, C. (2026). Evolución estructural de la red de dependencias de Python: evidencia de una década de crecimiento del ecosistema. JAIIO, Jornadas Argentinas De Informática, 12(1), 16-30. https://revistas.unlp.edu.ar/JAIIO/article/view/22153