scale-gp-beta 0.1.0a35__py3-none-any.whl → 0.1.0a37__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,7 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import Any, cast
5
+ from typing import Any, Dict, Iterable, cast
6
6
  from typing_extensions import Literal, overload
7
7
 
8
8
  import httpx
@@ -52,6 +52,7 @@ class QuestionsResource(SyncAPIResource):
52
52
  configuration: question_create_params.CategoricalQuestionRequestConfiguration,
53
53
  name: str,
54
54
  prompt: str,
55
+ conditions: Iterable[Dict[str, object]] | Omit = omit,
55
56
  question_type: Literal["categorical"] | Omit = omit,
56
57
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
57
58
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -66,6 +67,8 @@ class QuestionsResource(SyncAPIResource):
66
67
  Args:
67
68
  prompt: user-facing question prompt
68
69
 
70
+ conditions: Conditions for the question to be shown
71
+
69
72
  extra_headers: Send extra headers
70
73
 
71
74
  extra_query: Add additional query parameters to the request
@@ -83,6 +86,7 @@ class QuestionsResource(SyncAPIResource):
83
86
  configuration: question_create_params.RatingQuestionRequestConfiguration,
84
87
  name: str,
85
88
  prompt: str,
89
+ conditions: Iterable[Dict[str, object]] | Omit = omit,
86
90
  question_type: Literal["rating"] | Omit = omit,
87
91
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
88
92
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -97,6 +101,8 @@ class QuestionsResource(SyncAPIResource):
97
101
  Args:
98
102
  prompt: user-facing question prompt
99
103
 
104
+ conditions: Conditions for the question to be shown
105
+
100
106
  extra_headers: Send extra headers
101
107
 
102
108
  extra_query: Add additional query parameters to the request
@@ -113,6 +119,7 @@ class QuestionsResource(SyncAPIResource):
113
119
  *,
114
120
  name: str,
115
121
  prompt: str,
122
+ conditions: Iterable[Dict[str, object]] | Omit = omit,
116
123
  configuration: question_create_params.NumberQuestionRequestConfiguration | Omit = omit,
117
124
  question_type: Literal["number"] | Omit = omit,
118
125
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -128,6 +135,8 @@ class QuestionsResource(SyncAPIResource):
128
135
  Args:
129
136
  prompt: user-facing question prompt
130
137
 
138
+ conditions: Conditions for the question to be shown
139
+
131
140
  extra_headers: Send extra headers
132
141
 
133
142
  extra_query: Add additional query parameters to the request
@@ -144,6 +153,7 @@ class QuestionsResource(SyncAPIResource):
144
153
  *,
145
154
  name: str,
146
155
  prompt: str,
156
+ conditions: Iterable[Dict[str, object]] | Omit = omit,
147
157
  configuration: question_create_params.FreeTextQuestionRequestConfiguration | Omit = omit,
148
158
  question_type: Literal["free_text"] | Omit = omit,
149
159
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -159,6 +169,8 @@ class QuestionsResource(SyncAPIResource):
159
169
  Args:
160
170
  prompt: user-facing question prompt
161
171
 
172
+ conditions: Conditions for the question to be shown
173
+
162
174
  extra_headers: Send extra headers
163
175
 
164
176
  extra_query: Add additional query parameters to the request
@@ -176,6 +188,7 @@ class QuestionsResource(SyncAPIResource):
176
188
  configuration: question_create_params.FormQuestionRequestConfiguration,
177
189
  name: str,
178
190
  prompt: str,
191
+ conditions: Iterable[Dict[str, object]] | Omit = omit,
179
192
  question_type: Literal["form"] | Omit = omit,
180
193
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
181
194
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -190,6 +203,42 @@ class QuestionsResource(SyncAPIResource):
190
203
  Args:
191
204
  prompt: user-facing question prompt
192
205
 
