in python/scripts/generate_type_stubs_and_docs.py [0:0]
def isolated_imports(only: typing.Set[str] = {}):
"""
When used as a context manager, this function scopes all imports
that happen within it as local to the scope.
Put another way: if you import something inside a
``with isolated_imports()`` block, it won't be imported after
the block is done.
"""
before = list(sys.modules.keys())
yield
for module_name in list(sys.modules.keys()):
if module_name not in before and module_name in only:
del sys.modules[module_name]