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:
object
Determines 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: Requirements
object containing all required packages