|
1 | 1 | import sys |
2 | 2 |
|
3 | 3 | from typing import Optional |
| 4 | +if sys.version_info >= (3, 8): |
| 5 | + from typing import TypedDict |
| 6 | +else: |
| 7 | + from typing_extensions import TypedDict |
4 | 8 |
|
5 | | -from pydantic import BaseModel |
6 | 9 |
|
| 10 | +class DataRowParams(TypedDict): |
| 11 | + data_row_details: Optional[bool] |
| 12 | + media_attributes: Optional[bool] |
| 13 | + metadata_fields: Optional[bool] |
| 14 | + attachments: Optional[bool] |
7 | 15 |
|
8 | | -class DataRowParams(BaseModel): |
9 | | - data_row_details: Optional[bool] = None |
10 | | - media_attributes: Optional[bool] = None |
11 | | - metadata_fields: Optional[bool] = None |
12 | | - attachments: Optional[bool] = None |
13 | 16 |
|
| 17 | +class ProjectExportParams(DataRowParams): |
| 18 | + project_details: Optional[bool] |
| 19 | + label_details: Optional[bool] |
| 20 | + performance_details: Optional[bool] |
14 | 21 |
|
15 | | -class ProjectExportParams(BaseModel): |
16 | | - include_project_details: Optional[bool] = None |
17 | | - include_label_details: Optional[bool] = None |
18 | | - include_performance_details: Optional[bool] = None |
19 | 22 |
|
20 | | - |
21 | | -class ModelRunExportParams(BaseModel): |
| 23 | +class ModelRunExportParams(DataRowParams): |
22 | 24 | # TODO: Add model run fields |
23 | 25 | pass |
0 commit comments