206
+ conditions: Conditions for the question to be shown
207
+
208
+ extra_headers: Send extra headers
209
+
210
+ extra_query: Add additional query parameters to the request
211
+
212
+ extra_body: Add additional JSON properties to the request
213
+
214
+ timeout: Override the client-level default timeout for this request, in seconds
215
+ """
216
+ ...
217
+
218
+ @overload
219
+ def create(
220
+ self,
221
+ *,
222
+ name: str,
223
+ prompt: str,
224
+ conditions: Iterable[Dict[str, object]] | Omit = omit,
225
+ configuration: question_create_params.TimestampQuestionRequestConfiguration | Omit = omit,
226
+ question_type: Literal["timestamp"] | Omit = omit,
227
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
228
+ # The extra values given here take precedence over values defined on the client or passed to this method.
229
+ extra_headers: Headers | None = None,
230
+ extra_query: Query | None = None,
231
+ extra_body: Body | None = None,
232
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
233
+ ) -> Question:
234
+ """
235
+ Create Question
236
+
237
+ Args:
238
+ prompt: user-facing question prompt
239
+
240
+ conditions: Conditions for the question to be shown
241
+
193
242
  extra_headers: Send extra headers
194
243
 
195
244
  extra_query: Add additional query parameters to the request
@@ -209,14 +258,17 @@ class QuestionsResource(SyncAPIResource):
209
258
  | question_create_params.NumberQuestionRequestConfiguration
210
259
  | question_create_params.FreeTextQuestionRequestConfiguration
211
260
  | question_create_params.FormQuestionRequestConfiguration
261
+ | question_create_params.TimestampQuestionRequestConfiguration
212
262
  | Omit = omit,
213
263
  name: str,
214
264
  prompt: str,
265
+ conditions: Iterable[Dict[str, object]] | Omit = omit,
215
266
  question_type: Literal["categorical"]
216
267
  | Literal["rating"]
217
268
  | Literal["number"]
218
269
  | Literal["free_text"]
219
270
  | Literal["form"]
271
+ | Literal["timestamp"]
220
272
  | Omit = omit,
221
273
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
222
274
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -234,6 +286,7 @@ class QuestionsResource(SyncAPIResource):
234
286
  "configuration": configuration,
235
287
  "name": name,
236
288
  "prompt": prompt,
289
+ "conditions": conditions,
237
290
  "question_type": question_type,
238
291
  },
239
292
  question_create_params.QuestionCreateParams,
@@ -356,6 +409,7 @@ class AsyncQuestionsResource(AsyncAPIResource):
356
409
  configuration: question_create_params.CategoricalQuestionRequestConfiguration,
357
410
  name: str,
358
411
  prompt: str,
412
+ conditions: Iterable[Dict[str, object]] | Omit = omit,
359
413
  question_type: Literal["categorical"] | Omit = omit,
360
414
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
361
415
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -370,6 +424,8 @@ class AsyncQuestionsResource(AsyncAPIResource):
370
424
  Args:
371
425
  prompt: user-facing question prompt
372
426
 
427
+ conditions: Conditions for the question to be shown
428
+
373
429
  extra_headers: Send extra headers
374
430
 
375
431
  extra_query: Add additional query parameters to the request
@@ -387,6 +443,7 @@ class AsyncQuestionsResource(AsyncAPIResource):
387
443
  configuration: question_create_params.RatingQuestionRequestConfiguration,
388
444
  name: str,
389
445
  prompt: str,
446
+ conditions: Iterable[Dict[str, object]] | Omit = omit,
390
447
  question_type: Literal["rating"] | Omit = omit,
391
448
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
392
449
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -401,6 +458,8 @@ class AsyncQuestionsResource(AsyncAPIResource):
401
458
  Args:
402
459
  prompt: user-facing question prompt
403
460
 
461
+ conditions: Conditions for the question to be shown
462
+
404
463
  extra_headers: Send extra headers
405
464
 
406
465
  extra_query: Add additional query parameters to the request
@@ -417,6 +476,7 @@ class AsyncQuestionsResource(AsyncAPIResource):
417
476
  *,
