Skip to content

Task

CLASS DESCRIPTION
TaskV2

Model for the taskv2 database table.

Classes

TaskV2

Bases: SQLModel

Model for the taskv2 database table.

ATTRIBUTE DESCRIPTION
id

TYPE: int | None

name

TYPE: str

type

TYPE: str

version

TYPE: str

command_non_parallel

TYPE: str | None

command_parallel

TYPE: str | None

meta_non_parallel

TYPE: dict[str, Any]

meta_parallel

TYPE: dict[str, Any]

input_types

TYPE: dict[str, bool]

output_types

TYPE: dict[str, bool]

taskgroupv2_id

TYPE: int

args_schema_version

TYPE: str | None

args_schema_non_parallel

TYPE: dict[str, Any] | None

args_schema_parallel

TYPE: dict[str, Any] | None

docs_info

TYPE: str | None

docs_link

TYPE: str | None

category

TYPE: str | None

modality

TYPE: str | None

authors

TYPE: str | None

tags

TYPE: list[str]

Source code in fractal_server/app/models/v2/task.py
class TaskV2(SQLModel, table=True):
    """
    Model for the `taskv2` database table.

    Attributes:
        id:
        name:
        type:
        version:
        command_non_parallel:
        command_parallel:
        meta_non_parallel:
        meta_parallel:
        input_types:
        output_types:
        taskgroupv2_id:
        args_schema_version:
        args_schema_non_parallel:
        args_schema_parallel:
        docs_info:
        docs_link:
        category:
        modality:
        authors:
        tags:
    """

    id: int | None = Field(default=None, primary_key=True)
    name: str

    type: str
    command_non_parallel: str | None = None
    command_parallel: str | None = None

    meta_non_parallel: dict[str, Any] = Field(
        sa_column=Column(JSON, server_default="{}", default={}, nullable=False)
    )
    meta_parallel: dict[str, Any] = Field(
        sa_column=Column(JSON, server_default="{}", default={}, nullable=False)
    )

    version: str
    args_schema_non_parallel: dict[str, Any] | None = Field(
        sa_column=Column(JSON), default=None
    )
    args_schema_parallel: dict[str, Any] | None = Field(
        sa_column=Column(JSON), default=None
    )
    args_schema_version: str | None = None
    docs_info: str | None = None
    docs_link: str | None = None

    input_types: dict[str, bool] = Field(sa_column=Column(JSONB), default={})
    output_types: dict[str, bool] = Field(sa_column=Column(JSONB), default={})

    taskgroupv2_id: int = Field(foreign_key="taskgroupv2.id")

    category: str | None = None
    modality: str | None = None
    authors: str | None = None
    tags: list[str] = Field(
        sa_column=Column(JSONB, server_default="[]", nullable=False)
    )
    is_core: bool = Field(
        sa_column=Column(
            BOOLEAN,
            server_default="false",
            nullable=False,
        )
    )
    __table_args__ = (
        Index(
            "ix_taskv2_one_task_name_per_task_group",
            "name",
            "taskgroupv2_id",
            unique=True,
        ),
    )