PyTrim: A Practical Tool for Reducing Python Dependency Bloat

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autori principali: Karakatsanis, Konstantinos, Alexopoulos, Georgios, Karyotakis, Ioannis, Proestakis, Foivos Timotheos, Talos, Evangelos, Louridas, Panos, Mitropoulos, Dimitris
Natura: Preprint
Pubblicazione: 2025
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866915808395919360
author Karakatsanis, Konstantinos
Alexopoulos, Georgios
Karyotakis, Ioannis
Proestakis, Foivos Timotheos
Talos, Evangelos
Louridas, Panos
Mitropoulos, Dimitris
author_facet Karakatsanis, Konstantinos
Alexopoulos, Georgios
Karyotakis, Ioannis
Proestakis, Foivos Timotheos
Talos, Evangelos
Louridas, Panos
Mitropoulos, Dimitris
contents Dependency bloat is a persistent challenge in Python projects, which increases maintenance costs and security risks. While numerous tools exist for detecting unused dependencies in Python, removing these dependencies across the source code and configuration files of a project requires manual effort and expertise. To tackle this challenge we introduce PYTRIM, an end-to-end system to automate this process. PYTRIM eliminates unused imports and package declarations across a variety of file types, including Python source and configuration files such as requirements.txt and setup.py. PYTRIM's modular design makes it agnostic to the source of dependency bloat information, enabling integration with any detection tool. Beyond its contribution when it comes to automation, PYTRIM also incorporates a novel dynamic analysis component that improves dependency detection recall. Our evaluation of PYTRIM's end-to-end effectiveness on a ground-truth dataset of 37 merged pull requests from prior work, shows that PYTRIM achieves 98.3% accuracy in replicating human-made changes. To show its practical impact, we run PYTRIM on 971 open-source packages, identifying and trimming bloated dependencies in 39 of them. For each case, we submit a corresponding pull request, 6 of which have already been accepted and merged. PYTRIM is available as an open-source project, encouraging community contributions and further development. Video demonstration: https://youtu.be/LqTEdOUbJRI Code repository: https://github.com/TrimTeam/PyTrim
format Preprint
id arxiv_https___arxiv_org_abs_2510_00674
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle PyTrim: A Practical Tool for Reducing Python Dependency Bloat
Karakatsanis, Konstantinos
Alexopoulos, Georgios
Karyotakis, Ioannis
Proestakis, Foivos Timotheos
Talos, Evangelos
Louridas, Panos
Mitropoulos, Dimitris
Software Engineering
Dependency bloat is a persistent challenge in Python projects, which increases maintenance costs and security risks. While numerous tools exist for detecting unused dependencies in Python, removing these dependencies across the source code and configuration files of a project requires manual effort and expertise. To tackle this challenge we introduce PYTRIM, an end-to-end system to automate this process. PYTRIM eliminates unused imports and package declarations across a variety of file types, including Python source and configuration files such as requirements.txt and setup.py. PYTRIM's modular design makes it agnostic to the source of dependency bloat information, enabling integration with any detection tool. Beyond its contribution when it comes to automation, PYTRIM also incorporates a novel dynamic analysis component that improves dependency detection recall. Our evaluation of PYTRIM's end-to-end effectiveness on a ground-truth dataset of 37 merged pull requests from prior work, shows that PYTRIM achieves 98.3% accuracy in replicating human-made changes. To show its practical impact, we run PYTRIM on 971 open-source packages, identifying and trimming bloated dependencies in 39 of them. For each case, we submit a corresponding pull request, 6 of which have already been accepted and merged. PYTRIM is available as an open-source project, encouraging community contributions and further development. Video demonstration: https://youtu.be/LqTEdOUbJRI Code repository: https://github.com/TrimTeam/PyTrim
title PyTrim: A Practical Tool for Reducing Python Dependency Bloat
topic Software Engineering
url https://arxiv.org/abs/2510.00674