FlaskService

class elg.FlaskService(name: str)

Class to help the creation of an ELG compatible service from a python model

classmethod create_docker_files(required_files: List = [], required_folders: List = [], path: Optional[str] = None)

Class method to create the correct Dockerfile.

Parameters
  • required_files (List, optional) – List of files needed for the service. Defaults to [].

  • required_folders (List, optional) – List of folders needed for the service. Defaults to [].

  • path (str, optional) – Path where to generate the file. Defaults to None.

classmethod create_requirements(requirements: List = [], path: Optional[str] = None)

Class method to create the correct requirements.txt file.

Parameters
  • requirements (List, optional) – List of required pip packages. Defaults to [].

  • path (str, optional) – Path where to generate the file. Defaults to None.

classmethod docker_build_image(tag: str, pull: bool = True, path: Optional[str] = None, **kwargs)

Class method to do docker build … in python.

classmethod docker_push_image(repository: str, tag: str, username: Optional[str] = None, password: Optional[str] = None, **kwargs)

Class method to do docker push … in python.

invalid_request_error()

Generates a valid ELG “failure” response if the request cannot be parsed

process()

Main request processing logic - accepts a JSON request and returns a JSON response.

process_audio(request: elg.model.request.AudioRequest.AudioRequest)

Method to implement if the service takes audio as input.

Parameters

request (AudioRequest) – AudioRequest object.

process_request(request)

Method to process the request object. This method only calls the right process method regarding the type of the request.

process_structured_text(request: elg.model.request.StructuredTextRequest.StructuredTextRequest)

Method to implement if the service takes structured text as input.

Parameters

request (StructuredTextRequest) – StructuredTextRequest object.

process_text(request: elg.model.request.TextRequest.TextRequest)

Method to implement if the service takes text as input.

Parameters

request (TextRequest) – TextRequest object.

run()

Method to start the flask app.