ebonite.ext.ext_loader module

class ebonite.ext.ext_loader.Extension(module, reqs: List[str], force=True, validator=None)[source]

Bases: object

Extension descriptor

Parameters:
  • module – main extension module
  • reqs – list of extension dependencies
  • force – if True, disable lazy loading for this extension
  • validator – boolean predicate which should evaluate to True for this extension to be loaded
class ebonite.ext.ext_loader.ExtensionDict(*extensions)[source]

Bases: dict

_Extension container

ebonite.ext.ext_loader.is_tf_v1()
ebonite.ext.ext_loader.is_tf_v2()
class ebonite.ext.ext_loader.ExtensionLoader[source]

Bases: object

Class that tracks and loads extensions.

builtin_extensions = {'ebonite.ext.aiohttp': <Extension ebonite.ext.aiohttp>, 'ebonite.ext.catboost': <Extension ebonite.ext.catboost>, 'ebonite.ext.docker': <Extension ebonite.ext.docker>, 'ebonite.ext.flask': <Extension ebonite.ext.flask>, 'ebonite.ext.imageio': <Extension ebonite.ext.imageio>, 'ebonite.ext.lightgbm': <Extension ebonite.ext.lightgbm>, 'ebonite.ext.numpy': <Extension ebonite.ext.numpy>, 'ebonite.ext.pandas': <Extension ebonite.ext.pandas>, 'ebonite.ext.s3': <Extension ebonite.ext.s3>, 'ebonite.ext.sklearn': <Extension ebonite.ext.sklearn>, 'ebonite.ext.sqlalchemy': <Extension ebonite.ext.sqlalchemy>, 'ebonite.ext.tensorflow': <Extension ebonite.ext.tensorflow>, 'ebonite.ext.tensorflow_v2': <Extension ebonite.ext.tensorflow_v2>, 'ebonite.ext.torch': <Extension ebonite.ext.torch>, 'ebonite.ext.xgboost': <Extension ebonite.ext.xgboost>}
loaded_extensions = {}
classmethod load_all(try_lazy=True)[source]

Load all (builtin and additional) extensions

Parameters:try_lazy – if False, use force load for all builtin extensions
classmethod load(extension: Union[str, ebonite.ext.ext_loader.Extension])[source]

Load single extension

Parameters:extension – str of Extension instance to load
ebonite.ext.ext_loader.load_extensions(*exts)[source]

Load extensions

Parameters:exts – list of extension main modules