basedmypy icon indicating copy to clipboard operation
basedmypy copied to clipboard

An `export` annotation that works at runtime

Open KotlinIsland opened this issue 3 years ago • 0 comments

Maintaining __all__ is extremely painful, what about an export decorator (not sure about attributes though)

def export(fn: Fn) -> Fn:
    mod = fn.__module__
    if hasattr(mod, "__all__"):
        isinstance(mod.__all__, list):
            mod.__all__.append(fn.__name__)
    else:
        mod.__all__ = [fn.__name__]

KotlinIsland avatar May 17 '22 04:05 KotlinIsland