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:List of 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:List of all found classes
get_module_names()

Get root module names available on the manager’s search paths

Returns:generator providing available module names.
get_package_names()

Get root package names available on the manager’s search paths

Returns:generator providing 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:

generator containing 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:

List of 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:

List of 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:

generator containing 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:

List of 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