MCPcopy Index your code
hub / github.com/python/cpython / spec_from_loader

Function spec_from_loader

Lib/importlib/_bootstrap.py:646–672  ·  view source on GitHub ↗

Return a module spec based on various loader methods.

(name, loader, *, origin=None, is_package=None)

Source from the content-addressed store, hash-verified

644
645
646def spec_from_loader(name, loader, *, origin=None, is_package=None):
647 """Return a module spec based on various loader methods."""
648 if origin is None:
649 origin = getattr(loader, '_ORIGIN', None)
650
651 if not origin and hasattr(loader, 'get_filename'):
652 if _bootstrap_external is None:
653 raise NotImplementedError
654 spec_from_file_location = _bootstrap_external.spec_from_file_location
655
656 if is_package is None:
657 return spec_from_file_location(name, loader=loader)
658 search = [] if is_package else None
659 return spec_from_file_location(name, loader=loader,
660 submodule_search_locations=search)
661
662 if is_package is None:
663 if hasattr(loader, 'is_package'):
664 try:
665 is_package = loader.is_package(name)
666 except ImportError:
667 is_package = None # aka, undefined
668 else:
669 # the default
670 is_package = False
671
672 return ModuleSpec(name, loader, origin=origin, is_package=is_package)
673
674
675def _spec_from_module(module, loader=None, origin=None):

Callers 2

find_specMethod · 0.85
find_specMethod · 0.85

Calls 3

spec_from_file_locationFunction · 0.85
ModuleSpecClass · 0.85
is_packageMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…