Я хочу улучшить среду Python, которую я пишу, чтобы она перечисляла и загружала модули из некоторой указанной папки во время выполнения на основе определенных свойств, которые могут иметь модули.
Вероятно, такие свойства, как: только модули, которые содержат определенное значение (например, тег) в некотором поле метаданных, или, возможно, только модули, которые содержат класс, производный от определенного базового класса.
Например, предположим, что расширения являются подключаемыми модулями, которые поддерживают различные типы аутентификации - я хотел бы, чтобы моя инфраструктура обнаружила возможные подключаемые модули во время выполнения, не требуя явной настройки.
Кажется, что подобная «загрузка расширений» должна быть возможной, и, вероятно, она делалась миллион раз раньше, ни один из поисковых запросов, которые пытались попробовать, ничего не приводил, и я не знаю, хороший конкретный проект, который уже реализует это, чтобы начать с чтения чужого подхода.
Любые указатели на подходы, которые будут работать для создания такой вещи (или даже советы о более Pythonic способе думать об этой проблеме) были бы хорошими.