Classes and Functions¶
Plugin Manager¶
-
class
pike.manager.PikeManager(search_paths=None)¶ The Pike plugin manager
The manager allows for the dynamic loading of Python packages for any location on a user’s filesystem.
Parameters: search_paths (list) – List of path strings to include during module importing. These paths are only in addition to existing Python import search paths. Using PikeManager as a context manager:
from pike.manager import PikeManager with PikeManager(['/path/containing/package']) as mgr: import module_in_the_package
Using PikeManager instance:
from pike.manager import PikeManager mgr = PikeManager(['/path/container/package']) import module_in_the_package mgr.cleanup()
-
add_to_meta_path()¶ Adds Pike’s import hooks to Python
This should be automatically handled by Pike; however, this is method is accessible for very rare use-cases.
-
cleanup()¶ Removes Pike’s import hooks
This should be called if an implementer is not using the manager as a context manager.
-
get_all_inherited_classes(base_class)¶ Retrieve all inherited classes from manager’s search paths
Parameters: base_class (Class) – Base class to filter results by Returns: Listof all found classes
-
get_classes(filter_func=None)¶ Get all classes within modules on the manager’s search paths
Parameters: filter_func (Function) – Custom filter function(cls_obj). Returns: Listof all found classes
-
get_module_names()¶ Get root module names available on the manager’s search paths
Returns: generatorproviding available module names.
-
get_package_names()¶ Get root package names available on the manager’s search paths
Returns: generatorproviding available package names.
-
Discovery Classes¶
Python¶
-
pike.discovery.py.classes_in_module(module, filter_func=None)¶ Retrieve classes within a module
Parameters: - module (module) – Module to search under
- filter_func (Function) – Custom filter function(cls_obj).
Returns: generatorcontaining classes within a module
-
pike.discovery.py.get_all_classes(module, filter_func=None)¶ Retrieve all classes from modules
Parameters: - module (module) – Module to search under
- filter_func (Function) – Custom filter function(cls_obj).
Returns: Listof all found classes
-
pike.discovery.py.get_all_inherited_classes(module, base_class)¶ Retrieve all inherited classes from modules
Parameters: - module (module) – Module to search under
- base_class (Class) – Base class to filter results by
Returns: Listof all found classes
-
pike.discovery.py.get_child_modules(module, recursive=True)¶ Retrieve child modules
Parameters: - module (module) – Module to search under
- recursive (bool) – Toggles the retrieval of sub-children module.
Returns: generatorcontaining child modules
-
pike.discovery.py.get_inherited_classes(module, base_class)¶ Retrieve inherited classes from a single module
Parameters: - module (module) – Module to search under
- base_class (Class) – Base class to filter results by
Returns: Listof all found classes
-
pike.discovery.py.get_module_by_name(full_module_name)¶ Import module by full name
Parameters: full_module_name (str) – Full module name e.g. (pike.discovery.py) Returns: Imported module
Filesystem¶
-
pike.discovery.filesystem.find_modules(path)¶ Finds all modules located on a path
-
pike.discovery.filesystem.find_packages(path)¶ Finds all packages located on a path
-
pike.discovery.filesystem.is_module(path)¶ Checks if path string is a module
-
pike.discovery.filesystem.is_package(path)¶ Checks if path string is a package
-
pike.discovery.filesystem.recursive_find_modules(path)¶ Recursively finds all modules located on a path
-
pike.discovery.filesystem.recursive_find_packages(path)¶ Recursively finds all packages located on a path