Поиск мертвого кода в большом проекте Python [закрыто]

я виделКак вы можете найти неиспользуемые функции в коде Python? но это действительно старо, и действительно не отвечает на мой вопрос.

У меня есть большой проект Python с несколькими библиотеками, которые используются несколькими сценариями точки входа. Этот проект накапливался в течение многих лет со многими авторами, поэтому в нем много мертвого кода. Вы знаете, что делать.

Я знаю, что поиск всего мертвого кода невозможно решить. Все, что мне нужно, это инструмент, который найдет все функции, которые нигде не вызываются. Мы не делаем ничего сложного с вызовом функций, основанных на строке имени функции, поэтому я не беспокоюсь ни о каком патологическом ...

Я только что установил pylint, но, похоже, он основан на файлах и не обращает особого внимания на зависимости между файлами или даже на функции.

Ясно, что я мог бы использовать grep для def во всех файлах, получить из них все имена функций и выполнить grep для каждого из этих имен функций. Я просто надеюсь, что есть что-то более умное, чем это уже там.

ETA: Обратите внимание, что я не ожидаю или не хочу что-то идеальное. Я знаю свое доказательство проблемы остановки точно так же, как и любого другого (на самом деле я не преподавал теорию вычислений, которую я знаю, когда смотрю на что-то рекурсивно перечислимое). Любая вещь, которая пытается приблизиться к ней путем фактического запуска кода, займет слишком много времени. Я просто хочу что-то, что синтаксически проходит через код и говорит: «Эта функция определенно используется. Эта функция МОЖЕТ использоваться, и эта функция определенно НЕ используется, никто, кажется, даже не знает, что она существует!» И первые две категории не важны.

Ответы на вопрос(7)

Ваш ответ на вопрос