418
477
  name: str,
419
478
  prompt: str,
479
+ conditions: Iterable[Dict[str, object]] | Omit = omit,
420
480
  configuration: question_create_params.NumberQuestionRequestConfiguration | Omit = omit,
421
481
  question_type: Literal["number"] | Omit = omit,
422
482
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -432,6 +492,8 @@ class AsyncQuestionsResource(AsyncAPIResource):
432
492
  Args:
433
493
  prompt: user-facing question prompt
434
494
 
495
+ conditions: Conditions for the question to be shown
496
+
435
497
  extra_headers: Send extra headers
436
498
 
437
499
  extra_query: Add additional query parameters to the request
@@ -448,6 +510,7 @@ class AsyncQuestionsResource(AsyncAPIResource):
448
510
  *,
449
511
  name: str,
450
512
  prompt: str,
513
+ conditions: Iterable[Dict[str, object]] | Omit = omit,
451
514
  configuration: question_create_params.FreeTextQuestionRequestConfiguration | Omit = omit,
452
515
  question_type: Literal["free_text"] | Omit = omit,
453
516
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -463,6 +526,8 @@ class AsyncQuestionsResource(AsyncAPIResource):
463
526
  Args:
464
527
  prompt: user-facing question prompt
465
528
 
529
+ conditions: Conditions for the question to be shown
530
+
466
531
  extra_headers: Send extra headers
467
532
 
468
533
  extra_query: Add additional query parameters to the request
@@ -480,6 +545,7 @@ class AsyncQuestionsResource(AsyncAPIResource):
480
545
  configuration: question_create_params.FormQuestionRequestConfiguration,
481
546
  name: str,
482
547
  prompt: str,
548
+ conditions: Iterable[Dict[str, object]] | Omit = omit,
483
549
  question_type: Literal["form"] | Omit = omit,
484
550
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
485
551
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -494,6 +560,42 @@ class AsyncQuestionsResource(AsyncAPIResource):
494
560
  Args:
495
561
  prompt: user-facing question prompt
496
562
 
563
+ conditions: Conditions for the question to be shown
564
+
565
+ extra_headers: Send extra headers
566
+
567
+ extra_query: Add additional query parameters to the request
568
+
569
+ extra_body: Add additional JSON properties to the request
570
+
571
+ timeout: Override the client-level default timeout for this request, in seconds
572
+ """
573
+ ...
574
+
575
+ @overload
576
+ async def create(
577
+ self,
578
+ *,
579
+ name: str,
580
+ prompt: str,
581
+ conditions: Iterable[Dict[str, object]] | Omit = omit,
582
+ configuration: question_create_params.TimestampQuestionRequestConfiguration | Omit = omit,
583
+ question_type: Literal["timestamp"] | Omit = omit,
584
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
585
+ # The extra values given here take precedence over values defined on the client or passed to this method.
586
+ extra_headers: Headers | None = None,
587
+ extra_query: Query | None = None,
588
+ extra_body: Body | None = None,
589
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
590
+ ) -> Question:
591
+ """
592
+ Create Question
593
+
594
+ Args:
595
+ prompt: user-facing question prompt
596
+
597
+ conditions: Conditions for the question to be shown
598
+
497
599
  extra_headers: Send extra headers
498
600
 
499
601
  extra_query: Add additional query parameters to the request
@@ -513,14 +615,17 @@ class AsyncQuestionsResource(AsyncAPIResource):
513
615
  | question_create_params.NumberQuestionRequestConfiguration
514
616
  | question_create_params.FreeTextQuestionRequestConfiguration
515
617
  | question_create_params.FormQuestionRequestConfiguration
618
+ | question_create_params.TimestampQuestionRequestConfiguration
516
619
  | Omit = omit,
517
620
  name: str,
518
621
  prompt: str,
622
+ conditions: Iterable[Dict[str, object]] | Omit = omit,
519
623
  question_type: Literal["categorical"]
