Hi, Python has an __all__ variable that can be defined in a module to restrict which members of the module should be included in a call `from foo import *`. However specifying which members of the module should be excluded is more difficult. There are three workarounds that I see:
1) Defining __all__ to specify most of the members of the module, except the few that should be excluded. 2) Naming members to be excluded with a leading underscore. e.g. as done here in ctypes: https://github.com/python/cpython/blob/master/Lib/ctypes/__init__.py#L3 3) Manually deleting members from the module. e.g. as done here in numpy: https://github.com/numpy/numpy/blob/master/numpy/core/__init__.py#L52 I think it might be cleaner to also allow an __exclude_all__ variable which will exclude some members from being imported. If both were defined I would imagine __exclude_all__ being applied second. Best, George Harding
_______________________________________________ Python-ideas mailing list -- python-ideas@python.org To unsubscribe send an email to python-ideas-le...@python.org https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/YMP7WQ3RI4BW3HUID6JFIOBVAARFA3WL/ Code of Conduct: http://python.org/psf/codeofconduct/