Source code for pynenc.util.import_tools
from collections.abc import Callable
[docs]
def is_module_level_function(func: Callable) -> bool:
"""
Check if a function is defined at module level.
This ensures the function can be properly serialized and imported.
:param func: The function to check
:return: True if the function is defined at module level, False otherwise
"""
if not callable(func):
return False
if func.__name__ == "<lambda>":
return False
if func.__qualname__ != func.__name__:
return False
if not hasattr(func, "__module__") or func.__module__ == "__main__":
return False
return True