src/basilisp/importer.py
def find_spec(
        self,
        fullname: str,
        path,  # Optional[List[str]] # MyPy complains this is incompatible with supertype
        target: types.ModuleType = None,
    ) -> Optional[importlib.machinery.ModuleSpec]:
        """Find the ModuleSpec for the specified Basilisp module.

        Returns None if the module is not a Basilisp module to allow import processing to continue."""
        package_components = fullname.split(".")
        if path is None:
            path = sys.path
            module_name = package_components
        else:
            module_name = [package_components[-1]]

        for entry in path:
            filenames = [
                f"{os.path.join(entry, *module_name, '__init__')}.lpy",
                f"{os.path.join(entry, *module_name)}.lpy",
            ]
            for filename in filenames:
                if os.path.exists(filename):
                    state = {
                        "fullname": fullname,
                        "filename": filename,
                        "path": entry,
                        "target": target,
                        "cache_filename": _cache_from_source(filename),
                    }
                    logger.debug(
                        f"Found potential Basilisp module '{fullname}' in file '{filename}'"
                    )
                    return importlib.machinery.ModuleSpec(
                        fullname, self, origin=filename, loader_state=state
                    )
        return None
def find_spec(
        self,
        fullname: str,
        path,  # Optional[List[str]] # MyPy complains this is incompatible with supertype
        target: types.ModuleType = None,
    ) -> Optional[importlib.machinery.ModuleSpec]:
        package_components = fullname.split(".")
        if path is None:
            path = sys.path
            module_name = package_components
        else:
            module_name = [package_components[-1]]

        for entry in path:
            filenames = [
                f"{os.path.join(entry, *module_name, '__init__')}.lpy",
                f"{os.path.join(entry, *module_name)}.lpy",
            ]
            for filename in filenames:
                if os.path.exists(filename):
                    state = {
                        "fullname": fullname,
                        "filename": filename,
                        "path": entry,
                        "target": target,
                        "cache_filename": _cache_from_source(filename),
                    }
                    logger.debug(
                        f"Found potential Basilisp module '{fullname}' in file '{filename}'"
                    )
                    return importlib.machinery.ModuleSpec(
                        fullname, self, origin=filename, loader_state=state
                    )
        return None
def find_spec ( self , fullname : str , path , # Optional[List[str]] # MyPy complains this is incompatible with supertype target : types . ModuleType = None , ) -> Optional [ importlib . machinery . ModuleSpec ] : package_components = fullname . split ( "." ) if path is None : path = sys . path module_name = package_components else : module_name = [ package_components [ - 1 ] ] for entry in path : filenames = [ f"{os.path.join(entry, *module_name, '__init__')}.lpy" , f"{os.path.join(entry, *module_name)}.lpy" , ] for filename in filenames : if os . path . exists ( filename ) : state = { "fullname" : fullname , "filename" : filename , "path" : entry , "target" : target , "cache_filename" : _cache_from_source ( filename ) , } logger . debug ( f"Found potential Basilisp module '{fullname}' in file '{filename}'" ) return importlib . machinery . ModuleSpec ( fullname , self , origin = filename , loader_state = state ) return None
Find the ModuleSpec for the specified Basilisp module.

        Returns None if the module is not a Basilisp module to allow import processing to continue.
Find the ModuleSpec for the specified Basilisp module .