hup.base.pkg module¶
Package tree helper functions.
-
call_attr
(name: str, *args, **kwds) → Any¶ Call an attribute of current module with given arguments.
Parameters: - name – Name of callable attribute
- *args – Arbitrary arguments, that are passed to the call
- *kwds – Arbitrary keyword arguments, that are passes to the call, if supported by the member attribute.
Returns: Result of call.
-
crop_functions
(prefix: str, module: Optional[module] = None) → list¶ Get list of cropped function names that satisfy a given prefix.
Parameters: - prefix – String conatining the initial prefix of the returned functions
- module – Module reference. By default the current callers module is used.
Returns: List of functions, that match a given prefix.
-
get_attr
(name: str, default: Any = None, module: Optional[module] = None) → Any¶ Get an attribute of current module.
Parameters: - name – Name of attribute.
- default – Default value, which is returned, if the attribute does not exist.
- module – Optional reference to module, which is used to search for the given attribute. By default the current callers module is used.
Returns: Value of attribute.
-
get_module
(name: Optional[str] = None, errors: bool = True) → Optional[module]¶ Get reference to a module instance.
Parameters: - name – Optional name of module- If provided, the name is required to be a fully qualified name. By default a refrence to the module of the current caller is returned.
- errors – Boolean value which determines if an error is raised, if the module could not be found. By default errors are raised.
Returns: Module reference or None, if the name does not point to a valid module.
-
get_parent
(module: Optional[module] = None) → module¶ Get parent module.
Parameters: module – Optional reference to module. By default the current callers module is used. Returns: Module reference to the parent module of the current callers module.
-
get_root
(module: Optional[module] = None) → module¶ Get top level module.
Parameters: module – Optional reference to module. By default the current callers module is used. Returns: Module reference to the top level module of the current callers module.
-
get_root_name
(fqn: str) → str¶
-
get_submodule
(name: str, parent: Optional[module] = None) → Optional[module]¶ Get instance from the name of a submodule of the current module.
Parameters: - name – Name of submodule of given module.
- parent – Optional reference to module, which has to be searched for submodules. By default the current callers module is used.
Returns: Module reference of submodule or None, if the current module does not contain the given module name.
-
get_submodules
(parent: Optional[module] = None, recursive: bool = False) → List[str]¶ Get list with submodule names.
Parameters: - parent – Optional reference to module, which has to be searched for submodules. By default the current callers module is used.
- recursive – Boolean value which determines, if the search is performed recursively within all submodules. By default the returned list only comprises immediate submodules.
Returns: List with fully qualified names of submodules.
-
has_attr
(name: str, module: Optional[module] = None) → bool¶ Determine if a module has an attribute of given name.
Parameters: - name – Name of attribute
- module – Optional reference to module, which is used to search for the given attribute. By default the current callers module is used.
Returns: Result of call.
-
search
(module: Optional[module] = None, pattern: Optional[str] = None, classinfo: Union[Type[Any], Tuple[Type[Any], ...]] = <class 'function'>, key: Optional[str] = None, val: Optional[str] = None, groupby: Optional[str] = None, recursive: bool = True, rules: Optional[Dict[str, Callable[[Any, Any], bool]]] = None, errors: bool = False, **kwds) → dict¶ Recursively search for objects within submodules.
Parameters: - module – Optional reference to module, which is used to search objects. By default the current callers module is used.
- pattern – Only objects which names satisfy the wildcard pattern given
by ‘pattern’ are returned. The format of the wildcard pattern is
described in the standard library module
fnmatch
. If pattern is None, then all objects are returned. Default: None - classinfo – Classinfo given as a class, a type or a tuple containing classes, types or other tuples. Only members, which are ether an instance or a subclass of classinfo are returned. By default all types are allowed.
- key – Name of function attribute which is used as the key for the returned dictionary. If ‘key’ is None, then the fully qualified function names are used as keys. Default: None
- val – Name of function attribute which is used as the value for the returned dictionary. If ‘val’ is None, then all attributes of the respective objects are returned. Default: None
- groupby – Name of function attribute which is used to group the results. If ‘groupby’ is None, then the results are not grouped. Default: None
- recursive – Boolean value which determines if the search is performed recursively within all submodules. Default: True
- rules – Dictionary with individual filter rules, used by the attribute filter. The form is {<attribute>: <lambda>, …}, where: <attribute> is a string with the attribute name and <lambda> is a boolean valued lambda function, which specifies the comparison of the attribute value against the argument value. Example: {‘tags’: lambda arg, attr: set(arg) <= set(attr)} By default any attribute, which is not in the filter rules is compared to the argument value by equality.
- errors – Boolean value which determines if an error is raised, if the module could not be found. By default errors are not raised.
- **kwds – Keyword arguments, that define the attribute filter for the returned dictionary. For example if the argument “tags = [‘test’]” is given, then only objects are returned, which have the attribute ‘tags’ and the value of the attribute equals [‘test’]. If, however, the filter rule of the above example is given, then any function, with attribute ‘tags’ and a corresponding tag list, that comprises ‘test’ is returned.
Returns: Dictionary with function information as specified in the arguments ‘key’ and ‘val’.