520
624
  | Literal["rating"]
521
625
  | Literal["number"]
522
626
  | Literal["free_text"]
523
627
  | Literal["form"]
628
+ | Literal["timestamp"]
524
629
  | Omit = omit,
525
630
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
526
631
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -538,6 +643,7 @@ class AsyncQuestionsResource(AsyncAPIResource):
538
643
  "configuration": configuration,
539
644
  "name": name,
540
645
  "prompt": prompt,
646
+ "conditions": conditions,
541
647
  "question_type": question_type,
542
648
  },
543
649
  question_create_params.QuestionCreateParams,
@@ -18,5 +18,8 @@ class DatasetCreateParams(TypedDict, total=False):
18
18
 
19
19
  description: str
20
20
 
21
+ files: Iterable[Dict[str, str]]
22
+ """Files to be associated to the dataset"""
23
+
21
24
  tags: SequenceNotStr[str]
22
25
  """The tags associated with the entity"""
@@ -1,6 +1,6 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
- from typing import Optional
3
+ from typing import Dict, Optional
4
4
  from datetime import datetime
5
5
  from typing_extensions import Literal
6
6
 
@@ -28,4 +28,6 @@ class DatasetItem(BaseModel):
28
28
 
29
29
  dataset_id: Optional[str] = None
30
30
 
31
+ files: Optional[Dict[str, str]] = None
32
+
31
33
  object: Optional[Literal["dataset.item"]] = None
@@ -14,3 +14,6 @@ class DatasetItemBatchCreateParams(TypedDict, total=False):
14
14
 
15
15
  dataset_id: Required[str]
16
16
  """Identifier of the target dataset"""
17
+
18
+ files: Iterable[Dict[str, str]]
19
+ """Files to be associated to the dataset"""
@@ -11,3 +11,6 @@ __all__ = ["DatasetItemUpdateParams"]
11
11
  class DatasetItemUpdateParams(TypedDict, total=False):
12
12
  data: Required[Dict[str, object]]
13
13
  """Updated dataset item data"""
14
+
15
+ files: Dict[str, str]
16
+ """Files to be associated to the dataset"""
@@ -2,17 +2,26 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing_extensions import TypedDict
5
+ from typing import Union
6
+ from typing_extensions import Literal, Required, TypeAlias, TypedDict
6
7
 
7
8
  from .._types import SequenceNotStr
8
9
 
9
- __all__ = ["DatasetUpdateParams"]
10
+ __all__ = ["DatasetUpdateParams", "PartialDatasetRequestBase", "RestoreRequest"]
10
11
 
11
12
 
12
- class DatasetUpdateParams(TypedDict, total=False):
13
+ class PartialDatasetRequestBase(TypedDict, total=False):
13
14
  description: str
14
15
 
15
16
  name: str
16
17
 
17
18
  tags: SequenceNotStr[str]
18
19
  """The tags associated with the entity"""
20
+
21
+
22
+ class RestoreRequest(TypedDict, total=False):
23
+ restore: Required[Literal[True]]
24
+ """Set to true to restore the entity from the database."""
25
+
26
+
27
+ DatasetUpdateParams: TypeAlias = Union[PartialDatasetRequestBase, RestoreRequest]
@@ -10,7 +10,43 @@ from .dataset import Dataset
10
10
  from .._models import BaseModel
11
11
  from .shared.identity import Identity
12
12
 
13
- __all__ = ["Evaluation"]
13
+ __all__ = ["Evaluation", "Progress", "ProgressItems", "ProgressItemsFailedItem", "ProgressWorkflows"]
14
+
15
+
16
+ class ProgressItemsFailedItem(BaseModel):
17
+ item_id: str
18
+
19
+ error: Optional[str] = None
20
+
21
+ error_type: Optional[str] = None
22
+
23
+
24
+ class ProgressItems(BaseModel):
25
+ failed: int
26
+
27
+ pending: int
28
+
29
+ successful: int
30
+
31
+ total: int
32
+
33
+ failed_items: Optional[List[ProgressItemsFailedItem]] = None
34
+
35
+
36
+ class ProgressWorkflows(BaseModel):
37
+ completed: int
38
+
39
+ failed: int
40
+
41
+ pending: int
42
+
43
+ total: int
44
+
45
+
46
+ class Progress(BaseModel):
47
+ items: Optional[ProgressItems] = None
48
+
49
+ workflows: Optional[ProgressWorkflows] = None
14
50
 
