Если часть API не нужна во время запуска, готовить её заранее необязательно. Начиная с Python 3.7, в модуле можно определить
__getattr__: он обрабатывает обращение к имени, которого в модуле нет.Для нужного имени функция возвращает динамически созданное значение, для остальных поднимает
AttributeError. Так создание атрибута переносится на момент, когда он действительно понадобился, а запуск не ждёт этой работы. Лень здесь вполне питонична, пока ошибка для неизвестных имён остаётся явной.В разборе атрибутов модуля есть минимальный пример с обычной функцией, динамическим атрибутом и
AttributeError для неизвестного имени.
