Допустим, имя модуля доступно в виде строки, а не объекта модуля.Как найти местоположение его исходного кода и загрузить абстрактное синтаксическое дерево (если исходный код присутствует)?
Я бы решил проблему в три этапа:
importlib.import_module
__import__
inspect.getsource
open(the_module.__file__).read()
ast.parse
compile
ast.PyCF_ONLY_AST
1024
compile(source, filename, 'exec', 1024)