У меня есть внутренняя служебная библиотека, которая используется во многих проектах.Проекты в коде, который они извлекают из библиотеки утилит, частично перекрываются, но по мере роста библиотеки увеличивается количество дополнительных ресурсов, которые получает каждый отдельный проект, который он не будет использовать.Это не будет проблемой, если библиотека состоит только из Python, но библиотека также объединяет в двоичные файлы.
Example-
psycopg2 используется в несколькихместа в библиотеке утилит, но не все проекты требуют доступа к БД.Поскольку среда разработки отличается от рабочей среды, библиотека утилит также включает в себя исполняемые файлы psycopg2 для среды prod.
Она растет вместе с библиотеками openssl, пандами, numpy, scipy, pyarrow и т. Д. Результатзаключается в том, что небольшой, специализированный сценарий из 50 строк, которому может потребоваться доступ к базе данных, включен в пакет развертывания объемом более 100 МБ.

Итак, что бы яНапример, разделить библиотеку утилит на части, в которых проекты могут выбирать, какие фрагменты использовать, но хранить код библиотеки утилит в одном удобном для управления месте.Таким образом, это небольшое одноцелевое приложение может импортировать internal-util@core
, internal-util@db
и не включать internal-util@numpy
и internal-util@openssl

Можно ли описать то, что я описываю?