Beginning in Python 3.7 it is possible to define __dir__()
on a module. But what if you want to take the "normal" output of dir(module)
and add or remove from it?
For instance, I would like to do something like this:
def __dir__():
dir_out = super().__dir__()[:] # does not work
dir_out.pop('Optional') # get rid of the typing imports
return dir_out
Obviously because a module is not a normal class, the super()
call does not work. But is there another way?