factors3079%python.module
fault.system

Module finder and loader for Factored Projects.

importlib
import

files0
import

lsf0
import

Segment0
import

IntegralFinder0
class

Select an image based on the configured variants querying the connected factor paths.

IntegralFindersuffixes0
data

suffixes = ['.py']

IntegralFinderModuleSpec0
data

ModuleSpec = importlib.machinery.ModuleSpec

IntegralFinderExtensionFileLoader0
data

ExtensionFileLoader = importlib.machinery.ExtensionFileLoader

IntegralFinderLoader0
class

Loader for compiled Python factors. Compiled modules are not checked against the source unlike Python's builtin loader.

IntegralFinderLoader_compile0
data

_compile = staticmethod(importlib._bootstrap_external._compile_bytecode)

IntegralFinderLoader__init__0
method

__init__(self, bytecode, fullname, path)

IntegralFinderLoaderfrom_nothing0
classmethod

from_nothing(Class, *args)

Create the Loader instance with get_code overridden to return a code object created from a pass statement.

IntegralFinderLoaderexec_module0
method

exec_module(self, module)

IntegralFinderLoaderget_code260%
method

get_code(self, fullname)

IntegralFinderLoaderset_data10%
method

set_data(self, *args, **kw)

IntegralFinder__init__0
method

__init__(self, python_bytecode_variants, extension_variants)

Initialize a finder instance for use with the given variants.

IntegralFinderconnect0
method

connect(self, route)

Add the route to finder connecting its subdirectories for import purposes.

Similar to adding a filesystem path to Python's sys.path.

IntegralFinderdisconnect220%
method

disconnect(self, route)

Remove a route from the finder's set eliminating any relevant index entries.

IntegralFinderinvalidate_caches10%
classmethod

invalidate_caches(self)

IntegralFinderfind0
method

find(self, name)

Retrieve the product with a root that matches the start of the given name.

IntegralFinderfind_spec0
method

find_spec(self, name, path)

Using the index, check for the presence of name's initial package. If found, the images contained by the connected directory will be used to load either an extension module or a Python bytecode module.

IntegralFindercreate0
classmethod

create(Class, system, python, host)

Construct a standard loader selecting images with the given form.

setup476%
function

setup()

Create and install a configured IntegralFinder.

The new finder is assigned to finder and its fault.project.system.Context to context. This is considered process global data and context the method that should be used to resolve factors that are intended for application support.

If called multiple times, a new finder will be created and the assignments will be overwritten. However, the old finder will remain active.