Ethan Furman added the comment: def public(thing, value=None): if isinstance(thing, str): mdict = sys._getframe(1).f_globals name = thing mdict[name] = thing # no need for retyping! ;) else: mdict = sys.modules[thing.__module__].__dict__ name = thing.__name__ dunder_all = mdict.setdefault('__all__', []) dunder_all.append(name) return thing
@public def baz(a, b): return a+ b public('CONST1', 3) CONST2 = 4 ---------------------------- On the down side, you know somebody is going to @public a class' method -- how do we check for that? ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue26632> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com