15
51
 
16
52
  class Evaluation(BaseModel):
@@ -39,6 +75,9 @@ class Evaluation(BaseModel):
39
75
 
40
76
  object: Optional[Literal["evaluation"]] = None
41
77
 
78
+ progress: Optional[Progress] = None
79
+ """Progress of the evaluation's underlying async job"""
80
+
42
81
  status_reason: Optional[str] = None
43
82
  """Reason for evaluation status"""
44
83
 
@@ -25,6 +25,9 @@ class EvaluationStandaloneCreateRequest(TypedDict, total=False):
25
25
 
26
26
  description: str
27
27
 
28
+ files: Iterable[Dict[str, str]]
29
+ """Files to be associated to the evaluation"""
30
+
28
31
  metadata: Dict[str, object]
29
32
  """Optional metadata key-value pairs for the evaluation"""
30
33
 
@@ -76,6 +79,9 @@ class EvaluationWithDatasetCreateRequest(TypedDict, total=False):
76
79
 
77
80
  description: str
78
81
 
82
+ files: Iterable[Dict[str, str]]
83
+ """Files to be associated to the evaluation"""
84
+
79
85
  metadata: Dict[str, object]
80
86
  """Optional metadata key-value pairs for the evaluation"""
81
87
 
@@ -28,4 +28,6 @@ class EvaluationItem(BaseModel):
28
28
 
29
29
  dataset_item_version_num: Optional[int] = None
30
30
 
31
+ files: Optional[Dict[str, str]] = None
32
+
31
33
  object: Optional[Literal["evaluation.item"]] = None
@@ -575,6 +575,9 @@ class ContributorEvaluationQuestionTaskConfiguration(BaseModel):
575
575
  queue_id: Optional[str] = None
576
576
  """The contributor annotation queue to include this task in. Defaults to `default`"""
577
577
 
578
+ required: Optional[bool] = None
579
+ """Whether the question is required to be answered"""
580
+
578
581
 
579
582
  class ContributorEvaluationQuestionTask(BaseModel):
580
583
  configuration: ContributorEvaluationQuestionTaskConfiguration
@@ -574,6 +574,9 @@ class ContributorEvaluationQuestionTaskConfiguration(TypedDict, total=False):
574
574
  queue_id: str
575
575
  """The contributor annotation queue to include this task in. Defaults to `default`"""
576
576
 
577
+ required: bool
578
+ """Whether the question is required to be answered"""
579
+
577
580
 
578
581
  class ContributorEvaluationQuestionTask(TypedDict, total=False):
579
582
  configuration: Required[ContributorEvaluationQuestionTaskConfiguration]
@@ -27,6 +27,8 @@ class File(BaseModel):
27
27
 
28
28
  size: int
29
29
 
30
+ duration_seconds: Optional[int] = None
31
+
30
32
  object: Optional[Literal["file"]] = None
31
33
 
32
34
  tags: Optional[Dict[str, builtins.object]] = None
@@ -20,6 +20,8 @@ __all__ = [
20
20
  "FreeTextQuestionConfiguration",
21
21
  "FormQuestion",
22
22
  "FormQuestionConfiguration",
23
+ "TimestampQuestion",
24
+ "TimestampQuestionConfiguration",
23
25
  ]
24
26
 
25
27
 
@@ -27,6 +29,12 @@ class CategoricalQuestionConfiguration(BaseModel):
27
29
  choices: List[str]
28
30
  """Categorical answer choices (must contain at least one entry)"""
