def from_function(cls, function, function_view_class=None, active_experiment=None): """ Create a FunctionCall object given a CallableInfo. The bindings for inputs and outputs will default to Undefined. The location for the function will default to the file information for the function. Note that this currently only works for PythonFunctionInfo and LocalPythonFunctionInfo objects. """ callable_object = PythonFunctionInfo.from_function(function) return cls.from_callable_object(callable_object, function_view_class, active_experiment)
def python_function_info_from_function(python_func, **traits): """ Factory method for returning a CallableInfo given a python function. """ from python_function_info import PythonFunctionInfo from extension_function_info import ExtensionFunctionInfo if isinstance(python_func, FunctionType): return PythonFunctionInfo.from_function(python_func, **traits) elif isinstance(python_func, BuiltinFunctionType) or \ isinstance(python_func, ufunc): return ExtensionFunctionInfo.from_function(python_func, **traits) else: raise ValueError("%r not a function" % python_func)
def from_function(cls, function, function_view_class=None, active_experiment=None): """ Create a FunctionCall object given a CallableInfo. The bindings for inputs and outputs will default to Undefined. The location for the function will default to the file information for the function. Note that this currently only works for PythonFunctionInfo and LocalPythonFunctionInfo objects. """ callable_object = PythonFunctionInfo.from_function(function) return cls.from_callable_object(callable_object, function_view_class, active_experiment)
def python_function_info_from_function(python_func, **traits): """ Factory method for returning a CallableInfo given a python function. """ from python_function_info import PythonFunctionInfo from extension_function_info import ExtensionFunctionInfo if isinstance(python_func, FunctionType): return PythonFunctionInfo.from_function(python_func, **traits) elif isinstance(python_func, BuiltinFunctionType) or \ isinstance(python_func, ufunc): return ExtensionFunctionInfo.from_function(python_func, **traits) else: raise ValueError("%r not a function" % python_func)