Simple object to navigate complex python objects
Project description
guide
Simple object to navigate complex python objects
To install: pip install guide
Examples
Object that provides a mapping interface to the attributes of python object.
The keys will be the names of the attributes and the values will be Attrs
instances of said attributes.
>>> import guide
>>> from guide import Attrs
>>> a = Attrs(guide)
>>> sorted(a) # you would usually use ``list`` instead of ``sorted`` but the latter is used for test consistency
['Attrs', 'ObjReader', 'base', 'util']
>>> aa = a['Attrs']
>>> sorted(aa)
['get', 'head', 'items', 'keys', 'module_from_path', 'update_keys_cache', 'values']
Here's how you could implement a generator of paths (tuples) of internal module of a given module:
def internal_modules(module, path=()):
if not isinstance(module, Attrs):
module = Attrs(module)
prefix = module.src.__name__
for k, v in module.items():
if inspect.ismodule(v.src) and v.src.__name__.startswith(prefix):
yield path + (k,)
yield from internal_modules(v, path=path + (k,))
>>> import guide
>>> for path in internal_modules(guide):
... print(path)
('tools',)
('tests',)
('tests', 'simple_tests')
('base',)
('util',)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
guide-0.0.2.tar.gz
(3.5 kB
view hashes)
Built Distribution
guide-0.0.2-py3-none-any.whl
(8.7 kB
view hashes)