ebonite.core.objects.requirements module

ebonite.core.objects.requirements.read(path, bin=False)[source]
class ebonite.core.objects.requirements.Requirement[source]

Bases: ebonite.core.objects.requirements.Requirement, pyjackson.decorators.SubtypeRegisterMixin

Base class for python requirement

type = 'pyjackson.decorators.Requirement'
class ebonite.core.objects.requirements.PythonRequirement[source]

Bases: ebonite.core.objects.requirements.Requirement

module = None
type = 'ebonite.core.objects.requirements.PythonRequirement'
class ebonite.core.objects.requirements.InstallableRequirement(module: str, version: str = None, package_name: str = None)[source]

Bases: ebonite.core.objects.requirements.PythonRequirement

This class represents pip-installable python library

Parameters:
  • module – name of python module
  • version – version of python package
  • package_name – Optional. pip package name for this module, if it is different from module name
type = 'installable'
package

Pip package name

to_str()[source]

pip installable representation of this module

classmethod from_module(mod: module, package_name: str = None) → ebonite.core.objects.requirements.InstallableRequirement[source]

Factory method to create InstallableRequirement from module object

Parameters:
  • mod – module object
  • package_name – PIP package name if it is not equal to module name
Returns:

InstallableRequirement

classmethod from_str(name)[source]

Factory method for creating InstallableRequirement from string

Parameters:name – string representation
Returns:InstallableRequirement
class ebonite.core.objects.requirements.CustomRequirement(name: str, source64zip: str, is_package: bool)[source]

Bases: ebonite.core.objects.requirements.PythonRequirement

This class represents local python code that you need as a requirement for your code

Parameters:
  • name – filename of this code
  • source64zip – zipped and base64-encoded source
  • is_package – whether this code should be in %name%/__init__.py
type = 'custom'
static from_module(mod: module) → ebonite.core.objects.requirements.CustomRequirement[source]

Factory method to create CustomRequirement from module object

Parameters:mod – module object
Returns:CustomRequirement
static compress(s: str) → str[source]

Helper method to compress source code

Parameters:s – source code
Returns:base64 encoded string of zipped source
static compress_package(s: Dict[str, bytes]) → str[source]
static decompress(s: str) → str[source]

Helper method to decompress source code

Parameters:s – compressed source code
Returns:decompressed source code
static decompress_package(s: str) → Dict[str, bytes][source]
module

Module name for this requirement

source

Source code of this requirement

sources
to_sources_dict()[source]

Mapping path -> source code for this requirement

Returns:dict path -> source
class ebonite.core.objects.requirements.FileRequirement(name: str, source64zip: str)[source]

Bases: ebonite.core.objects.requirements.CustomRequirement

to_sources_dict()[source]

Mapping path -> source code for this requirement

Returns:dict path -> source
classmethod from_path(path: str)[source]
type = 'ebonite.core.objects.requirements.FileRequirement'
class ebonite.core.objects.requirements.UnixPackageRequirement(package_name: str)[source]

Bases: ebonite.core.objects.requirements.Requirement

type = 'ebonite.core.objects.requirements.UnixPackageRequirement'
class ebonite.core.objects.requirements.Requirements(requirements: List[ebonite.core.objects.requirements.Requirement] = None)[source]

Bases: ebonite.core.objects.base.EboniteParams

A collection of requirements

Parameters:requirements – list of Requirement instances
installable

List of installable requirements

custom

List of custom requirements

of_type(type_: Type[T]) → List[T][source]
Parameters:type – type of requirements
Returns:List of requirements of type type_
modules

List of module names

add(requirement: ebonite.core.objects.requirements.Requirement)[source]

Adds requirement to this collection

Parameters:requirementRequirement instance to add
to_pip() → List[str][source]
Returns:list of pip installable packages
ebonite.core.objects.requirements.resolve_requirements(other: Union[ebonite.core.objects.requirements.Requirements, ebonite.core.objects.requirements.Requirement, List[ebonite.core.objects.requirements.Requirement], str, List[str]]) → ebonite.core.objects.requirements.Requirements[source]

Helper method to create Requirements from any supported source. Supported formats: Requirements, Requirement, list of Requirement, string representation or list of string representations

Parameters:other – requirement in supported format
Returns:Requirements instance