ebonite.build package

class ebonite.build.RunnerBase[source]

Bases: object

instance_type() → Type[ebonite.core.objects.core.RuntimeInstance.Params][source]
Returns:subtype of RuntimeInstance.Params supported by this runner
create_instance(name: str, **kwargs) → ebonite.core.objects.core.RuntimeInstance.Params[source]

Creates new runtime instance on given name and args

Parameters:name – name of instance to use
Returns:created RuntimeInstance.Params subclass instance
run(instance: ebonite.core.objects.core.RuntimeInstance.Params, image: ebonite.core.objects.core.Image.Params, env: ebonite.core.objects.core.RuntimeEnvironment.Params, **kwargs)[source]

Runs given image on given environment with params given by instance

Parameters:
  • instance – instance params to use for running
  • image – image to base instance on
  • env – environment to run on
is_running(instance: ebonite.core.objects.core.RuntimeInstance.Params, env: ebonite.core.objects.core.RuntimeEnvironment.Params, **kwargs) → bool[source]

Checks that given instance is running on given environment

Parameters:
  • instance – instance to check running of
  • env – environment to check running on
Returns:

“is running” flag

stop(instance: ebonite.core.objects.core.RuntimeInstance.Params, env: ebonite.core.objects.core.RuntimeEnvironment.Params, **kwargs)[source]

Stops running of given instance on given environment

Parameters:
  • instance – instance to stop running of
  • env – environment to stop running on
logs(instance: ebonite.core.objects.core.RuntimeInstance.Params, env: ebonite.core.objects.core.RuntimeEnvironment.Params, **kwargs) → Generator[str, None, None][source]

Exposes logs produced by given instance while running on given environment

Parameters:
  • instance – instance to expose logs for
  • env – environment to expose logs from
Returns:

generator of log strings or string with logs

instance_exists(instance: ebonite.core.objects.core.RuntimeInstance.Params, env: ebonite.core.objects.core.RuntimeEnvironment.Params, **kwargs) → bool[source]

Checks if instance exists in environment

Parameters:
  • instance – instance params to check
  • env – environment to check in
Returns:

boolean flag

remove_instance(instance: ebonite.core.objects.core.RuntimeInstance.Params, env: ebonite.core.objects.core.RuntimeEnvironment.Params, **kwargs)[source]

Removes instance

Parameters:
  • instance – instance params to remove
  • env – environment to remove from
class ebonite.build.BuilderBase[source]

Bases: object

Abstract class for building images from ebonite objects

create_image(name: str, environment: ebonite.core.objects.core.RuntimeEnvironment, **kwargs) → ebonite.core.objects.core.Image.Params[source]

Abstract method to create image

build_image(buildable: ebonite.core.objects.core.Buildable, image: ebonite.core.objects.core.Image.Params, environment: ebonite.core.objects.core.RuntimeEnvironment.Params, **kwargs)[source]

Abstract method to build image

delete_image(image: ebonite.core.objects.core.Image.Params, environment: ebonite.core.objects.core.RuntimeEnvironment.Params, **kwargs)[source]

Abstract method to delete image

image_exists(image: ebonite.core.objects.core.Image.Params, environment: ebonite.core.objects.core.RuntimeEnvironment.Params, **kwargs)[source]

Abstract method to check if image exists

class ebonite.build.PythonBuildContext(provider: ebonite.build.provider.base.PythonProvider)[source]

Bases: object

Basic class for building python images from ebonite objects

Parameters:provider – A ProviderBase instance to get distribution from
class ebonite.build.PipelineProvider(pipeline: ebonite.core.objects.core.Pipeline, server: ebonite.runtime.server.base.Server, debug: bool = False)[source]

Bases: ebonite.build.provider.base.PythonProvider

Provider to build service from Pipeline object

Parameters:
  • pipeline – Pipeline instance to build from
  • server – Server instance to build with
  • debug – Whether to run image in debug mode
get_requirements() → ebonite.core.objects.requirements.Requirements[source]

Returns union of model, server and loader requirements

get_sources()[source]

Returns model metadata file and sources of custom modules from requirements

get_artifacts() → ebonite.core.objects.artifacts.ArtifactCollection[source]

Return model binaries

get_python_version()[source]
Returns:version of python that produced model
class ebonite.build.MLModelMultiProvider(models: List[ebonite.core.objects.core.Model], server: ebonite.runtime.server.base.Server, debug: bool = False)[source]

Bases: ebonite.build.provider.ml_model.MLModelProvider

Provider to put multiple models in one service

Parameters:
  • models – List of Model instances
  • server – Server instance to build with
  • debug – Debug for instance
get_requirements()[source]

Returns union of server, loader and all models requirements

get_sources()[source]

Returns models meta file and custom requirements

get_artifacts() → ebonite.core.objects.artifacts.ArtifactCollection[source]

Returns binaries of models artifacts

get_python_version()[source]
Returns:version of python that produced model
class ebonite.build.MLModelProvider(model: ebonite.core.objects.core.Model, server: ebonite.runtime.server.base.Server, debug: bool = False)[source]

Bases: ebonite.build.provider.base.PythonProvider

Provider to build service from Model object

Parameters:
  • model – Model instance to build from
  • server – Server instance to build with
  • debug – Whether to run image in debug mode
get_requirements() → ebonite.core.objects.requirements.Requirements[source]

Returns union of model, server and loader requirements

get_sources()[source]

Returns model metadata file and sources of custom modules from requirements

get_artifacts() → ebonite.core.objects.artifacts.ArtifactCollection[source]

Return model binaries

get_python_version()[source]
Returns:version of python that produced model