Control module exports
This library dynamically generates an __all__
attribute for modules
pip install export
Does export objects marked public, doesn't export everything else
# lib.py
import export
export.init(default=export.PRIVATE)
@export.public
def foo():
pass
def bar():
pass
def baz():
pass
>>> import lib
>>>
>>> lib.__all__
['foo']
Doesn't export objects marked private, does export everything else
# lib.py
import export
export.init(default=export.PUBLIC)
def foo():
pass
@export.private
def bar():
pass
@export.private
def baz():
pass
>>> import lib
>>>
>>> lib.__all__
['export', 'foo']