Tengo un montón de módulos de Python que quiero limpiar, reorganizar y refactorizar (hay algún código duplicado, algún código no utilizado ...), y me pregunto si hay una herramienta para hacer un mapa de qué módulo usa qué otro módulo.Importar módulo de mapeo en Python para una fácil refactorización
Idealmente, me gustaría un mapa como este:
main.py
-> task_runner.py
-> task_utils.py
-> deserialization.py
-> file_utils.py
-> server.py
-> (deserialization.py)
-> db_access.py
checkup_script.py
re_test.py
main_bkp0.py
unit_tests.py
... para que yo pudiera decir qué archivos que puedo comenzar a moverse primero (file_utils.py, db_access.py), qué archivos no son utilizados por mi main.py y pueden ser eliminados, etc. (en realidad estoy trabajando con alrededor de 60 módulos)
Escribir un script que hace esto probablemente no sería muy complicado (aunque hay diferentes sintaxis para importar manejar), pero también esperaría que no soy el primero en querer hacer esto (y si alguien hizo una herramienta para esto , podría incluir otras características interesantes como decirme qué clases y funciones probablemente no se usen).
¿Conoce alguna herramienta (incluso scripts simples) que ayude a la reorganización de código?
¿Conoces un término más exacto para lo que estoy tratando de hacer? Reorganización del código?
No sabía de snakefood, muchas gracias por el enlace. +1 –
¡Gracias! Logré obtener exactamente el mapa que estaba buscando robando descaradamente el código en la explicación que me enviaste y metiéndolo hasta que me dio el gráfico que necesitaba. También utilicé el buscador de módulos para enumerar los módulos que no estaba usando (más de la mitad), así que podría usar nukeem y no pensar más en ellos. También recibí una inyección, pero aún no jugué mucho. – Emile