У меня есть следующая ситуация: я работаю над несколькими проектами, которые используют библиотечные модули, которые я написал. Библиотечные модули содержат несколько классов и функций. В каждом проекте используется некоторое подмножество кода библиотек.
Однако, когда я публикую проект для других пользователей, я хочу только отдать код, который используется этим проектом, а не целые модули. Это означает, что я хотел бы, для данного проекта, удалить неиспользуемые библиотечные функции из кода библиотеки (т.е. Создать новую уменьшенную библиотеку). Есть ли какой-нибудь инструмент, который может сделать это автоматически?
ИЗМЕНИТЬ
Некоторые пояснения/ответы:
- Относительно ответов "вы не должны этого делать вообще": Суть в том, что на практике, прежде чем я опубликую проект, я вручную просматриваю библиотечные модули и удаляю неиспользуемый код. Поскольку мы все программисты, мы знаем, что нет причин делать что-то вручную, когда вы можете легко объяснить компьютеру, как это сделать. Так что практически, писать такую программу можно и не должно быть слишком сложно (да, это может быть не супер общий). Мой вопрос состоял в том, что кто-то знает, существует ли такой инструмент, прежде чем я начну думать о его реализации. Кроме того, любые мысли о реализации этого приветствуются.
- Я не хочу просто скрыть весь мой код. Если бы я хотел сделать это, я бы, вероятно, не использовал Python. На самом деле, я хочу опубликовать исходный код, но только код, который имеет отношение к рассматриваемому проекту.
- Относительно комментариев "вы защищены законом": в моем конкретном случае юридическая/лицензионная защита мне не помогает. Кроме того, проблема здесь более общая, чем некоторая кража кода. Например, это может быть для ясности: если кому-то нужно использовать/разрабатывать код, вы не хотите включать в него десятки нерелевантных функций.