sys.modules
используется в качестве кэша для всех импортированных модулей в интерпретаторе, поэтому он должен содержать все импортированные модули независимо от местоположения, из которого они были импортированы.
Редактировать:Благодаря комментариям я понял, что не отвечаю на реальный вопрос, поэтому pkga.logging
и pkga.types
находятся в списке?
Как указывает @vikki, это предотвращает возникновение проблемпри использовании того же имени модуля, что и у другого модуля в стандартной библиотеке.Например, если logging.py
или types.py
создано в pkga
, ключи sys.modules
не изменятся.Однако значения для pkga.logging
и pkga.types
больше не будут стандартными модулями, а будут реализованы в этом пакете.