29
31
 
32
+ dropdown: Optional[bool] = None
33
+ """Whether the question is displayed as a dropdown in the UI."""
34
+
35
+ multi: Optional[bool] = None
36
+ """Whether the question allows multiple answers."""
37
+
30
38
 
31
39
  class CategoricalQuestion(BaseModel):
32
40
  id: str
@@ -45,6 +53,9 @@ class CategoricalQuestion(BaseModel):
45
53
  prompt: str
46
54
  """user-facing question prompt"""
47
55
 
56
+ conditions: Optional[List[Dict[str, object]]] = None
57
+ """Conditions for the question to be shown"""
58
+
48
59
  object: Optional[Literal["question"]] = None
49
60
 
50
61
  question_type: Optional[Literal["categorical"]] = None
@@ -78,6 +89,9 @@ class RatingQuestion(BaseModel):
78
89
  prompt: str
79
90
  """user-facing question prompt"""
80
91
 
92
+ conditions: Optional[List[Dict[str, object]]] = None
93
+ """Conditions for the question to be shown"""
94
+
81
95
  object: Optional[Literal["question"]] = None
82
96
 
83
97
  question_type: Optional[Literal["rating"]] = None
@@ -106,6 +120,9 @@ class NumberQuestion(BaseModel):
106
120
  prompt: str
107
121
  """user-facing question prompt"""
108
122
 
123
+ conditions: Optional[List[Dict[str, object]]] = None
124
+ """Conditions for the question to be shown"""
125
+
109
126
  configuration: Optional[NumberQuestionConfiguration] = None
110
127
 
111
128
  object: Optional[Literal["question"]] = None
@@ -136,6 +153,9 @@ class FreeTextQuestion(BaseModel):
136
153
  prompt: str
137
154
  """user-facing question prompt"""
138
155
 
156
+ conditions: Optional[List[Dict[str, object]]] = None
157
+ """Conditions for the question to be shown"""
158
+
139
159
  configuration: Optional[FreeTextQuestionConfiguration] = None
140
160
 
141
161
  object: Optional[Literal["question"]] = None
@@ -165,12 +185,45 @@ class FormQuestion(BaseModel):
165
185
  prompt: str
166
186
  """user-facing question prompt"""
167
187
 
188
+ conditions: Optional[List[Dict[str, object]]] = None
189
+ """Conditions for the question to be shown"""
190
+
168
191
  object: Optional[Literal["question"]] = None
169
192
 
170
193
  question_type: Optional[Literal["form"]] = None
171
194
 
172
195
 
196
+ class TimestampQuestionConfiguration(BaseModel):
197
+ allow_multi_timestamps: Optional[bool] = None
198
+ """Whether to allow multiple media timestamps"""
199
+
200
+
201
+ class TimestampQuestion(BaseModel):
202
+ id: str
203
+ """Unique identifier of the entity"""
204
+
205
+ created_at: datetime
206
+ """ISO-timestamp when the entity was created"""
207
+
208
+ created_by: Identity
209
+ """The identity that created the entity."""
210
+
211
+ name: str
212
+
213
+ prompt: str
214
+ """user-facing question prompt"""
215
+
216
+ conditions: Optional[List[Dict[str, object]]] = None
217
+ """Conditions for the question to be shown"""
218
+
219
+ configuration: Optional[TimestampQuestionConfiguration] = None
220
+
221
+ object: Optional[Literal["question"]] = None
222
+
223
+ question_type: Optional[Literal["timestamp"]] = None
224
+
225
+
173
226
  Question: TypeAlias = Annotated[
174
- Union[CategoricalQuestion, RatingQuestion, NumberQuestion, FreeTextQuestion, FormQuestion],
227
+ Union[CategoricalQuestion, RatingQuestion, NumberQuestion, FreeTextQuestion, FormQuestion, TimestampQuestion],
175
228
  PropertyInfo(discriminator="question_type"),
176
229
  ]