vantage6.client.subclients.store.algorithm.AlgorithmSubClient#

class AlgorithmSubClient(parent)#

Bases: SubClient

Subclient for the algorithms from the algorithm store.

__init__(parent)#

Methods

__init__(parent)

create(name, description, image, ...[, ...])

Add an algorithm to the algorithm store

delete(id_)

Delete an algorithm from the algorithm store

get(id_)

Get an algorithm by its id.

invalidate(id_)

Invalidate an algorithm in the algorithm store.

list([name, description, image, ...])

List algorithms.

update(id_[, name, description, image, ...])

Update an algorithm in the algorithm store

create(name, description, image, partitioning, vantage6_version, code_url, functions, documentation_url=None)#

Add an algorithm to the algorithm store

Parameters:
  • name (str) – Name of the algorithm

  • description (str) – Description of the algorithm

  • image (str) – Docker image of the algorithm

  • partitioning (str) – Partitioning of the algorithm (horizontal or vertical)

  • vantage6_version (str) – Vantage6 version of the algorithm

  • code_url (str) – URL to the repository containing the algorithm code

  • functions (list[dict]) –

    List of functions of the algorithm. Each function is a dict with the following keys: - name: str

    Name of the function

    • description: str, optional

      Description of the function

    • type: string

      Type of the function (central or federated)

    • databases: list[dict]

      List of databases of the function. Each database is a dict with the following keys: - name: str

      Name of the database

      • description: str, optional

        Description of the database

    • arguments: list[dict]

      List of arguments of the function. Each argument is a dict with the following keys: - name: str

      Name of the argument

      • description: str, optional

        Description of the argument

      • type: str

        Type of the argument. Can be ‘string’, ‘integer’, ‘float’, ‘boolean’, ‘json’, ‘column’, ‘organization’ or ‘organizations’

    • ui_visualizations: list[dict]

      List of UI visualizations of the function. Each visualization is a dict with the following keys: - name: str

      Name of the visualization

      • description: str, optional

        Description of the visualization

      • type: str

        Type of the visualization. Can be ‘table’

      • schema: dict, optional

        Visualization details. For example, for a table, the schema could be a dict with the following keys: - location: list[str]

        Where data to be visualized are stored in the results. For example, if the data is stored in the ‘data’ key of the results, the location would be [‘data’].

        • columns: list[str]

          List of column names to visualize

  • documentation_url (str, optional) – URL to the documentation of the algorithm

Returns:

The created algorithm

Return type:

dict

delete(id_)#

Delete an algorithm from the algorithm store

Parameters:

id (int) – Id of the algorithm

Returns:

The deleted algorithm

Return type:

dict

get(id_)#

Get an algorithm by its id.

Parameters:

id (int) – The id of the algorithm.

Returns:

The algorithm.

Return type:

dict

invalidate(id_)#

Invalidate an algorithm in the algorithm store. An invalidated algorithm is marked as outdated but is not deleted - you can therefore still view it and link that to the results of executed analyses.

Parameters:

id (int) – Id of the algorithm

Returns:

The invalidated algorithm

Return type:

dict

list(name=None, description=None, image=None, partitioning=None, v6_version=None, awaiting_reviewer_assignment=None, under_review=None, in_review_process=None, invalidated=None)#

List algorithms.

By default, only approved algorithms are returned.

Parameters:
  • name (str) – Filter by name (with LIKE operator).

  • description (str) – Filter by description (with LIKE operator).

  • image (str) – Filter by image (with LIKE operator).

  • partitioning (str) – Filter by partitioning (horizontal or vertical).

  • v6_version (str) – Filter by version (with LIKE operator).

  • awaiting_reviewer_assignment (bool) – Filter by whether the algorithm is awaiting reviewer assignment.

  • under_review (bool) – Filter by whether the algorithm is under review.

  • in_review_process (bool) – Filter by whether the algorithm is in the review process, i.e. either awaiting reviewer assignment or under review.

  • invalidated (bool) – Filter by whether the algorithm is invalidated.

Returns:

List of algorithms

Return type:

list[dict]

update(id_, name=None, description=None, image=None, partitioning=None, vantage6_version=None, code_url=None, documentation_url=None, functions=None, refresh_digest=None)#

Update an algorithm in the algorithm store

Parameters:
  • id (int) – Id of the algorithm

  • name (str) – Name of the algorithm

  • description (str) – Description of the algorithm

  • image (str) – Docker image of the algorithm

  • partitioning (str) – Partitioning of the algorithm (horizontal or vertical)

  • vantage6_version (str) – Vantage6 version of the algorithm

  • code_url (str) – URL to the repository containing the algorithm code

  • documentation_url (str, optional) – URL to the documentation of the algorithm

  • functions (list[dict]) –

    List of functions of the algorithm. Each function is a dict with the following keys: - name: str

    Name of the function

    • description: str, optional

      Description of the function

    • type: string

      Type of the function (central or federated)

    • databases: list[dict]

      List of databases of the function. Each database is a dict with the following keys: - name: str

      Name of the database

      • description: str, optional

        Description of the database

    • arguments: list[dict]

      List of arguments of the function. Each argument is a dict with the following keys: - name: str

      Name of the argument

      • description: str, optional

        Description of the argument

      • type: str

        Type of the argument. Can be ‘string’, ‘integer’, ‘float’, ‘boolean’, ‘json’, ‘column’, ‘organization’ or ‘organizations’

    • ui_visualizations: list[dict]

      List of UI visualizations of the function. Each visualization is a dict with the following keys: - name: str

      Name of the visualization

      • description: str, optional

        Description of the visualization

      • type: str

        Type of the visualization. Can be ‘table’

      • schema: dict, optional

        Visualization details. For example, for a table, the schema could be a dict with the following keys: - location: list[str]

        Where data to be visualized are stored in the results. For example, if the data is stored in the ‘data’ key of the results, the location would be [‘data’].

        • columns: list[str]

          List of column names to visualize

    refresh_digestbool, optional

    Whether to refresh the digest of the algorithm. This is useful when the algorithm image has been updated before the algorithm was in review.

Returns:

The updated algorithm

Return type:

dict