$ python attr_origins.py stdio_mgr.stdio_mgr TeeStdin
_CHUNK_SIZE :: <attribute '_CHUNK_SIZE' of '_io.TextIOWrapper' objects>
__class__ :: <class 'type'>
__del__ :: <slot wrapper '__del__' of '_io._IOBase' objects>
__delattr__ :: <slot wrapper '__delattr__' of 'object' objects>
__dir__ :: <method '__dir__' of 'object' objects>
__enter__ :: <method '__enter__' of '_io._IOBase' objects>
__eq__ :: <slot wrapper '__eq__' of 'object' objects>
__exit__ :: <method '__exit__' of '_io._IOBase' objects>
__format__ :: <method '__format__' of 'object' objects>
__ge__ :: <slot wrapper '__ge__' of 'object' objects>
__getattribute__ :: <slot wrapper '__getattribute__' of 'object' objects>
__getstate__ :: <method '__getstate__' of '_io.TextIOWrapper' objects>
__gt__ :: <slot wrapper '__gt__' of 'object' objects>
__hash__ :: <slot wrapper '__hash__' of 'object' objects>
__init__ :: <function _Tee.__init__>
__init_subclass__ :: <built-in method __init_subclass__ of type object>
__iter__ :: <slot wrapper '__iter__' of '_io._IOBase' objects>
__le__ :: <slot wrapper '__le__' of 'object' objects>
__lt__ :: <slot wrapper '__lt__' of 'object' objects>
__module__ :: 'stdio_mgr.stdio_mgr'
__ne__ :: <slot wrapper '__ne__' of 'object' objects>
__new__ :: <built-in method __new__ of type object>
__next__ :: <slot wrapper '__next__' of '_io.TextIOWrapper' objects>
__reduce__ :: <method '__reduce__' of 'object' objects>
__reduce_ex__ :: <method '__reduce_ex__' of 'object' objects>
__repr__ :: <slot wrapper '__repr__' of '_io.TextIOWrapper' objects>
__setattr__ :: <slot wrapper '__setattr__' of 'object' objects>
__sizeof__ :: <method '__sizeof__' of 'object' objects>
__str__ :: <slot wrapper '__str__' of 'object' objects>
__subclasshook__ :: <built-in method __subclasshook__ of type object>
_checkClosed :: <method '_checkClosed' of '_io._IOBase' objects>
_checkReadable :: <method '_checkReadable' of '_io._IOBase' objects>
_checkSeekable :: <method '_checkSeekable' of '_io._IOBase' objects>
_checkWritable :: <method '_checkWritable' of '_io._IOBase' objects>
_finalizing :: <member '_finalizing' of '_io.TextIOWrapper' objects>
append :: <function SimulateStdin.append>
buffer :: <member 'buffer' of '_io.TextIOWrapper' objects>
close :: <method 'close' of '_io.TextIOWrapper' objects>
closed :: <attribute 'closed' of '_io.TextIOWrapper' objects>
detach :: <method 'detach' of '_io.TextIOWrapper' objects>
encoding :: <member 'encoding' of '_io.TextIOWrapper' objects>
errors :: <attribute 'errors' of '_io.TextIOWrapper' objects>
fileno :: <method 'fileno' of '_io.TextIOWrapper' objects>
flush :: <method 'flush' of '_io.TextIOWrapper' objects>
getvalue :: <function SimulateStdin.getvalue>
isatty :: <method 'isatty' of '_io.TextIOWrapper' objects>
line_buffering :: <member 'line_buffering' of '_io.TextIOWrapper' objects>
name :: <attribute 'name' of '_io.TextIOWrapper' objects>
newlines :: <attribute 'newlines' of '_io.TextIOWrapper' objects>
read :: <function _Tee.read>
readable :: <method 'readable' of '_io.TextIOWrapper' objects>
readline :: <function _Tee.readline>
readlines :: <method 'readlines' of '_io._IOBase' objects>
reconfigure :: <method 'reconfigure' of '_io.TextIOWrapper' objects>
seek :: <method 'seek' of '_io.TextIOWrapper' objects>
seekable :: <method 'seekable' of '_io.TextIOWrapper' objects>
tell :: <method 'tell' of '_io.TextIOWrapper' objects>
truncate :: <method 'truncate' of '_io.TextIOWrapper' objects>
writable :: <method 'writable' of '_io.TextIOWrapper' objects>
write :: <method 'write' of '_io.TextIOWrapper' objects>
write_through :: <member 'write_through' of '_io.TextIOWrapper' objects>
writelines :: <method 'writelines' of '_io._IOBase' objects>