INNER CODE UNIT · Python

op_to_handler

metatypedev/metatype · src/pyrt_wit_wire/main.py:109

def op_to_handler(op: MatInfo) -> ErasedHandler:
    data_parsed = json.loads(op.mat_data_json)
    if data_parsed["ty"] == "def":
        module = types.ModuleType(op.op_name)
        exec(data_parsed["source"], module.__dict__)
        fn = module.__dict__[data_parsed["func_name"]]
        return ErasedHandler(handler_fn=fn)
    elif data_parsed["ty"] == "import_function":
        prefix = data_parsed["func_name"]

        modules_raw = data_parsed["sources"]
        finder = ThePathFinder(
            {os.path.join(prefix, path): modules_raw[path] for path in modules_raw}
        )
        sys.meta_path.append(finder)

        try:
            module = importlib.import_module(

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…