An Empirical Study on Package-Level Deprecation in Python Ecosystem
Zhiqing Zhong, Shilin He, Haoxuan Wang, Boxi Yu, Haowen Yang, Pinjia, He

TL;DR
This empirical study investigates current package deprecation practices in the Python ecosystem, revealing gaps between developer intentions and user needs, and highlighting the necessity for improved deprecation mechanisms to ensure package sustainability and security.
Contribution
The paper provides an empirical analysis of Python package deprecation practices, identifying challenges and user expectations to inform better deprecation mechanisms.
Findings
75.4% of inactive package developers do not plan to deprecate packages.
89.5% of users want to be notified about deprecation.
Many deprecated packages lack available alternatives.
Abstract
Open-source software (OSS) plays a crucial role in modern software development. Utilizing OSS code can greatly accelerate software development, reduce redundancy, and enhance reliability. Python, a widely adopted programming language, is renowned for its extensive and diverse third-party package ecosystem. However, a significant number of OSS packages within the Python ecosystem are in poor maintenance, leading to potential risks in functionality and security. Consequently, it is essential to establish a deprecation mechanism to assist package developers and users in managing packages effectively. To facilitate the establishment of the package-level deprecation mechanism, this paper presents a mixed-method empirical study, including data analysis and surveys. We investigate the current practices of announcing, receiving, and handling package-level deprecation in the Python ecosystem.…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsPeer-to-Peer Network Technologies · Cloud Computing and Resource Management · Distributed and Parallel Computing Systems
