Skip to content

dataset

DatasetCreate

Bases: BaseModel

DatasetCreate

ATTRIBUTE DESCRIPTION
name

TYPE: NonEmptyStr

project_dir

TYPE: AbsolutePathStr | None

zarr_subfolder

TYPE: RelativePathStr | None

Source code in fractal_server/app/schemas/v2/dataset.py
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
class DatasetCreate(BaseModel):
    """
    DatasetCreate

    Attributes:
        name:
        project_dir:
        zarr_subfolder:
    """

    model_config = ConfigDict(extra="forbid")

    name: NonEmptyStr
    project_dir: AbsolutePathStr | None = None
    zarr_subfolder: RelativePathStr | None = None

    @model_validator(mode="after")
    def validate_zarr_dir(self):
        if (self.project_dir is None) and (self.zarr_subfolder is not None):
            raise ValueError(
                "Cannot provide `zarr_subfolder` without `project_dir`"
            )
        return self

DatasetExport

Bases: BaseModel

Class for Dataset export.

ATTRIBUTE DESCRIPTION
name

TYPE: str

zarr_dir

TYPE: str

images

TYPE: list[SingleImage]

Source code in fractal_server/app/schemas/v2/dataset.py
114
115
116
117
118
119
120
121
122
123
124
125
126
class DatasetExport(BaseModel):
    """
    Class for `Dataset` export.

    Attributes:
        name:
        zarr_dir:
        images:
    """

    name: str
    zarr_dir: str
    images: list[SingleImage]

DatasetImport

Bases: BaseModel

Class for Dataset import.

We are dropping model_config = ConfigDict(extra="forbid") so that any kind of legacy filters can be included in the payload, and ignored in the API.

ATTRIBUTE DESCRIPTION
name

TYPE: str

zarr_dir

TYPE: ZarrDirStr

images

TYPE: list[SingleImage]

Source code in fractal_server/app/schemas/v2/dataset.py
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
class DatasetImport(BaseModel):
    """
    Class for `Dataset` import.

    We are dropping `model_config = ConfigDict(extra="forbid")` so that any
    kind of legacy filters can be included in the payload, and ignored in the
    API.

    Attributes:
        name:
        zarr_dir:
        images:
    """

    name: str
    zarr_dir: ZarrDirStr
    images: list[SingleImage] = Field(default_factory=list)

    @model_validator(mode="after")
    def validate_image_zarr_url(self):
        for image in self.images:
            if not Path(image.zarr_url).is_relative_to(self.zarr_dir):
                raise ValueError(
                    f"{image.zarr_url=} is not relative to {self.zarr_dir=}."
                )
        return self

DatasetRead

Bases: BaseModel

DatasetRead

ATTRIBUTE DESCRIPTION
id

TYPE: int

name

TYPE: str

project_id

TYPE: int

project

TYPE: ProjectRead

timestamp_created

TYPE: AwareDatetime

zarr_dir

TYPE: str

Source code in fractal_server/app/schemas/v2/dataset.py
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
class DatasetRead(BaseModel):
    """
    DatasetRead

    Attributes:
        id:
        name:
        project_id:
        project:
        timestamp_created:
        zarr_dir:
    """

    id: int
    name: str

    project_id: int
    project: ProjectRead

    timestamp_created: AwareDatetime

    zarr_dir: str

    @field_serializer("timestamp_created")
    def serialize_datetime(v: datetime) -> str:
        return v.isoformat()

DatasetUpdate

Bases: BaseModel

DatasetUpdate

ATTRIBUTE DESCRIPTION
name

TYPE: NonEmptyStr

zarr_dir

TYPE: NonEmptyStr

Source code in fractal_server/app/schemas/v2/dataset.py
72
73
74
75
76
77
78
79
80
81
82
83
class DatasetUpdate(BaseModel):
    """
    DatasetUpdate

    Attributes:
        name:
        zarr_dir:
    """

    model_config = ConfigDict(extra="forbid")

    name: NonEmptyStr = None