ebonite.utils.module module¶
-
ebonite.utils.module.check_pypi_module(module_name, module_version=None, raise_on_error=False, warn_on_error=True)[source]¶ Checks that module with given name and (optionally) version exists in PyPi repository.
Parameters: - module_name – name of module to look for in PyPi
- module_version – (optional) version of module to look for in PyPi
- raise_on_error – raise ValueError if module is not found in PyPi instead of returning False
- warn_on_error – print a warning if module is not found in PyPi
Returns: True if module found in PyPi, False otherwise
-
ebonite.utils.module.get_object_base_module(obj: object) → module[source]¶ Determines base module of module given object comes from.
>>> import numpy >>> get_object_base_module(numpy.random.Generator) <module 'numpy' from '...'>
Essentially this function is a combination of
get_object_module()andget_base_module().Parameters: obj – object to determine base module for Returns: Python module object for base module
-
ebonite.utils.module.get_base_module(mod: module)[source]¶ Determines base module for given module.
>>> import numpy >>> get_base_module(numpy.random) <module 'numpy' from '...'>
Parameters: mod – Python module object to determine base module for Returns: Python module object for base module
-
ebonite.utils.module.get_object_module(obj: object) → module[source]¶ Determines module given object comes from
>>> import numpy >>> get_object_module(numpy.ndarray) <module 'numpy' from '...'>
Parameters: obj – obj to determine module it comes from Returns: Python module object for object module
-
class
ebonite.utils.module.ISortModuleFinder[source]¶ Bases:
objectDetermines type of module: standard library (
ISortModuleFinder.is_stdlib()) or third party (ISortModuleFinder.is_thirdparty()). This class uses isort library heuristics with some modifications.-
instance= None¶
-
classmethod
is_stdlib(module: str)¶
-
classmethod
is_thirdparty(module: str)¶
-
-
ebonite.utils.module.is_private_module(mod: module)[source]¶ Determines that given module object represents private module.
Parameters: mod – module object to use Returns: boolean flag
-
ebonite.utils.module.is_pseudo_module(mod: module)[source]¶ Determines that given module object represents pseudo (aka Python “magic”) module.
Parameters: mod – module object to use Returns: boolean flag
-
ebonite.utils.module.is_extension_module(mod: module)[source]¶ Determines that given module object represents native code extension module.
Parameters: mod – module object to use Returns: boolean flag
-
ebonite.utils.module.is_installable_module(mod: module)[source]¶ Determines that given module object represents PyPi-installable (aka third party) module.
Parameters: mod – module object to use Returns: boolean flag
-
ebonite.utils.module.is_builtin_module(mod: module)[source]¶ Determines that given module object represents standard library (aka builtin) module.
Parameters: mod – module object to use Returns: boolean flag
-
ebonite.utils.module.is_ebonite_module(mod: module)[source]¶ Determines that given module object is ebonite module
Parameters: mod – module object to use Returns: boolean flag
-
ebonite.utils.module.is_local_module(mod: module)[source]¶ Determines that given module object represents local module. Local module is a module (Python file) which is not from standard library and not installed via pip.
Parameters: mod – module object to use Returns: boolean flag
-
ebonite.utils.module.is_from_installable_module(obj: object)[source]¶ Determines that given object comes from PyPi-installable (aka third party) module.
Parameters: obj – object to check Returns: boolean flag
-
ebonite.utils.module.get_module_version(mod: module)[source]¶ Determines version of given module object.
Parameters: mod – module object to use Returns: version as str or None if version could not be determined
-
ebonite.utils.module.get_python_version()[source]¶ Returns: Current python version in ‘major.minor.micro’ format
-
ebonite.utils.module.get_package_name(mod: module) → str[source]¶ Determines PyPi package name for given module object
Parameters: mod – module object to use Returns: name as str
-
ebonite.utils.module.get_module_repr(mod: module, validate_pypi=False) → str[source]¶ Builds PyPi requirements.txt-compatible representation of given module object
Parameters: - mod – module object to use
- validate_pypi – if True (default is False) perform representation validation in PyPi repository
Returns: representation as str
-
ebonite.utils.module.get_module_as_requirement(mod: module, validate_pypi=False) → ebonite.core.objects.requirements.InstallableRequirement[source]¶ Builds Ebonite representation of given module object
Parameters: - mod – module object to use
- validate_pypi – if True (default is False) perform representation validation in PyPi repository
Returns: representation as
InstallableRequirement
-
ebonite.utils.module.get_object_requirements(obj) → ebonite.core.objects.requirements.Requirements[source]¶ Analyzes packages required for given object to perform its function. This function uses pickle/dill libraries serialization hooks internally. Thus result of this function depend on given object being serializable by pickle/dill libraries: all nodes in objects graph which can’t be serialized are skipped and their dependencies are lost.
Parameters: obj – obj to analyze Returns: Requirementsobject containing all required packages