kaggle 1.7.4.2__py3-none-any.whl → 1.8.0__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.
- kaggle/__init__.py +10 -6
- kaggle/api/kaggle_api.py +574 -585
- kaggle/api/kaggle_api_extended.py +5251 -4738
- kaggle/cli.py +1335 -1585
- kaggle/models/api_blob_type.py +3 -3
- kaggle/models/dataset_column.py +129 -129
- kaggle/models/dataset_new_request.py +130 -72
- kaggle/models/dataset_new_version_request.py +88 -56
- kaggle/models/dataset_update_settings_request.py +93 -59
- kaggle/models/kaggle_models_extended.py +169 -172
- kaggle/models/kernel_push_request.py +152 -100
- kaggle/models/model_instance_new_version_request.py +30 -30
- kaggle/models/model_instance_update_request.py +171 -71
- kaggle/models/model_new_instance_request.py +223 -88
- kaggle/models/model_new_request.py +61 -46
- kaggle/models/model_update_request.py +66 -48
- kaggle/models/start_blob_upload_request.py +146 -138
- kaggle/models/start_blob_upload_response.py +83 -78
- kaggle/models/upload_file.py +92 -96
- kaggle/test/test_authenticate.py +23 -23
- {kaggle-1.7.4.2.dist-info → kaggle-1.8.0.dist-info}/METADATA +11 -15
- kaggle-1.8.0.dist-info/RECORD +148 -0
- kagglesdk/__init__.py +5 -1
- kagglesdk/benchmarks/services/__init__.py +0 -0
- kagglesdk/benchmarks/services/benchmarks_api_service.py +19 -0
- kagglesdk/benchmarks/types/__init__.py +0 -0
- kagglesdk/benchmarks/types/benchmark_types.py +307 -0
- kagglesdk/benchmarks/types/benchmarks_api_service.py +243 -0
- kagglesdk/blobs/services/blob_api_service.py +1 -1
- kagglesdk/blobs/types/blob_api_service.py +2 -2
- kagglesdk/common/services/__init__.py +0 -0
- kagglesdk/common/services/operations_service.py +46 -0
- kagglesdk/common/types/file_download.py +1 -1
- kagglesdk/common/types/http_redirect.py +1 -1
- kagglesdk/common/types/operations.py +194 -0
- kagglesdk/common/types/operations_service.py +48 -0
- kagglesdk/community/__init__.py +0 -0
- kagglesdk/community/types/__init__.py +0 -0
- kagglesdk/community/types/content_enums.py +44 -0
- kagglesdk/community/types/organization.py +410 -0
- kagglesdk/competitions/services/competition_api_service.py +49 -12
- kagglesdk/competitions/types/competition.py +14 -0
- kagglesdk/competitions/types/competition_api_service.py +1639 -1275
- kagglesdk/competitions/types/search_competitions.py +28 -0
- kagglesdk/datasets/databundles/__init__.py +0 -0
- kagglesdk/datasets/databundles/types/__init__.py +0 -0
- kagglesdk/datasets/databundles/types/databundle_api_types.py +540 -0
- kagglesdk/datasets/services/dataset_api_service.py +39 -14
- kagglesdk/datasets/types/dataset_api_service.py +567 -297
- kagglesdk/datasets/types/dataset_enums.py +21 -0
- kagglesdk/datasets/types/dataset_service.py +145 -0
- kagglesdk/datasets/types/dataset_types.py +74 -74
- kagglesdk/datasets/types/search_datasets.py +6 -0
- kagglesdk/discussions/__init__.py +0 -0
- kagglesdk/discussions/types/__init__.py +0 -0
- kagglesdk/discussions/types/search_discussions.py +43 -0
- kagglesdk/discussions/types/writeup_enums.py +11 -0
- kagglesdk/education/services/education_api_service.py +1 -1
- kagglesdk/education/types/education_api_service.py +1 -1
- kagglesdk/kaggle_client.py +55 -20
- kagglesdk/kaggle_creds.py +148 -0
- kagglesdk/kaggle_env.py +89 -27
- kagglesdk/kaggle_http_client.py +235 -290
- kagglesdk/kaggle_oauth.py +200 -0
- kagglesdk/kaggle_object.py +298 -250
- kagglesdk/kernels/services/kernels_api_service.py +46 -9
- kagglesdk/kernels/types/kernels_api_service.py +658 -158
- kagglesdk/kernels/types/kernels_enums.py +6 -0
- kagglesdk/kernels/types/search_kernels.py +6 -0
- kagglesdk/licenses/__init__.py +0 -0
- kagglesdk/licenses/types/__init__.py +0 -0
- kagglesdk/licenses/types/licenses_types.py +182 -0
- kagglesdk/models/services/model_api_service.py +46 -21
- kagglesdk/models/types/model_api_service.py +1018 -652
- kagglesdk/models/types/model_enums.py +8 -0
- kagglesdk/models/types/model_service.py +71 -71
- kagglesdk/models/types/model_types.py +1057 -5
- kagglesdk/models/types/search_models.py +8 -0
- kagglesdk/search/__init__.py +0 -0
- kagglesdk/search/services/__init__.py +0 -0
- kagglesdk/search/services/search_api_service.py +19 -0
- kagglesdk/search/types/__init__.py +0 -0
- kagglesdk/search/types/search_api_service.py +2435 -0
- kagglesdk/search/types/search_content_shared.py +50 -0
- kagglesdk/search/types/search_enums.py +45 -0
- kagglesdk/search/types/search_service.py +303 -0
- kagglesdk/security/__init__.py +0 -0
- kagglesdk/security/services/__init__.py +0 -0
- kagglesdk/security/services/iam_service.py +31 -0
- kagglesdk/security/services/oauth_service.py +58 -0
- kagglesdk/security/types/__init__.py +0 -0
- kagglesdk/security/types/authentication.py +171 -0
- kagglesdk/security/types/iam_service.py +496 -0
- kagglesdk/security/types/oauth_service.py +1181 -0
- kagglesdk/security/types/roles.py +8 -0
- kagglesdk/security/types/security_types.py +159 -0
- kagglesdk/test/__init__.py +0 -0
- kagglesdk/test/test_client.py +20 -24
- kagglesdk/users/services/__init__.py +0 -0
- kagglesdk/users/services/account_service.py +31 -0
- kagglesdk/users/services/group_api_service.py +31 -0
- kagglesdk/users/types/account_service.py +345 -0
- kagglesdk/users/types/group_api_service.py +315 -0
- kagglesdk/users/types/group_types.py +165 -0
- kagglesdk/users/types/groups_enum.py +8 -0
- kagglesdk/users/types/progression_service.py +9 -0
- kagglesdk/users/types/search_users.py +23 -0
- kagglesdk/users/types/user_avatar.py +226 -0
- kaggle/configuration.py +0 -206
- kaggle-1.7.4.2.dist-info/RECORD +0 -89
- {kaggle-1.7.4.2.dist-info → kaggle-1.8.0.dist-info}/WHEEL +0 -0
- {kaggle-1.7.4.2.dist-info → kaggle-1.8.0.dist-info}/entry_points.txt +0 -0
- {kaggle-1.7.4.2.dist-info → kaggle-1.8.0.dist-info}/licenses/LICENSE.txt +0 -0
- {kaggle/test → kagglesdk/benchmarks}/__init__.py +0 -0
|
@@ -4,278 +4,560 @@ from kagglesdk.competitions.types.submission_status import SubmissionStatus
|
|
|
4
4
|
from kagglesdk.kaggle_object import *
|
|
5
5
|
from typing import Optional, List
|
|
6
6
|
|
|
7
|
-
class
|
|
7
|
+
class ApiCategory(KaggleObject):
|
|
8
8
|
r"""
|
|
9
|
+
TODO(erdalsivri): Consider reusing with Kaggle.Sdk.Datasets.ApiCategory.
|
|
10
|
+
|
|
9
11
|
Attributes:
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
ref (str)
|
|
13
|
+
name (str)
|
|
14
|
+
description (str)
|
|
15
|
+
full_path (str)
|
|
16
|
+
competition_count (int)
|
|
17
|
+
dataset_count (int)
|
|
18
|
+
script_count (int)
|
|
19
|
+
total_count (int)
|
|
16
20
|
"""
|
|
17
21
|
|
|
18
22
|
def __init__(self):
|
|
19
|
-
self.
|
|
20
|
-
self.
|
|
21
|
-
self.
|
|
22
|
-
self.
|
|
23
|
-
self.
|
|
24
|
-
self.
|
|
23
|
+
self._ref = ""
|
|
24
|
+
self._name = None
|
|
25
|
+
self._description = None
|
|
26
|
+
self._full_path = None
|
|
27
|
+
self._competition_count = 0
|
|
28
|
+
self._dataset_count = 0
|
|
29
|
+
self._script_count = 0
|
|
30
|
+
self._total_count = 0
|
|
25
31
|
self._freeze()
|
|
26
32
|
|
|
27
33
|
@property
|
|
28
|
-
def
|
|
29
|
-
return self.
|
|
34
|
+
def ref(self) -> str:
|
|
35
|
+
return self._ref
|
|
30
36
|
|
|
31
|
-
@
|
|
32
|
-
def
|
|
33
|
-
if
|
|
34
|
-
del self.
|
|
37
|
+
@ref.setter
|
|
38
|
+
def ref(self, ref: str):
|
|
39
|
+
if ref is None:
|
|
40
|
+
del self.ref
|
|
35
41
|
return
|
|
36
|
-
if not isinstance(
|
|
37
|
-
raise TypeError('
|
|
38
|
-
self.
|
|
42
|
+
if not isinstance(ref, str):
|
|
43
|
+
raise TypeError('ref must be of type str')
|
|
44
|
+
self._ref = ref
|
|
39
45
|
|
|
40
46
|
@property
|
|
41
|
-
def
|
|
42
|
-
return self.
|
|
47
|
+
def name(self) -> str:
|
|
48
|
+
return self._name or ""
|
|
43
49
|
|
|
44
|
-
@
|
|
45
|
-
def
|
|
46
|
-
if
|
|
47
|
-
del self.
|
|
50
|
+
@name.setter
|
|
51
|
+
def name(self, name: Optional[str]):
|
|
52
|
+
if name is None:
|
|
53
|
+
del self.name
|
|
48
54
|
return
|
|
49
|
-
if not isinstance(
|
|
50
|
-
raise TypeError('
|
|
51
|
-
self.
|
|
55
|
+
if not isinstance(name, str):
|
|
56
|
+
raise TypeError('name must be of type str')
|
|
57
|
+
self._name = name
|
|
52
58
|
|
|
53
59
|
@property
|
|
54
|
-
def
|
|
55
|
-
return self.
|
|
60
|
+
def description(self) -> str:
|
|
61
|
+
return self._description or ""
|
|
56
62
|
|
|
57
|
-
@
|
|
58
|
-
def
|
|
59
|
-
if
|
|
60
|
-
del self.
|
|
63
|
+
@description.setter
|
|
64
|
+
def description(self, description: Optional[str]):
|
|
65
|
+
if description is None:
|
|
66
|
+
del self.description
|
|
61
67
|
return
|
|
62
|
-
if not isinstance(
|
|
63
|
-
raise TypeError('
|
|
64
|
-
self.
|
|
68
|
+
if not isinstance(description, str):
|
|
69
|
+
raise TypeError('description must be of type str')
|
|
70
|
+
self._description = description
|
|
65
71
|
|
|
66
72
|
@property
|
|
67
|
-
def
|
|
68
|
-
return self.
|
|
73
|
+
def full_path(self) -> str:
|
|
74
|
+
return self._full_path or ""
|
|
69
75
|
|
|
70
|
-
@
|
|
71
|
-
def
|
|
72
|
-
if
|
|
73
|
-
del self.
|
|
76
|
+
@full_path.setter
|
|
77
|
+
def full_path(self, full_path: Optional[str]):
|
|
78
|
+
if full_path is None:
|
|
79
|
+
del self.full_path
|
|
74
80
|
return
|
|
75
|
-
if not isinstance(
|
|
76
|
-
raise TypeError('
|
|
77
|
-
self.
|
|
81
|
+
if not isinstance(full_path, str):
|
|
82
|
+
raise TypeError('full_path must be of type str')
|
|
83
|
+
self._full_path = full_path
|
|
78
84
|
|
|
79
85
|
@property
|
|
80
|
-
def
|
|
81
|
-
return self.
|
|
86
|
+
def competition_count(self) -> int:
|
|
87
|
+
return self._competition_count
|
|
82
88
|
|
|
83
|
-
@
|
|
84
|
-
def
|
|
85
|
-
if
|
|
86
|
-
del self.
|
|
89
|
+
@competition_count.setter
|
|
90
|
+
def competition_count(self, competition_count: int):
|
|
91
|
+
if competition_count is None:
|
|
92
|
+
del self.competition_count
|
|
87
93
|
return
|
|
88
|
-
if not isinstance(
|
|
89
|
-
raise TypeError('
|
|
90
|
-
self.
|
|
94
|
+
if not isinstance(competition_count, int):
|
|
95
|
+
raise TypeError('competition_count must be of type int')
|
|
96
|
+
self._competition_count = competition_count
|
|
91
97
|
|
|
92
98
|
@property
|
|
93
|
-
def
|
|
94
|
-
return self.
|
|
99
|
+
def dataset_count(self) -> int:
|
|
100
|
+
return self._dataset_count
|
|
95
101
|
|
|
96
|
-
@
|
|
97
|
-
def
|
|
98
|
-
if
|
|
99
|
-
del self.
|
|
102
|
+
@dataset_count.setter
|
|
103
|
+
def dataset_count(self, dataset_count: int):
|
|
104
|
+
if dataset_count is None:
|
|
105
|
+
del self.dataset_count
|
|
100
106
|
return
|
|
101
|
-
if not isinstance(
|
|
102
|
-
raise TypeError('
|
|
103
|
-
self.
|
|
107
|
+
if not isinstance(dataset_count, int):
|
|
108
|
+
raise TypeError('dataset_count must be of type int')
|
|
109
|
+
self._dataset_count = dataset_count
|
|
104
110
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
return
|
|
111
|
+
@property
|
|
112
|
+
def script_count(self) -> int:
|
|
113
|
+
return self._script_count
|
|
114
|
+
|
|
115
|
+
@script_count.setter
|
|
116
|
+
def script_count(self, script_count: int):
|
|
117
|
+
if script_count is None:
|
|
118
|
+
del self.script_count
|
|
119
|
+
return
|
|
120
|
+
if not isinstance(script_count, int):
|
|
121
|
+
raise TypeError('script_count must be of type int')
|
|
122
|
+
self._script_count = script_count
|
|
108
123
|
|
|
124
|
+
@property
|
|
125
|
+
def total_count(self) -> int:
|
|
126
|
+
return self._total_count
|
|
109
127
|
|
|
110
|
-
@
|
|
111
|
-
def
|
|
112
|
-
|
|
128
|
+
@total_count.setter
|
|
129
|
+
def total_count(self, total_count: int):
|
|
130
|
+
if total_count is None:
|
|
131
|
+
del self.total_count
|
|
132
|
+
return
|
|
133
|
+
if not isinstance(total_count, int):
|
|
134
|
+
raise TypeError('total_count must be of type int')
|
|
135
|
+
self._total_count = total_count
|
|
113
136
|
|
|
114
137
|
|
|
115
|
-
class
|
|
138
|
+
class ApiCompetition(KaggleObject):
|
|
116
139
|
r"""
|
|
117
140
|
Attributes:
|
|
118
|
-
|
|
119
|
-
ref (
|
|
141
|
+
id (int)
|
|
142
|
+
ref (str)
|
|
143
|
+
title (str)
|
|
144
|
+
url (str)
|
|
145
|
+
description (str)
|
|
146
|
+
organization_name (str)
|
|
147
|
+
organization_ref (str)
|
|
148
|
+
category (str)
|
|
149
|
+
reward (str)
|
|
150
|
+
tags (ApiCategory)
|
|
151
|
+
deadline (datetime)
|
|
152
|
+
kernel_count (int)
|
|
153
|
+
team_count (int)
|
|
154
|
+
user_has_entered (bool)
|
|
155
|
+
user_rank (int)
|
|
156
|
+
merger_deadline (datetime)
|
|
157
|
+
new_entrant_deadline (datetime)
|
|
158
|
+
enabled_date (datetime)
|
|
159
|
+
max_daily_submissions (int)
|
|
160
|
+
max_team_size (int)
|
|
161
|
+
evaluation_metric (str)
|
|
162
|
+
awards_points (bool)
|
|
163
|
+
is_kernels_submissions_only (bool)
|
|
164
|
+
submissions_disabled (bool)
|
|
165
|
+
thumbnail_image_url (str)
|
|
166
|
+
host_name (str)
|
|
120
167
|
"""
|
|
121
168
|
|
|
122
169
|
def __init__(self):
|
|
123
|
-
self.
|
|
124
|
-
self._ref =
|
|
170
|
+
self._id = 0
|
|
171
|
+
self._ref = ""
|
|
172
|
+
self._title = None
|
|
173
|
+
self._url = None
|
|
174
|
+
self._description = None
|
|
175
|
+
self._organization_name = None
|
|
176
|
+
self._organization_ref = None
|
|
177
|
+
self._category = None
|
|
178
|
+
self._reward = None
|
|
179
|
+
self._tags = []
|
|
180
|
+
self._deadline = None
|
|
181
|
+
self._kernel_count = 0
|
|
182
|
+
self._team_count = 0
|
|
183
|
+
self._user_has_entered = False
|
|
184
|
+
self._user_rank = None
|
|
185
|
+
self._merger_deadline = None
|
|
186
|
+
self._new_entrant_deadline = None
|
|
187
|
+
self._enabled_date = None
|
|
188
|
+
self._max_daily_submissions = 0
|
|
189
|
+
self._max_team_size = None
|
|
190
|
+
self._evaluation_metric = None
|
|
191
|
+
self._awards_points = False
|
|
192
|
+
self._is_kernels_submissions_only = False
|
|
193
|
+
self._submissions_disabled = False
|
|
194
|
+
self._thumbnail_image_url = None
|
|
195
|
+
self._host_name = ""
|
|
125
196
|
self._freeze()
|
|
126
197
|
|
|
127
198
|
@property
|
|
128
|
-
def
|
|
129
|
-
return self.
|
|
199
|
+
def id(self) -> int:
|
|
200
|
+
return self._id
|
|
130
201
|
|
|
131
|
-
@
|
|
132
|
-
def
|
|
133
|
-
if
|
|
134
|
-
del self.
|
|
202
|
+
@id.setter
|
|
203
|
+
def id(self, id: int):
|
|
204
|
+
if id is None:
|
|
205
|
+
del self.id
|
|
135
206
|
return
|
|
136
|
-
if not isinstance(
|
|
137
|
-
raise TypeError('
|
|
138
|
-
self.
|
|
207
|
+
if not isinstance(id, int):
|
|
208
|
+
raise TypeError('id must be of type int')
|
|
209
|
+
self._id = id
|
|
139
210
|
|
|
140
211
|
@property
|
|
141
|
-
def ref(self) ->
|
|
212
|
+
def ref(self) -> str:
|
|
142
213
|
return self._ref
|
|
143
214
|
|
|
144
215
|
@ref.setter
|
|
145
|
-
def ref(self, ref:
|
|
216
|
+
def ref(self, ref: str):
|
|
146
217
|
if ref is None:
|
|
147
218
|
del self.ref
|
|
148
219
|
return
|
|
149
|
-
if not isinstance(ref,
|
|
150
|
-
raise TypeError('ref must be of type
|
|
220
|
+
if not isinstance(ref, str):
|
|
221
|
+
raise TypeError('ref must be of type str')
|
|
151
222
|
self._ref = ref
|
|
152
223
|
|
|
224
|
+
@property
|
|
225
|
+
def title(self) -> str:
|
|
226
|
+
return self._title or ""
|
|
153
227
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
Description of competition submission.
|
|
163
|
-
"""
|
|
228
|
+
@title.setter
|
|
229
|
+
def title(self, title: Optional[str]):
|
|
230
|
+
if title is None:
|
|
231
|
+
del self.title
|
|
232
|
+
return
|
|
233
|
+
if not isinstance(title, str):
|
|
234
|
+
raise TypeError('title must be of type str')
|
|
235
|
+
self._title = title
|
|
164
236
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
self.
|
|
168
|
-
|
|
169
|
-
|
|
237
|
+
@property
|
|
238
|
+
def url(self) -> str:
|
|
239
|
+
return self._url or ""
|
|
240
|
+
|
|
241
|
+
@url.setter
|
|
242
|
+
def url(self, url: Optional[str]):
|
|
243
|
+
if url is None:
|
|
244
|
+
del self.url
|
|
245
|
+
return
|
|
246
|
+
if not isinstance(url, str):
|
|
247
|
+
raise TypeError('url must be of type str')
|
|
248
|
+
self._url = url
|
|
170
249
|
|
|
171
250
|
@property
|
|
172
|
-
def
|
|
173
|
-
|
|
174
|
-
return self._competition_name
|
|
251
|
+
def description(self) -> str:
|
|
252
|
+
return self._description or ""
|
|
175
253
|
|
|
176
|
-
@
|
|
177
|
-
def
|
|
178
|
-
if
|
|
179
|
-
del self.
|
|
254
|
+
@description.setter
|
|
255
|
+
def description(self, description: Optional[str]):
|
|
256
|
+
if description is None:
|
|
257
|
+
del self.description
|
|
180
258
|
return
|
|
181
|
-
if not isinstance(
|
|
182
|
-
raise TypeError('
|
|
183
|
-
self.
|
|
259
|
+
if not isinstance(description, str):
|
|
260
|
+
raise TypeError('description must be of type str')
|
|
261
|
+
self._description = description
|
|
184
262
|
|
|
185
263
|
@property
|
|
186
|
-
def
|
|
187
|
-
|
|
188
|
-
return self._blob_file_tokens
|
|
264
|
+
def organization_name(self) -> str:
|
|
265
|
+
return self._organization_name or ""
|
|
189
266
|
|
|
190
|
-
@
|
|
191
|
-
def
|
|
192
|
-
if
|
|
193
|
-
del self.
|
|
267
|
+
@organization_name.setter
|
|
268
|
+
def organization_name(self, organization_name: Optional[str]):
|
|
269
|
+
if organization_name is None:
|
|
270
|
+
del self.organization_name
|
|
194
271
|
return
|
|
195
|
-
if not isinstance(
|
|
196
|
-
raise TypeError('
|
|
197
|
-
self.
|
|
272
|
+
if not isinstance(organization_name, str):
|
|
273
|
+
raise TypeError('organization_name must be of type str')
|
|
274
|
+
self._organization_name = organization_name
|
|
198
275
|
|
|
199
276
|
@property
|
|
200
|
-
def
|
|
201
|
-
|
|
202
|
-
return self._submission_description or ""
|
|
277
|
+
def organization_ref(self) -> str:
|
|
278
|
+
return self._organization_ref or ""
|
|
203
279
|
|
|
204
|
-
@
|
|
205
|
-
def
|
|
206
|
-
if
|
|
207
|
-
del self.
|
|
280
|
+
@organization_ref.setter
|
|
281
|
+
def organization_ref(self, organization_ref: Optional[str]):
|
|
282
|
+
if organization_ref is None:
|
|
283
|
+
del self.organization_ref
|
|
208
284
|
return
|
|
209
|
-
if not isinstance(
|
|
210
|
-
raise TypeError('
|
|
211
|
-
self.
|
|
285
|
+
if not isinstance(organization_ref, str):
|
|
286
|
+
raise TypeError('organization_ref must be of type str')
|
|
287
|
+
self._organization_ref = organization_ref
|
|
212
288
|
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
return
|
|
289
|
+
@property
|
|
290
|
+
def category(self) -> str:
|
|
291
|
+
return self._category or ""
|
|
216
292
|
|
|
293
|
+
@category.setter
|
|
294
|
+
def category(self, category: Optional[str]):
|
|
295
|
+
if category is None:
|
|
296
|
+
del self.category
|
|
297
|
+
return
|
|
298
|
+
if not isinstance(category, str):
|
|
299
|
+
raise TypeError('category must be of type str')
|
|
300
|
+
self._category = category
|
|
217
301
|
|
|
218
|
-
@
|
|
219
|
-
def
|
|
220
|
-
return
|
|
302
|
+
@property
|
|
303
|
+
def reward(self) -> str:
|
|
304
|
+
return self._reward or ""
|
|
221
305
|
|
|
306
|
+
@reward.setter
|
|
307
|
+
def reward(self, reward: Optional[str]):
|
|
308
|
+
if reward is None:
|
|
309
|
+
del self.reward
|
|
310
|
+
return
|
|
311
|
+
if not isinstance(reward, str):
|
|
312
|
+
raise TypeError('reward must be of type str')
|
|
313
|
+
self._reward = reward
|
|
222
314
|
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
message (str)
|
|
227
|
-
ref (int)
|
|
228
|
-
"""
|
|
315
|
+
@property
|
|
316
|
+
def tags(self) -> Optional[List[Optional['ApiCategory']]]:
|
|
317
|
+
return self._tags
|
|
229
318
|
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
319
|
+
@tags.setter
|
|
320
|
+
def tags(self, tags: Optional[List[Optional['ApiCategory']]]):
|
|
321
|
+
if tags is None:
|
|
322
|
+
del self.tags
|
|
323
|
+
return
|
|
324
|
+
if not isinstance(tags, list):
|
|
325
|
+
raise TypeError('tags must be of type list')
|
|
326
|
+
if not all([isinstance(t, ApiCategory) for t in tags]):
|
|
327
|
+
raise TypeError('tags must contain only items of type ApiCategory')
|
|
328
|
+
self._tags = tags
|
|
234
329
|
|
|
235
330
|
@property
|
|
236
|
-
def
|
|
237
|
-
return self.
|
|
331
|
+
def deadline(self) -> datetime:
|
|
332
|
+
return self._deadline
|
|
238
333
|
|
|
239
|
-
@
|
|
240
|
-
def
|
|
241
|
-
if
|
|
242
|
-
del self.
|
|
334
|
+
@deadline.setter
|
|
335
|
+
def deadline(self, deadline: datetime):
|
|
336
|
+
if deadline is None:
|
|
337
|
+
del self.deadline
|
|
243
338
|
return
|
|
244
|
-
if not isinstance(
|
|
245
|
-
raise TypeError('
|
|
246
|
-
self.
|
|
339
|
+
if not isinstance(deadline, datetime):
|
|
340
|
+
raise TypeError('deadline must be of type datetime')
|
|
341
|
+
self._deadline = deadline
|
|
247
342
|
|
|
248
343
|
@property
|
|
249
|
-
def
|
|
250
|
-
return self.
|
|
344
|
+
def kernel_count(self) -> int:
|
|
345
|
+
return self._kernel_count
|
|
251
346
|
|
|
252
|
-
@
|
|
253
|
-
def
|
|
254
|
-
if
|
|
255
|
-
del self.
|
|
347
|
+
@kernel_count.setter
|
|
348
|
+
def kernel_count(self, kernel_count: int):
|
|
349
|
+
if kernel_count is None:
|
|
350
|
+
del self.kernel_count
|
|
256
351
|
return
|
|
257
|
-
if not isinstance(
|
|
258
|
-
raise TypeError('
|
|
259
|
-
self.
|
|
352
|
+
if not isinstance(kernel_count, int):
|
|
353
|
+
raise TypeError('kernel_count must be of type int')
|
|
354
|
+
self._kernel_count = kernel_count
|
|
260
355
|
|
|
356
|
+
@property
|
|
357
|
+
def team_count(self) -> int:
|
|
358
|
+
return self._team_count
|
|
261
359
|
|
|
262
|
-
|
|
360
|
+
@team_count.setter
|
|
361
|
+
def team_count(self, team_count: int):
|
|
362
|
+
if team_count is None:
|
|
363
|
+
del self.team_count
|
|
364
|
+
return
|
|
365
|
+
if not isinstance(team_count, int):
|
|
366
|
+
raise TypeError('team_count must be of type int')
|
|
367
|
+
self._team_count = team_count
|
|
368
|
+
|
|
369
|
+
@property
|
|
370
|
+
def user_has_entered(self) -> bool:
|
|
371
|
+
return self._user_has_entered
|
|
372
|
+
|
|
373
|
+
@user_has_entered.setter
|
|
374
|
+
def user_has_entered(self, user_has_entered: bool):
|
|
375
|
+
if user_has_entered is None:
|
|
376
|
+
del self.user_has_entered
|
|
377
|
+
return
|
|
378
|
+
if not isinstance(user_has_entered, bool):
|
|
379
|
+
raise TypeError('user_has_entered must be of type bool')
|
|
380
|
+
self._user_has_entered = user_has_entered
|
|
381
|
+
|
|
382
|
+
@property
|
|
383
|
+
def user_rank(self) -> int:
|
|
384
|
+
return self._user_rank or 0
|
|
385
|
+
|
|
386
|
+
@user_rank.setter
|
|
387
|
+
def user_rank(self, user_rank: Optional[int]):
|
|
388
|
+
if user_rank is None:
|
|
389
|
+
del self.user_rank
|
|
390
|
+
return
|
|
391
|
+
if not isinstance(user_rank, int):
|
|
392
|
+
raise TypeError('user_rank must be of type int')
|
|
393
|
+
self._user_rank = user_rank
|
|
394
|
+
|
|
395
|
+
@property
|
|
396
|
+
def merger_deadline(self) -> datetime:
|
|
397
|
+
return self._merger_deadline
|
|
398
|
+
|
|
399
|
+
@merger_deadline.setter
|
|
400
|
+
def merger_deadline(self, merger_deadline: datetime):
|
|
401
|
+
if merger_deadline is None:
|
|
402
|
+
del self.merger_deadline
|
|
403
|
+
return
|
|
404
|
+
if not isinstance(merger_deadline, datetime):
|
|
405
|
+
raise TypeError('merger_deadline must be of type datetime')
|
|
406
|
+
self._merger_deadline = merger_deadline
|
|
407
|
+
|
|
408
|
+
@property
|
|
409
|
+
def new_entrant_deadline(self) -> datetime:
|
|
410
|
+
return self._new_entrant_deadline
|
|
411
|
+
|
|
412
|
+
@new_entrant_deadline.setter
|
|
413
|
+
def new_entrant_deadline(self, new_entrant_deadline: datetime):
|
|
414
|
+
if new_entrant_deadline is None:
|
|
415
|
+
del self.new_entrant_deadline
|
|
416
|
+
return
|
|
417
|
+
if not isinstance(new_entrant_deadline, datetime):
|
|
418
|
+
raise TypeError('new_entrant_deadline must be of type datetime')
|
|
419
|
+
self._new_entrant_deadline = new_entrant_deadline
|
|
420
|
+
|
|
421
|
+
@property
|
|
422
|
+
def enabled_date(self) -> datetime:
|
|
423
|
+
return self._enabled_date
|
|
424
|
+
|
|
425
|
+
@enabled_date.setter
|
|
426
|
+
def enabled_date(self, enabled_date: datetime):
|
|
427
|
+
if enabled_date is None:
|
|
428
|
+
del self.enabled_date
|
|
429
|
+
return
|
|
430
|
+
if not isinstance(enabled_date, datetime):
|
|
431
|
+
raise TypeError('enabled_date must be of type datetime')
|
|
432
|
+
self._enabled_date = enabled_date
|
|
433
|
+
|
|
434
|
+
@property
|
|
435
|
+
def max_daily_submissions(self) -> int:
|
|
436
|
+
return self._max_daily_submissions
|
|
437
|
+
|
|
438
|
+
@max_daily_submissions.setter
|
|
439
|
+
def max_daily_submissions(self, max_daily_submissions: int):
|
|
440
|
+
if max_daily_submissions is None:
|
|
441
|
+
del self.max_daily_submissions
|
|
442
|
+
return
|
|
443
|
+
if not isinstance(max_daily_submissions, int):
|
|
444
|
+
raise TypeError('max_daily_submissions must be of type int')
|
|
445
|
+
self._max_daily_submissions = max_daily_submissions
|
|
446
|
+
|
|
447
|
+
@property
|
|
448
|
+
def max_team_size(self) -> int:
|
|
449
|
+
return self._max_team_size or 0
|
|
450
|
+
|
|
451
|
+
@max_team_size.setter
|
|
452
|
+
def max_team_size(self, max_team_size: Optional[int]):
|
|
453
|
+
if max_team_size is None:
|
|
454
|
+
del self.max_team_size
|
|
455
|
+
return
|
|
456
|
+
if not isinstance(max_team_size, int):
|
|
457
|
+
raise TypeError('max_team_size must be of type int')
|
|
458
|
+
self._max_team_size = max_team_size
|
|
459
|
+
|
|
460
|
+
@property
|
|
461
|
+
def evaluation_metric(self) -> str:
|
|
462
|
+
return self._evaluation_metric or ""
|
|
463
|
+
|
|
464
|
+
@evaluation_metric.setter
|
|
465
|
+
def evaluation_metric(self, evaluation_metric: Optional[str]):
|
|
466
|
+
if evaluation_metric is None:
|
|
467
|
+
del self.evaluation_metric
|
|
468
|
+
return
|
|
469
|
+
if not isinstance(evaluation_metric, str):
|
|
470
|
+
raise TypeError('evaluation_metric must be of type str')
|
|
471
|
+
self._evaluation_metric = evaluation_metric
|
|
472
|
+
|
|
473
|
+
@property
|
|
474
|
+
def awards_points(self) -> bool:
|
|
475
|
+
return self._awards_points
|
|
476
|
+
|
|
477
|
+
@awards_points.setter
|
|
478
|
+
def awards_points(self, awards_points: bool):
|
|
479
|
+
if awards_points is None:
|
|
480
|
+
del self.awards_points
|
|
481
|
+
return
|
|
482
|
+
if not isinstance(awards_points, bool):
|
|
483
|
+
raise TypeError('awards_points must be of type bool')
|
|
484
|
+
self._awards_points = awards_points
|
|
485
|
+
|
|
486
|
+
@property
|
|
487
|
+
def is_kernels_submissions_only(self) -> bool:
|
|
488
|
+
return self._is_kernels_submissions_only
|
|
489
|
+
|
|
490
|
+
@is_kernels_submissions_only.setter
|
|
491
|
+
def is_kernels_submissions_only(self, is_kernels_submissions_only: bool):
|
|
492
|
+
if is_kernels_submissions_only is None:
|
|
493
|
+
del self.is_kernels_submissions_only
|
|
494
|
+
return
|
|
495
|
+
if not isinstance(is_kernels_submissions_only, bool):
|
|
496
|
+
raise TypeError('is_kernels_submissions_only must be of type bool')
|
|
497
|
+
self._is_kernels_submissions_only = is_kernels_submissions_only
|
|
498
|
+
|
|
499
|
+
@property
|
|
500
|
+
def submissions_disabled(self) -> bool:
|
|
501
|
+
return self._submissions_disabled
|
|
502
|
+
|
|
503
|
+
@submissions_disabled.setter
|
|
504
|
+
def submissions_disabled(self, submissions_disabled: bool):
|
|
505
|
+
if submissions_disabled is None:
|
|
506
|
+
del self.submissions_disabled
|
|
507
|
+
return
|
|
508
|
+
if not isinstance(submissions_disabled, bool):
|
|
509
|
+
raise TypeError('submissions_disabled must be of type bool')
|
|
510
|
+
self._submissions_disabled = submissions_disabled
|
|
511
|
+
|
|
512
|
+
@property
|
|
513
|
+
def thumbnail_image_url(self) -> str:
|
|
514
|
+
return self._thumbnail_image_url or ""
|
|
515
|
+
|
|
516
|
+
@thumbnail_image_url.setter
|
|
517
|
+
def thumbnail_image_url(self, thumbnail_image_url: Optional[str]):
|
|
518
|
+
if thumbnail_image_url is None:
|
|
519
|
+
del self.thumbnail_image_url
|
|
520
|
+
return
|
|
521
|
+
if not isinstance(thumbnail_image_url, str):
|
|
522
|
+
raise TypeError('thumbnail_image_url must be of type str')
|
|
523
|
+
self._thumbnail_image_url = thumbnail_image_url
|
|
524
|
+
|
|
525
|
+
@property
|
|
526
|
+
def host_name(self) -> str:
|
|
527
|
+
return self._host_name
|
|
528
|
+
|
|
529
|
+
@host_name.setter
|
|
530
|
+
def host_name(self, host_name: str):
|
|
531
|
+
if host_name is None:
|
|
532
|
+
del self.host_name
|
|
533
|
+
return
|
|
534
|
+
if not isinstance(host_name, str):
|
|
535
|
+
raise TypeError('host_name must be of type str')
|
|
536
|
+
self._host_name = host_name
|
|
537
|
+
|
|
538
|
+
|
|
539
|
+
class ApiCreateCodeSubmissionRequest(KaggleObject):
|
|
263
540
|
r"""
|
|
264
541
|
Attributes:
|
|
265
542
|
competition_name (str)
|
|
266
|
-
|
|
543
|
+
kernel_owner (str)
|
|
544
|
+
kernel_slug (str)
|
|
545
|
+
kernel_version (int)
|
|
267
546
|
file_name (str)
|
|
268
|
-
|
|
547
|
+
submission_description (str)
|
|
269
548
|
"""
|
|
270
549
|
|
|
271
550
|
def __init__(self):
|
|
272
551
|
self._competition_name = ""
|
|
273
|
-
self.
|
|
552
|
+
self._kernel_owner = ""
|
|
553
|
+
self._kernel_slug = ""
|
|
554
|
+
self._kernel_version = None
|
|
555
|
+
self._file_name = None
|
|
556
|
+
self._submission_description = None
|
|
274
557
|
self._freeze()
|
|
275
558
|
|
|
276
559
|
@property
|
|
277
560
|
def competition_name(self) -> str:
|
|
278
|
-
"""Competition name. Example: 'titanic'."""
|
|
279
561
|
return self._competition_name
|
|
280
562
|
|
|
281
563
|
@competition_name.setter
|
|
@@ -287,13 +569,51 @@ class ApiDownloadDataFileRequest(KaggleObject):
|
|
|
287
569
|
raise TypeError('competition_name must be of type str')
|
|
288
570
|
self._competition_name = competition_name
|
|
289
571
|
|
|
572
|
+
@property
|
|
573
|
+
def kernel_owner(self) -> str:
|
|
574
|
+
return self._kernel_owner
|
|
575
|
+
|
|
576
|
+
@kernel_owner.setter
|
|
577
|
+
def kernel_owner(self, kernel_owner: str):
|
|
578
|
+
if kernel_owner is None:
|
|
579
|
+
del self.kernel_owner
|
|
580
|
+
return
|
|
581
|
+
if not isinstance(kernel_owner, str):
|
|
582
|
+
raise TypeError('kernel_owner must be of type str')
|
|
583
|
+
self._kernel_owner = kernel_owner
|
|
584
|
+
|
|
585
|
+
@property
|
|
586
|
+
def kernel_slug(self) -> str:
|
|
587
|
+
return self._kernel_slug
|
|
588
|
+
|
|
589
|
+
@kernel_slug.setter
|
|
590
|
+
def kernel_slug(self, kernel_slug: str):
|
|
591
|
+
if kernel_slug is None:
|
|
592
|
+
del self.kernel_slug
|
|
593
|
+
return
|
|
594
|
+
if not isinstance(kernel_slug, str):
|
|
595
|
+
raise TypeError('kernel_slug must be of type str')
|
|
596
|
+
self._kernel_slug = kernel_slug
|
|
597
|
+
|
|
598
|
+
@property
|
|
599
|
+
def kernel_version(self) -> int:
|
|
600
|
+
return self._kernel_version or 0
|
|
601
|
+
|
|
602
|
+
@kernel_version.setter
|
|
603
|
+
def kernel_version(self, kernel_version: Optional[int]):
|
|
604
|
+
if kernel_version is None:
|
|
605
|
+
del self.kernel_version
|
|
606
|
+
return
|
|
607
|
+
if not isinstance(kernel_version, int):
|
|
608
|
+
raise TypeError('kernel_version must be of type int')
|
|
609
|
+
self._kernel_version = kernel_version
|
|
610
|
+
|
|
290
611
|
@property
|
|
291
612
|
def file_name(self) -> str:
|
|
292
|
-
|
|
293
|
-
return self._file_name
|
|
613
|
+
return self._file_name or ""
|
|
294
614
|
|
|
295
615
|
@file_name.setter
|
|
296
|
-
def file_name(self, file_name: str):
|
|
616
|
+
def file_name(self, file_name: Optional[str]):
|
|
297
617
|
if file_name is None:
|
|
298
618
|
del self.file_name
|
|
299
619
|
return
|
|
@@ -301,95 +621,83 @@ class ApiDownloadDataFileRequest(KaggleObject):
|
|
|
301
621
|
raise TypeError('file_name must be of type str')
|
|
302
622
|
self._file_name = file_name
|
|
303
623
|
|
|
304
|
-
def endpoint(self):
|
|
305
|
-
path = '/api/v1/competitions/data/download/{competition_name}/{file_name}'
|
|
306
|
-
return path.format_map(self.to_field_map(self))
|
|
307
|
-
|
|
308
|
-
@staticmethod
|
|
309
|
-
def endpoint_path():
|
|
310
|
-
return '/api/v1/competitions/data/download/{competition_name}/{file_name}'
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
class ApiDownloadDataFilesRequest(KaggleObject):
|
|
314
|
-
r"""
|
|
315
|
-
Attributes:
|
|
316
|
-
competition_name (str)
|
|
317
|
-
Competition name. Example: 'titanic'.
|
|
318
|
-
"""
|
|
319
|
-
|
|
320
|
-
def __init__(self):
|
|
321
|
-
self._competition_name = ""
|
|
322
|
-
self._freeze()
|
|
323
|
-
|
|
324
624
|
@property
|
|
325
|
-
def
|
|
326
|
-
|
|
327
|
-
return self._competition_name
|
|
625
|
+
def submission_description(self) -> str:
|
|
626
|
+
return self._submission_description or ""
|
|
328
627
|
|
|
329
|
-
@
|
|
330
|
-
def
|
|
331
|
-
if
|
|
332
|
-
del self.
|
|
628
|
+
@submission_description.setter
|
|
629
|
+
def submission_description(self, submission_description: Optional[str]):
|
|
630
|
+
if submission_description is None:
|
|
631
|
+
del self.submission_description
|
|
333
632
|
return
|
|
334
|
-
if not isinstance(
|
|
335
|
-
raise TypeError('
|
|
336
|
-
self.
|
|
633
|
+
if not isinstance(submission_description, str):
|
|
634
|
+
raise TypeError('submission_description must be of type str')
|
|
635
|
+
self._submission_description = submission_description
|
|
337
636
|
|
|
338
637
|
def endpoint(self):
|
|
339
|
-
path = '/api/v1/competitions/
|
|
638
|
+
path = '/api/v1/competitions/submissions/submit-notebook/{competition_name}'
|
|
340
639
|
return path.format_map(self.to_field_map(self))
|
|
341
640
|
|
|
641
|
+
|
|
342
642
|
@staticmethod
|
|
343
|
-
def
|
|
344
|
-
return '
|
|
643
|
+
def method():
|
|
644
|
+
return 'POST'
|
|
345
645
|
|
|
346
646
|
|
|
347
|
-
class
|
|
647
|
+
class ApiCreateCodeSubmissionResponse(KaggleObject):
|
|
348
648
|
r"""
|
|
349
649
|
Attributes:
|
|
350
|
-
|
|
650
|
+
message (str)
|
|
651
|
+
ref (int)
|
|
351
652
|
"""
|
|
352
653
|
|
|
353
654
|
def __init__(self):
|
|
354
|
-
self.
|
|
655
|
+
self._message = ""
|
|
656
|
+
self._ref = 0
|
|
355
657
|
self._freeze()
|
|
356
658
|
|
|
357
659
|
@property
|
|
358
|
-
def
|
|
359
|
-
return self.
|
|
660
|
+
def message(self) -> str:
|
|
661
|
+
return self._message
|
|
360
662
|
|
|
361
|
-
@
|
|
362
|
-
def
|
|
363
|
-
if
|
|
364
|
-
del self.
|
|
663
|
+
@message.setter
|
|
664
|
+
def message(self, message: str):
|
|
665
|
+
if message is None:
|
|
666
|
+
del self.message
|
|
365
667
|
return
|
|
366
|
-
if not isinstance(
|
|
367
|
-
raise TypeError('
|
|
368
|
-
self.
|
|
668
|
+
if not isinstance(message, str):
|
|
669
|
+
raise TypeError('message must be of type str')
|
|
670
|
+
self._message = message
|
|
369
671
|
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
return
|
|
672
|
+
@property
|
|
673
|
+
def ref(self) -> int:
|
|
674
|
+
return self._ref
|
|
373
675
|
|
|
374
|
-
@
|
|
375
|
-
def
|
|
376
|
-
|
|
676
|
+
@ref.setter
|
|
677
|
+
def ref(self, ref: int):
|
|
678
|
+
if ref is None:
|
|
679
|
+
del self.ref
|
|
680
|
+
return
|
|
681
|
+
if not isinstance(ref, int):
|
|
682
|
+
raise TypeError('ref must be of type int')
|
|
683
|
+
self._ref = ref
|
|
377
684
|
|
|
378
685
|
|
|
379
|
-
class
|
|
686
|
+
class ApiCreateSubmissionRequest(KaggleObject):
|
|
380
687
|
r"""
|
|
381
688
|
Attributes:
|
|
382
689
|
competition_name (str)
|
|
383
690
|
Competition name. Example: 'titanic'.
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
691
|
+
blob_file_tokens (str)
|
|
692
|
+
Token identifying location of uploaded submission file.
|
|
693
|
+
submission_description (str)
|
|
694
|
+
Description of competition submission.
|
|
388
695
|
"""
|
|
389
696
|
|
|
390
697
|
def __init__(self):
|
|
391
698
|
self._competition_name = ""
|
|
392
|
-
self.
|
|
699
|
+
self._blob_file_tokens = ""
|
|
700
|
+
self._submission_description = None
|
|
393
701
|
self._freeze()
|
|
394
702
|
|
|
395
703
|
@property
|
|
@@ -407,72 +715,70 @@ class ApiGetLeaderboardRequest(KaggleObject):
|
|
|
407
715
|
self._competition_name = competition_name
|
|
408
716
|
|
|
409
717
|
@property
|
|
410
|
-
def
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
the public LB. This flag lets you override to get public even if private
|
|
414
|
-
is available.
|
|
415
|
-
"""
|
|
416
|
-
return self._override_public or False
|
|
718
|
+
def blob_file_tokens(self) -> str:
|
|
719
|
+
"""Token identifying location of uploaded submission file."""
|
|
720
|
+
return self._blob_file_tokens
|
|
417
721
|
|
|
418
|
-
@
|
|
419
|
-
def
|
|
420
|
-
if
|
|
421
|
-
del self.
|
|
722
|
+
@blob_file_tokens.setter
|
|
723
|
+
def blob_file_tokens(self, blob_file_tokens: str):
|
|
724
|
+
if blob_file_tokens is None:
|
|
725
|
+
del self.blob_file_tokens
|
|
422
726
|
return
|
|
423
|
-
if not isinstance(
|
|
424
|
-
raise TypeError('
|
|
425
|
-
self.
|
|
727
|
+
if not isinstance(blob_file_tokens, str):
|
|
728
|
+
raise TypeError('blob_file_tokens must be of type str')
|
|
729
|
+
self._blob_file_tokens = blob_file_tokens
|
|
730
|
+
|
|
731
|
+
@property
|
|
732
|
+
def submission_description(self) -> str:
|
|
733
|
+
"""Description of competition submission."""
|
|
734
|
+
return self._submission_description or ""
|
|
735
|
+
|
|
736
|
+
@submission_description.setter
|
|
737
|
+
def submission_description(self, submission_description: Optional[str]):
|
|
738
|
+
if submission_description is None:
|
|
739
|
+
del self.submission_description
|
|
740
|
+
return
|
|
741
|
+
if not isinstance(submission_description, str):
|
|
742
|
+
raise TypeError('submission_description must be of type str')
|
|
743
|
+
self._submission_description = submission_description
|
|
426
744
|
|
|
427
745
|
def endpoint(self):
|
|
428
|
-
path = '/api/v1/competitions/{competition_name}
|
|
746
|
+
path = '/api/v1/competitions/submissions/submit/{competition_name}'
|
|
429
747
|
return path.format_map(self.to_field_map(self))
|
|
430
748
|
|
|
749
|
+
|
|
431
750
|
@staticmethod
|
|
432
|
-
def
|
|
433
|
-
return '
|
|
751
|
+
def method():
|
|
752
|
+
return 'POST'
|
|
434
753
|
|
|
435
754
|
|
|
436
|
-
class
|
|
755
|
+
class ApiCreateSubmissionResponse(KaggleObject):
|
|
437
756
|
r"""
|
|
438
757
|
Attributes:
|
|
439
|
-
|
|
758
|
+
message (str)
|
|
759
|
+
ref (int)
|
|
440
760
|
"""
|
|
441
761
|
|
|
442
762
|
def __init__(self):
|
|
443
|
-
self.
|
|
763
|
+
self._message = ""
|
|
764
|
+
self._ref = 0
|
|
444
765
|
self._freeze()
|
|
445
766
|
|
|
446
767
|
@property
|
|
447
|
-
def
|
|
448
|
-
return self.
|
|
768
|
+
def message(self) -> str:
|
|
769
|
+
return self._message
|
|
449
770
|
|
|
450
|
-
@
|
|
451
|
-
def
|
|
452
|
-
if
|
|
453
|
-
del self.
|
|
771
|
+
@message.setter
|
|
772
|
+
def message(self, message: str):
|
|
773
|
+
if message is None:
|
|
774
|
+
del self.message
|
|
454
775
|
return
|
|
455
|
-
if not isinstance(
|
|
456
|
-
raise TypeError('
|
|
457
|
-
|
|
458
|
-
raise TypeError('submissions must contain only items of type ApiLeaderboardSubmission')
|
|
459
|
-
self._submissions = submissions
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
class ApiGetSubmissionRequest(KaggleObject):
|
|
463
|
-
r"""
|
|
464
|
-
Attributes:
|
|
465
|
-
ref (int)
|
|
466
|
-
SubmissionId.
|
|
467
|
-
"""
|
|
468
|
-
|
|
469
|
-
def __init__(self):
|
|
470
|
-
self._ref = 0
|
|
471
|
-
self._freeze()
|
|
776
|
+
if not isinstance(message, str):
|
|
777
|
+
raise TypeError('message must be of type str')
|
|
778
|
+
self._message = message
|
|
472
779
|
|
|
473
780
|
@property
|
|
474
781
|
def ref(self) -> int:
|
|
475
|
-
"""SubmissionId."""
|
|
476
782
|
return self._ref
|
|
477
783
|
|
|
478
784
|
@ref.setter
|
|
@@ -484,242 +790,118 @@ class ApiGetSubmissionRequest(KaggleObject):
|
|
|
484
790
|
raise TypeError('ref must be of type int')
|
|
485
791
|
self._ref = ref
|
|
486
792
|
|
|
487
|
-
def endpoint(self):
|
|
488
|
-
path = '/api/v1/competitions/submissions/get/{ref}'
|
|
489
|
-
return path.format_map(self.to_field_map(self))
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
@staticmethod
|
|
493
|
-
def method():
|
|
494
|
-
return 'POST'
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
class ApiLeaderboardSubmission(KaggleObject):
|
|
498
|
-
r"""
|
|
499
|
-
Attributes:
|
|
500
|
-
team_id (int)
|
|
501
|
-
team_name (str)
|
|
502
|
-
submission_date (datetime)
|
|
503
|
-
score (str)
|
|
504
|
-
"""
|
|
505
|
-
|
|
506
|
-
def __init__(self):
|
|
507
|
-
self._team_id = 0
|
|
508
|
-
self._team_name = None
|
|
509
|
-
self._submission_date = None
|
|
510
|
-
self._score = None
|
|
511
|
-
self._freeze()
|
|
512
|
-
|
|
513
|
-
@property
|
|
514
|
-
def team_id(self) -> int:
|
|
515
|
-
return self._team_id
|
|
516
|
-
|
|
517
|
-
@team_id.setter
|
|
518
|
-
def team_id(self, team_id: int):
|
|
519
|
-
if team_id is None:
|
|
520
|
-
del self.team_id
|
|
521
|
-
return
|
|
522
|
-
if not isinstance(team_id, int):
|
|
523
|
-
raise TypeError('team_id must be of type int')
|
|
524
|
-
self._team_id = team_id
|
|
525
|
-
|
|
526
|
-
@property
|
|
527
|
-
def team_name(self) -> str:
|
|
528
|
-
return self._team_name or ""
|
|
529
|
-
|
|
530
|
-
@team_name.setter
|
|
531
|
-
def team_name(self, team_name: str):
|
|
532
|
-
if team_name is None:
|
|
533
|
-
del self.team_name
|
|
534
|
-
return
|
|
535
|
-
if not isinstance(team_name, str):
|
|
536
|
-
raise TypeError('team_name must be of type str')
|
|
537
|
-
self._team_name = team_name
|
|
538
|
-
|
|
539
|
-
@property
|
|
540
|
-
def submission_date(self) -> datetime:
|
|
541
|
-
return self._submission_date
|
|
542
|
-
|
|
543
|
-
@submission_date.setter
|
|
544
|
-
def submission_date(self, submission_date: datetime):
|
|
545
|
-
if submission_date is None:
|
|
546
|
-
del self.submission_date
|
|
547
|
-
return
|
|
548
|
-
if not isinstance(submission_date, datetime):
|
|
549
|
-
raise TypeError('submission_date must be of type datetime')
|
|
550
|
-
self._submission_date = submission_date
|
|
551
|
-
|
|
552
|
-
@property
|
|
553
|
-
def score(self) -> str:
|
|
554
|
-
return self._score or ""
|
|
555
|
-
|
|
556
|
-
@score.setter
|
|
557
|
-
def score(self, score: str):
|
|
558
|
-
if score is None:
|
|
559
|
-
del self.score
|
|
560
|
-
return
|
|
561
|
-
if not isinstance(score, str):
|
|
562
|
-
raise TypeError('score must be of type str')
|
|
563
|
-
self._score = score
|
|
564
|
-
|
|
565
793
|
|
|
566
|
-
class
|
|
794
|
+
class ApiDataFile(KaggleObject):
|
|
567
795
|
r"""
|
|
568
796
|
Attributes:
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
'masters', 'playground'.
|
|
576
|
-
sort_by (CompetitionSortBy)
|
|
577
|
-
Sort the results (default is 'latestDeadline').
|
|
578
|
-
One of 'grouped', 'prize', 'earliestDeadline', 'latestDeadline',
|
|
579
|
-
'numberOfTeams', 'recentlyCreated'.
|
|
580
|
-
search (str)
|
|
581
|
-
Filter competitions by search terms.
|
|
582
|
-
page (int)
|
|
583
|
-
Page number (default is 1).
|
|
797
|
+
ref (str)
|
|
798
|
+
name (str)
|
|
799
|
+
description (str)
|
|
800
|
+
total_bytes (int)
|
|
801
|
+
url (str)
|
|
802
|
+
creation_date (datetime)
|
|
584
803
|
"""
|
|
585
804
|
|
|
586
805
|
def __init__(self):
|
|
587
|
-
self.
|
|
588
|
-
self.
|
|
589
|
-
self.
|
|
590
|
-
self.
|
|
591
|
-
self.
|
|
806
|
+
self._ref = ""
|
|
807
|
+
self._name = None
|
|
808
|
+
self._description = None
|
|
809
|
+
self._total_bytes = 0
|
|
810
|
+
self._url = None
|
|
811
|
+
self._creation_date = None
|
|
592
812
|
self._freeze()
|
|
593
813
|
|
|
594
814
|
@property
|
|
595
|
-
def
|
|
596
|
-
|
|
597
|
-
Filter competitions by a particular group (default is 'general').
|
|
598
|
-
One of 'general', 'entered' and 'inClass'.
|
|
599
|
-
"""
|
|
600
|
-
return self._group or CompetitionListTab.COMPETITION_LIST_TAB_GENERAL
|
|
601
|
-
|
|
602
|
-
@group.setter
|
|
603
|
-
def group(self, group: 'CompetitionListTab'):
|
|
604
|
-
if group is None:
|
|
605
|
-
del self.group
|
|
606
|
-
return
|
|
607
|
-
if not isinstance(group, CompetitionListTab):
|
|
608
|
-
raise TypeError('group must be of type CompetitionListTab')
|
|
609
|
-
self._group = group
|
|
610
|
-
|
|
611
|
-
@property
|
|
612
|
-
def category(self) -> 'HostSegment':
|
|
613
|
-
r"""
|
|
614
|
-
Filter competitions by a particular category (default is 'all').
|
|
615
|
-
One of 'all', 'featured', 'research', 'recruitment', 'gettingStarted',
|
|
616
|
-
'masters', 'playground'.
|
|
617
|
-
"""
|
|
618
|
-
return self._category or HostSegment.HOST_SEGMENT_UNSPECIFIED
|
|
815
|
+
def ref(self) -> str:
|
|
816
|
+
return self._ref
|
|
619
817
|
|
|
620
|
-
@
|
|
621
|
-
def
|
|
622
|
-
if
|
|
623
|
-
del self.
|
|
818
|
+
@ref.setter
|
|
819
|
+
def ref(self, ref: str):
|
|
820
|
+
if ref is None:
|
|
821
|
+
del self.ref
|
|
624
822
|
return
|
|
625
|
-
if not isinstance(
|
|
626
|
-
raise TypeError('
|
|
627
|
-
self.
|
|
823
|
+
if not isinstance(ref, str):
|
|
824
|
+
raise TypeError('ref must be of type str')
|
|
825
|
+
self._ref = ref
|
|
628
826
|
|
|
629
827
|
@property
|
|
630
|
-
def
|
|
631
|
-
|
|
632
|
-
Sort the results (default is 'latestDeadline').
|
|
633
|
-
One of 'grouped', 'prize', 'earliestDeadline', 'latestDeadline',
|
|
634
|
-
'numberOfTeams', 'recentlyCreated'.
|
|
635
|
-
"""
|
|
636
|
-
return self._sort_by or CompetitionSortBy.COMPETITION_SORT_BY_GROUPED
|
|
828
|
+
def name(self) -> str:
|
|
829
|
+
return self._name or ""
|
|
637
830
|
|
|
638
|
-
@
|
|
639
|
-
def
|
|
640
|
-
if
|
|
641
|
-
del self.
|
|
831
|
+
@name.setter
|
|
832
|
+
def name(self, name: Optional[str]):
|
|
833
|
+
if name is None:
|
|
834
|
+
del self.name
|
|
642
835
|
return
|
|
643
|
-
if not isinstance(
|
|
644
|
-
raise TypeError('
|
|
645
|
-
self.
|
|
836
|
+
if not isinstance(name, str):
|
|
837
|
+
raise TypeError('name must be of type str')
|
|
838
|
+
self._name = name
|
|
646
839
|
|
|
647
840
|
@property
|
|
648
|
-
def
|
|
649
|
-
|
|
650
|
-
return self._search or ""
|
|
841
|
+
def description(self) -> str:
|
|
842
|
+
return self._description or ""
|
|
651
843
|
|
|
652
|
-
@
|
|
653
|
-
def
|
|
654
|
-
if
|
|
655
|
-
del self.
|
|
844
|
+
@description.setter
|
|
845
|
+
def description(self, description: Optional[str]):
|
|
846
|
+
if description is None:
|
|
847
|
+
del self.description
|
|
656
848
|
return
|
|
657
|
-
if not isinstance(
|
|
658
|
-
raise TypeError('
|
|
659
|
-
self.
|
|
849
|
+
if not isinstance(description, str):
|
|
850
|
+
raise TypeError('description must be of type str')
|
|
851
|
+
self._description = description
|
|
660
852
|
|
|
661
853
|
@property
|
|
662
|
-
def
|
|
663
|
-
|
|
664
|
-
return self._page or 0
|
|
854
|
+
def total_bytes(self) -> int:
|
|
855
|
+
return self._total_bytes
|
|
665
856
|
|
|
666
|
-
@
|
|
667
|
-
def
|
|
668
|
-
if
|
|
669
|
-
del self.
|
|
857
|
+
@total_bytes.setter
|
|
858
|
+
def total_bytes(self, total_bytes: int):
|
|
859
|
+
if total_bytes is None:
|
|
860
|
+
del self.total_bytes
|
|
670
861
|
return
|
|
671
|
-
if not isinstance(
|
|
672
|
-
raise TypeError('
|
|
673
|
-
self.
|
|
674
|
-
|
|
675
|
-
def endpoint(self):
|
|
676
|
-
path = '/api/v1/competitions/list'
|
|
677
|
-
return path.format_map(self.to_field_map(self))
|
|
678
|
-
|
|
862
|
+
if not isinstance(total_bytes, int):
|
|
863
|
+
raise TypeError('total_bytes must be of type int')
|
|
864
|
+
self._total_bytes = total_bytes
|
|
679
865
|
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
competitions (ApiCompetition)
|
|
684
|
-
"""
|
|
866
|
+
@property
|
|
867
|
+
def url(self) -> str:
|
|
868
|
+
return self._url or ""
|
|
685
869
|
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
870
|
+
@url.setter
|
|
871
|
+
def url(self, url: Optional[str]):
|
|
872
|
+
if url is None:
|
|
873
|
+
del self.url
|
|
874
|
+
return
|
|
875
|
+
if not isinstance(url, str):
|
|
876
|
+
raise TypeError('url must be of type str')
|
|
877
|
+
self._url = url
|
|
689
878
|
|
|
690
879
|
@property
|
|
691
|
-
def
|
|
692
|
-
return self.
|
|
880
|
+
def creation_date(self) -> datetime:
|
|
881
|
+
return self._creation_date
|
|
693
882
|
|
|
694
|
-
@
|
|
695
|
-
def
|
|
696
|
-
if
|
|
697
|
-
del self.
|
|
883
|
+
@creation_date.setter
|
|
884
|
+
def creation_date(self, creation_date: datetime):
|
|
885
|
+
if creation_date is None:
|
|
886
|
+
del self.creation_date
|
|
698
887
|
return
|
|
699
|
-
if not isinstance(
|
|
700
|
-
raise TypeError('
|
|
701
|
-
|
|
702
|
-
raise TypeError('competitions must contain only items of type ApiCompetition')
|
|
703
|
-
self._competitions = competitions
|
|
704
|
-
|
|
705
|
-
@classmethod
|
|
706
|
-
def prepare_from(cls, http_response):
|
|
707
|
-
return cls.from_dict({'competitions': json.loads(http_response.text)})
|
|
888
|
+
if not isinstance(creation_date, datetime):
|
|
889
|
+
raise TypeError('creation_date must be of type datetime')
|
|
890
|
+
self._creation_date = creation_date
|
|
708
891
|
|
|
709
892
|
|
|
710
|
-
class
|
|
893
|
+
class ApiDownloadDataFileRequest(KaggleObject):
|
|
711
894
|
r"""
|
|
712
895
|
Attributes:
|
|
713
896
|
competition_name (str)
|
|
714
897
|
Competition name. Example: 'titanic'.
|
|
715
|
-
|
|
716
|
-
|
|
898
|
+
file_name (str)
|
|
899
|
+
Name of the file to download. Example: 'train/foo/bar.png'.
|
|
717
900
|
"""
|
|
718
901
|
|
|
719
902
|
def __init__(self):
|
|
720
903
|
self._competition_name = ""
|
|
721
|
-
self.
|
|
722
|
-
self._page_token = None
|
|
904
|
+
self._file_name = ""
|
|
723
905
|
self._freeze()
|
|
724
906
|
|
|
725
907
|
@property
|
|
@@ -737,99 +919,70 @@ class ApiListDataFilesRequest(KaggleObject):
|
|
|
737
919
|
self._competition_name = competition_name
|
|
738
920
|
|
|
739
921
|
@property
|
|
740
|
-
def
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
@page_size.setter
|
|
744
|
-
def page_size(self, page_size: int):
|
|
745
|
-
if page_size is None:
|
|
746
|
-
del self.page_size
|
|
747
|
-
return
|
|
748
|
-
if not isinstance(page_size, int):
|
|
749
|
-
raise TypeError('page_size must be of type int')
|
|
750
|
-
self._page_size = page_size
|
|
751
|
-
|
|
752
|
-
@property
|
|
753
|
-
def page_token(self) -> str:
|
|
754
|
-
return self._page_token or ""
|
|
922
|
+
def file_name(self) -> str:
|
|
923
|
+
"""Name of the file to download. Example: 'train/foo/bar.png'."""
|
|
924
|
+
return self._file_name
|
|
755
925
|
|
|
756
|
-
@
|
|
757
|
-
def
|
|
758
|
-
if
|
|
759
|
-
del self.
|
|
926
|
+
@file_name.setter
|
|
927
|
+
def file_name(self, file_name: str):
|
|
928
|
+
if file_name is None:
|
|
929
|
+
del self.file_name
|
|
760
930
|
return
|
|
761
|
-
if not isinstance(
|
|
762
|
-
raise TypeError('
|
|
763
|
-
self.
|
|
931
|
+
if not isinstance(file_name, str):
|
|
932
|
+
raise TypeError('file_name must be of type str')
|
|
933
|
+
self._file_name = file_name
|
|
764
934
|
|
|
765
935
|
def endpoint(self):
|
|
766
|
-
path = '/api/v1/competitions/data/
|
|
936
|
+
path = '/api/v1/competitions/data/download/{competition_name}/{file_name}'
|
|
767
937
|
return path.format_map(self.to_field_map(self))
|
|
768
938
|
|
|
769
939
|
@staticmethod
|
|
770
940
|
def endpoint_path():
|
|
771
|
-
return '/api/v1/competitions/data/
|
|
941
|
+
return '/api/v1/competitions/data/download/{competition_name}/{file_name}'
|
|
772
942
|
|
|
773
943
|
|
|
774
|
-
class
|
|
944
|
+
class ApiDownloadDataFilesRequest(KaggleObject):
|
|
775
945
|
r"""
|
|
776
946
|
Attributes:
|
|
777
|
-
|
|
778
|
-
|
|
947
|
+
competition_name (str)
|
|
948
|
+
Competition name. Example: 'titanic'.
|
|
779
949
|
"""
|
|
780
950
|
|
|
781
951
|
def __init__(self):
|
|
782
|
-
self.
|
|
783
|
-
self._next_page_token = ""
|
|
952
|
+
self._competition_name = ""
|
|
784
953
|
self._freeze()
|
|
785
954
|
|
|
786
955
|
@property
|
|
787
|
-
def
|
|
788
|
-
|
|
956
|
+
def competition_name(self) -> str:
|
|
957
|
+
"""Competition name. Example: 'titanic'."""
|
|
958
|
+
return self._competition_name
|
|
789
959
|
|
|
790
|
-
@
|
|
791
|
-
def
|
|
792
|
-
if
|
|
793
|
-
del self.
|
|
960
|
+
@competition_name.setter
|
|
961
|
+
def competition_name(self, competition_name: str):
|
|
962
|
+
if competition_name is None:
|
|
963
|
+
del self.competition_name
|
|
794
964
|
return
|
|
795
|
-
if not isinstance(
|
|
796
|
-
raise TypeError('
|
|
797
|
-
|
|
798
|
-
raise TypeError('files must contain only items of type ApiDataFile')
|
|
799
|
-
self._files = files
|
|
800
|
-
|
|
801
|
-
@property
|
|
802
|
-
def next_page_token(self) -> str:
|
|
803
|
-
return self._next_page_token
|
|
965
|
+
if not isinstance(competition_name, str):
|
|
966
|
+
raise TypeError('competition_name must be of type str')
|
|
967
|
+
self._competition_name = competition_name
|
|
804
968
|
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
del self.next_page_token
|
|
809
|
-
return
|
|
810
|
-
if not isinstance(next_page_token, str):
|
|
811
|
-
raise TypeError('next_page_token must be of type str')
|
|
812
|
-
self._next_page_token = next_page_token
|
|
969
|
+
def endpoint(self):
|
|
970
|
+
path = '/api/v1/competitions/data/download-all/{competition_name}'
|
|
971
|
+
return path.format_map(self.to_field_map(self))
|
|
813
972
|
|
|
814
|
-
@
|
|
815
|
-
def
|
|
816
|
-
return
|
|
973
|
+
@staticmethod
|
|
974
|
+
def endpoint_path():
|
|
975
|
+
return '/api/v1/competitions/data/download-all/{competition_name}'
|
|
817
976
|
|
|
818
977
|
|
|
819
|
-
class
|
|
978
|
+
class ApiDownloadLeaderboardRequest(KaggleObject):
|
|
820
979
|
r"""
|
|
821
980
|
Attributes:
|
|
822
981
|
competition_name (str)
|
|
823
|
-
sort_by (SubmissionSortBy)
|
|
824
|
-
group (SubmissionGroup)
|
|
825
|
-
page (int)
|
|
826
982
|
"""
|
|
827
983
|
|
|
828
984
|
def __init__(self):
|
|
829
985
|
self._competition_name = ""
|
|
830
|
-
self._sort_by = SubmissionSortBy.SUBMISSION_SORT_BY_DATE
|
|
831
|
-
self._group = SubmissionGroup.SUBMISSION_GROUP_ALL
|
|
832
|
-
self._page = None
|
|
833
986
|
self._freeze()
|
|
834
987
|
|
|
835
988
|
@property
|
|
@@ -845,104 +998,103 @@ class ApiListSubmissionsRequest(KaggleObject):
|
|
|
845
998
|
raise TypeError('competition_name must be of type str')
|
|
846
999
|
self._competition_name = competition_name
|
|
847
1000
|
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
return self.
|
|
1001
|
+
def endpoint(self):
|
|
1002
|
+
path = '/api/v1/competitions/{competition_name}/leaderboard/download'
|
|
1003
|
+
return path.format_map(self.to_field_map(self))
|
|
851
1004
|
|
|
852
|
-
@
|
|
853
|
-
def
|
|
854
|
-
|
|
855
|
-
del self.sort_by
|
|
856
|
-
return
|
|
857
|
-
if not isinstance(sort_by, SubmissionSortBy):
|
|
858
|
-
raise TypeError('sort_by must be of type SubmissionSortBy')
|
|
859
|
-
self._sort_by = sort_by
|
|
1005
|
+
@staticmethod
|
|
1006
|
+
def endpoint_path():
|
|
1007
|
+
return '/api/v1/competitions/{competition_name}/leaderboard/download'
|
|
860
1008
|
|
|
861
|
-
@property
|
|
862
|
-
def group(self) -> 'SubmissionGroup':
|
|
863
|
-
return self._group
|
|
864
1009
|
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
self.
|
|
1010
|
+
class ApiGetCompetitionDataFilesSummaryRequest(KaggleObject):
|
|
1011
|
+
r"""
|
|
1012
|
+
Attributes:
|
|
1013
|
+
competition_name (str)
|
|
1014
|
+
"""
|
|
1015
|
+
|
|
1016
|
+
def __init__(self):
|
|
1017
|
+
self._competition_name = ""
|
|
1018
|
+
self._freeze()
|
|
873
1019
|
|
|
874
1020
|
@property
|
|
875
|
-
def
|
|
876
|
-
return self.
|
|
1021
|
+
def competition_name(self) -> str:
|
|
1022
|
+
return self._competition_name
|
|
877
1023
|
|
|
878
|
-
@
|
|
879
|
-
def
|
|
880
|
-
if
|
|
881
|
-
del self.
|
|
1024
|
+
@competition_name.setter
|
|
1025
|
+
def competition_name(self, competition_name: str):
|
|
1026
|
+
if competition_name is None:
|
|
1027
|
+
del self.competition_name
|
|
882
1028
|
return
|
|
883
|
-
if not isinstance(
|
|
884
|
-
raise TypeError('
|
|
885
|
-
self.
|
|
1029
|
+
if not isinstance(competition_name, str):
|
|
1030
|
+
raise TypeError('competition_name must be of type str')
|
|
1031
|
+
self._competition_name = competition_name
|
|
886
1032
|
|
|
887
1033
|
def endpoint(self):
|
|
888
|
-
path = '/api/v1/competitions/
|
|
1034
|
+
path = '/api/v1/competitions/data/summary/{competition_name}'
|
|
889
1035
|
return path.format_map(self.to_field_map(self))
|
|
890
1036
|
|
|
891
1037
|
@staticmethod
|
|
892
1038
|
def endpoint_path():
|
|
893
|
-
return '/api/v1/competitions/
|
|
1039
|
+
return '/api/v1/competitions/data/summary/{competition_name}'
|
|
894
1040
|
|
|
895
1041
|
|
|
896
|
-
class
|
|
1042
|
+
class ApiGetCompetitionRequest(KaggleObject):
|
|
897
1043
|
r"""
|
|
898
1044
|
Attributes:
|
|
899
|
-
|
|
1045
|
+
competition_name (str)
|
|
900
1046
|
"""
|
|
901
1047
|
|
|
902
1048
|
def __init__(self):
|
|
903
|
-
self.
|
|
1049
|
+
self._competition_name = ""
|
|
904
1050
|
self._freeze()
|
|
905
1051
|
|
|
906
1052
|
@property
|
|
907
|
-
def
|
|
908
|
-
return self.
|
|
1053
|
+
def competition_name(self) -> str:
|
|
1054
|
+
return self._competition_name
|
|
909
1055
|
|
|
910
|
-
@
|
|
911
|
-
def
|
|
912
|
-
if
|
|
913
|
-
del self.
|
|
1056
|
+
@competition_name.setter
|
|
1057
|
+
def competition_name(self, competition_name: str):
|
|
1058
|
+
if competition_name is None:
|
|
1059
|
+
del self.competition_name
|
|
914
1060
|
return
|
|
915
|
-
if not isinstance(
|
|
916
|
-
raise TypeError('
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
1061
|
+
if not isinstance(competition_name, str):
|
|
1062
|
+
raise TypeError('competition_name must be of type str')
|
|
1063
|
+
self._competition_name = competition_name
|
|
1064
|
+
|
|
1065
|
+
def endpoint(self):
|
|
1066
|
+
path = '/api/v1/competitions/get/{competition_name}'
|
|
1067
|
+
return path.format_map(self.to_field_map(self))
|
|
920
1068
|
|
|
921
|
-
@
|
|
922
|
-
def
|
|
923
|
-
return
|
|
1069
|
+
@staticmethod
|
|
1070
|
+
def endpoint_path():
|
|
1071
|
+
return '/api/v1/competitions/get/{competition_name}'
|
|
924
1072
|
|
|
925
1073
|
|
|
926
|
-
class
|
|
1074
|
+
class ApiGetLeaderboardRequest(KaggleObject):
|
|
927
1075
|
r"""
|
|
928
1076
|
Attributes:
|
|
929
1077
|
competition_name (str)
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
1078
|
+
Competition name. Example: 'titanic'.
|
|
1079
|
+
override_public (bool)
|
|
1080
|
+
By default we return the private leaderboard if it's available, otherwise
|
|
1081
|
+
the public LB. This flag lets you override to get public even if private
|
|
1082
|
+
is available.
|
|
1083
|
+
page_size (int)
|
|
1084
|
+
page_token (str)
|
|
934
1085
|
"""
|
|
935
1086
|
|
|
936
1087
|
def __init__(self):
|
|
937
|
-
self._competition_name =
|
|
938
|
-
self.
|
|
939
|
-
self.
|
|
940
|
-
self.
|
|
1088
|
+
self._competition_name = ""
|
|
1089
|
+
self._override_public = None
|
|
1090
|
+
self._page_size = None
|
|
1091
|
+
self._page_token = None
|
|
941
1092
|
self._freeze()
|
|
942
1093
|
|
|
943
1094
|
@property
|
|
944
1095
|
def competition_name(self) -> str:
|
|
945
|
-
|
|
1096
|
+
"""Competition name. Example: 'titanic'."""
|
|
1097
|
+
return self._competition_name
|
|
946
1098
|
|
|
947
1099
|
@competition_name.setter
|
|
948
1100
|
def competition_name(self, competition_name: str):
|
|
@@ -954,839 +1106,968 @@ class ApiStartSubmissionUploadRequest(KaggleObject):
|
|
|
954
1106
|
self._competition_name = competition_name
|
|
955
1107
|
|
|
956
1108
|
@property
|
|
957
|
-
def
|
|
958
|
-
|
|
1109
|
+
def override_public(self) -> bool:
|
|
1110
|
+
r"""
|
|
1111
|
+
By default we return the private leaderboard if it's available, otherwise
|
|
1112
|
+
the public LB. This flag lets you override to get public even if private
|
|
1113
|
+
is available.
|
|
1114
|
+
"""
|
|
1115
|
+
return self._override_public or False
|
|
959
1116
|
|
|
960
|
-
@
|
|
961
|
-
def
|
|
962
|
-
if
|
|
963
|
-
del self.
|
|
1117
|
+
@override_public.setter
|
|
1118
|
+
def override_public(self, override_public: Optional[bool]):
|
|
1119
|
+
if override_public is None:
|
|
1120
|
+
del self.override_public
|
|
964
1121
|
return
|
|
965
|
-
if not isinstance(
|
|
966
|
-
raise TypeError('
|
|
967
|
-
self.
|
|
1122
|
+
if not isinstance(override_public, bool):
|
|
1123
|
+
raise TypeError('override_public must be of type bool')
|
|
1124
|
+
self._override_public = override_public
|
|
968
1125
|
|
|
969
1126
|
@property
|
|
970
|
-
def
|
|
971
|
-
return self.
|
|
1127
|
+
def page_size(self) -> int:
|
|
1128
|
+
return self._page_size or 0
|
|
972
1129
|
|
|
973
|
-
@
|
|
974
|
-
def
|
|
975
|
-
if
|
|
976
|
-
del self.
|
|
1130
|
+
@page_size.setter
|
|
1131
|
+
def page_size(self, page_size: Optional[int]):
|
|
1132
|
+
if page_size is None:
|
|
1133
|
+
del self.page_size
|
|
977
1134
|
return
|
|
978
|
-
if not isinstance(
|
|
979
|
-
raise TypeError('
|
|
980
|
-
self.
|
|
1135
|
+
if not isinstance(page_size, int):
|
|
1136
|
+
raise TypeError('page_size must be of type int')
|
|
1137
|
+
self._page_size = page_size
|
|
981
1138
|
|
|
982
1139
|
@property
|
|
983
|
-
def
|
|
984
|
-
|
|
985
|
-
return self._file_name
|
|
1140
|
+
def page_token(self) -> str:
|
|
1141
|
+
return self._page_token or ""
|
|
986
1142
|
|
|
987
|
-
@
|
|
988
|
-
def
|
|
989
|
-
if
|
|
990
|
-
del self.
|
|
1143
|
+
@page_token.setter
|
|
1144
|
+
def page_token(self, page_token: Optional[str]):
|
|
1145
|
+
if page_token is None:
|
|
1146
|
+
del self.page_token
|
|
991
1147
|
return
|
|
992
|
-
if not isinstance(
|
|
993
|
-
raise TypeError('
|
|
994
|
-
self.
|
|
1148
|
+
if not isinstance(page_token, str):
|
|
1149
|
+
raise TypeError('page_token must be of type str')
|
|
1150
|
+
self._page_token = page_token
|
|
995
1151
|
|
|
996
1152
|
def endpoint(self):
|
|
997
|
-
path = '/api/v1/competitions/
|
|
1153
|
+
path = '/api/v1/competitions/{competition_name}/leaderboard/view'
|
|
998
1154
|
return path.format_map(self.to_field_map(self))
|
|
999
1155
|
|
|
1000
|
-
|
|
1001
1156
|
@staticmethod
|
|
1002
|
-
def
|
|
1003
|
-
return '
|
|
1157
|
+
def endpoint_path():
|
|
1158
|
+
return '/api/v1/competitions/{competition_name}/leaderboard/view'
|
|
1004
1159
|
|
|
1005
1160
|
|
|
1006
|
-
class
|
|
1161
|
+
class ApiGetLeaderboardResponse(KaggleObject):
|
|
1007
1162
|
r"""
|
|
1008
|
-
Currently identical to StartBlobUploadResponse, but keeping separate since
|
|
1009
|
-
they could change independently and this is a legacy V1 type.
|
|
1010
|
-
|
|
1011
1163
|
Attributes:
|
|
1012
|
-
|
|
1013
|
-
|
|
1164
|
+
submissions (ApiLeaderboardSubmission)
|
|
1165
|
+
next_page_token (str)
|
|
1014
1166
|
"""
|
|
1015
1167
|
|
|
1016
1168
|
def __init__(self):
|
|
1017
|
-
self.
|
|
1018
|
-
self.
|
|
1169
|
+
self._submissions = []
|
|
1170
|
+
self._next_page_token = ""
|
|
1019
1171
|
self._freeze()
|
|
1020
1172
|
|
|
1021
1173
|
@property
|
|
1022
|
-
def
|
|
1023
|
-
return self.
|
|
1174
|
+
def submissions(self) -> Optional[List[Optional['ApiLeaderboardSubmission']]]:
|
|
1175
|
+
return self._submissions
|
|
1024
1176
|
|
|
1025
|
-
@
|
|
1026
|
-
def
|
|
1027
|
-
if
|
|
1028
|
-
del self.
|
|
1177
|
+
@submissions.setter
|
|
1178
|
+
def submissions(self, submissions: Optional[List[Optional['ApiLeaderboardSubmission']]]):
|
|
1179
|
+
if submissions is None:
|
|
1180
|
+
del self.submissions
|
|
1029
1181
|
return
|
|
1030
|
-
if not isinstance(
|
|
1031
|
-
raise TypeError('
|
|
1032
|
-
|
|
1182
|
+
if not isinstance(submissions, list):
|
|
1183
|
+
raise TypeError('submissions must be of type list')
|
|
1184
|
+
if not all([isinstance(t, ApiLeaderboardSubmission) for t in submissions]):
|
|
1185
|
+
raise TypeError('submissions must contain only items of type ApiLeaderboardSubmission')
|
|
1186
|
+
self._submissions = submissions
|
|
1033
1187
|
|
|
1034
1188
|
@property
|
|
1035
|
-
def
|
|
1036
|
-
return self.
|
|
1189
|
+
def next_page_token(self) -> str:
|
|
1190
|
+
return self._next_page_token
|
|
1037
1191
|
|
|
1038
|
-
@
|
|
1039
|
-
def
|
|
1040
|
-
if
|
|
1041
|
-
del self.
|
|
1192
|
+
@next_page_token.setter
|
|
1193
|
+
def next_page_token(self, next_page_token: str):
|
|
1194
|
+
if next_page_token is None:
|
|
1195
|
+
del self.next_page_token
|
|
1042
1196
|
return
|
|
1043
|
-
if not isinstance(
|
|
1044
|
-
raise TypeError('
|
|
1045
|
-
self.
|
|
1197
|
+
if not isinstance(next_page_token, str):
|
|
1198
|
+
raise TypeError('next_page_token must be of type str')
|
|
1199
|
+
self._next_page_token = next_page_token
|
|
1046
1200
|
|
|
1047
1201
|
@property
|
|
1048
|
-
def
|
|
1049
|
-
return self.
|
|
1202
|
+
def nextPageToken(self):
|
|
1203
|
+
return self.next_page_token
|
|
1050
1204
|
|
|
1051
1205
|
|
|
1052
|
-
class
|
|
1206
|
+
class ApiGetSubmissionRequest(KaggleObject):
|
|
1053
1207
|
r"""
|
|
1054
1208
|
Attributes:
|
|
1055
1209
|
ref (int)
|
|
1056
|
-
|
|
1057
|
-
date (datetime)
|
|
1058
|
-
description (str)
|
|
1059
|
-
error_description (str)
|
|
1060
|
-
file_name (str)
|
|
1061
|
-
public_score (str)
|
|
1062
|
-
private_score (str)
|
|
1063
|
-
status (SubmissionStatus)
|
|
1064
|
-
submitted_by (str)
|
|
1065
|
-
submitted_by_ref (str)
|
|
1066
|
-
team_name (str)
|
|
1067
|
-
url (str)
|
|
1068
|
-
Minor note: ListSubmissions and GetSubmission may differ in setting this
|
|
1069
|
-
field.
|
|
1210
|
+
SubmissionId.
|
|
1070
1211
|
"""
|
|
1071
1212
|
|
|
1072
1213
|
def __init__(self):
|
|
1073
1214
|
self._ref = 0
|
|
1074
|
-
self.
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
self.
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1215
|
+
self._freeze()
|
|
1216
|
+
|
|
1217
|
+
@property
|
|
1218
|
+
def ref(self) -> int:
|
|
1219
|
+
"""SubmissionId."""
|
|
1220
|
+
return self._ref
|
|
1221
|
+
|
|
1222
|
+
@ref.setter
|
|
1223
|
+
def ref(self, ref: int):
|
|
1224
|
+
if ref is None:
|
|
1225
|
+
del self.ref
|
|
1226
|
+
return
|
|
1227
|
+
if not isinstance(ref, int):
|
|
1228
|
+
raise TypeError('ref must be of type int')
|
|
1229
|
+
self._ref = ref
|
|
1230
|
+
|
|
1231
|
+
def endpoint(self):
|
|
1232
|
+
path = '/api/v1/competitions/submissions/get/{ref}'
|
|
1233
|
+
return path.format_map(self.to_field_map(self))
|
|
1234
|
+
|
|
1235
|
+
|
|
1236
|
+
@staticmethod
|
|
1237
|
+
def method():
|
|
1238
|
+
return 'POST'
|
|
1239
|
+
|
|
1240
|
+
|
|
1241
|
+
class ApiLeaderboardSubmission(KaggleObject):
|
|
1242
|
+
r"""
|
|
1243
|
+
Attributes:
|
|
1244
|
+
team_id (int)
|
|
1245
|
+
team_name (str)
|
|
1246
|
+
submission_date (datetime)
|
|
1247
|
+
score (str)
|
|
1248
|
+
"""
|
|
1249
|
+
|
|
1250
|
+
def __init__(self):
|
|
1251
|
+
self._team_id = 0
|
|
1084
1252
|
self._team_name = None
|
|
1085
|
-
self.
|
|
1253
|
+
self._submission_date = None
|
|
1254
|
+
self._score = None
|
|
1086
1255
|
self._freeze()
|
|
1087
1256
|
|
|
1088
1257
|
@property
|
|
1089
|
-
def
|
|
1090
|
-
return self.
|
|
1258
|
+
def team_id(self) -> int:
|
|
1259
|
+
return self._team_id
|
|
1260
|
+
|
|
1261
|
+
@team_id.setter
|
|
1262
|
+
def team_id(self, team_id: int):
|
|
1263
|
+
if team_id is None:
|
|
1264
|
+
del self.team_id
|
|
1265
|
+
return
|
|
1266
|
+
if not isinstance(team_id, int):
|
|
1267
|
+
raise TypeError('team_id must be of type int')
|
|
1268
|
+
self._team_id = team_id
|
|
1269
|
+
|
|
1270
|
+
@property
|
|
1271
|
+
def team_name(self) -> str:
|
|
1272
|
+
return self._team_name or ""
|
|
1091
1273
|
|
|
1092
|
-
@
|
|
1093
|
-
def
|
|
1094
|
-
if
|
|
1095
|
-
del self.
|
|
1274
|
+
@team_name.setter
|
|
1275
|
+
def team_name(self, team_name: Optional[str]):
|
|
1276
|
+
if team_name is None:
|
|
1277
|
+
del self.team_name
|
|
1096
1278
|
return
|
|
1097
|
-
if not isinstance(
|
|
1098
|
-
raise TypeError('
|
|
1099
|
-
self.
|
|
1279
|
+
if not isinstance(team_name, str):
|
|
1280
|
+
raise TypeError('team_name must be of type str')
|
|
1281
|
+
self._team_name = team_name
|
|
1100
1282
|
|
|
1101
1283
|
@property
|
|
1102
|
-
def
|
|
1103
|
-
return self.
|
|
1284
|
+
def submission_date(self) -> datetime:
|
|
1285
|
+
return self._submission_date
|
|
1104
1286
|
|
|
1105
|
-
@
|
|
1106
|
-
def
|
|
1107
|
-
if
|
|
1108
|
-
del self.
|
|
1287
|
+
@submission_date.setter
|
|
1288
|
+
def submission_date(self, submission_date: datetime):
|
|
1289
|
+
if submission_date is None:
|
|
1290
|
+
del self.submission_date
|
|
1109
1291
|
return
|
|
1110
|
-
if not isinstance(
|
|
1111
|
-
raise TypeError('
|
|
1112
|
-
self.
|
|
1292
|
+
if not isinstance(submission_date, datetime):
|
|
1293
|
+
raise TypeError('submission_date must be of type datetime')
|
|
1294
|
+
self._submission_date = submission_date
|
|
1113
1295
|
|
|
1114
1296
|
@property
|
|
1115
|
-
def
|
|
1116
|
-
return self.
|
|
1297
|
+
def score(self) -> str:
|
|
1298
|
+
return self._score or ""
|
|
1117
1299
|
|
|
1118
|
-
@
|
|
1119
|
-
def
|
|
1120
|
-
if
|
|
1121
|
-
del self.
|
|
1300
|
+
@score.setter
|
|
1301
|
+
def score(self, score: Optional[str]):
|
|
1302
|
+
if score is None:
|
|
1303
|
+
del self.score
|
|
1122
1304
|
return
|
|
1123
|
-
if not isinstance(
|
|
1124
|
-
raise TypeError('
|
|
1125
|
-
self.
|
|
1305
|
+
if not isinstance(score, str):
|
|
1306
|
+
raise TypeError('score must be of type str')
|
|
1307
|
+
self._score = score
|
|
1308
|
+
|
|
1309
|
+
|
|
1310
|
+
class ApiListCompetitionsRequest(KaggleObject):
|
|
1311
|
+
r"""
|
|
1312
|
+
Attributes:
|
|
1313
|
+
group (CompetitionListTab)
|
|
1314
|
+
Filter competitions by a particular group (default is 'general').
|
|
1315
|
+
One of 'general', 'entered' and 'inClass'.
|
|
1316
|
+
category (HostSegment)
|
|
1317
|
+
Filter competitions by a particular category (default is 'all').
|
|
1318
|
+
One of 'all', 'featured', 'research', 'recruitment', 'gettingStarted',
|
|
1319
|
+
'masters', 'playground'.
|
|
1320
|
+
sort_by (CompetitionSortBy)
|
|
1321
|
+
Sort the results (default is 'latestDeadline').
|
|
1322
|
+
One of 'grouped', 'prize', 'earliestDeadline', 'latestDeadline',
|
|
1323
|
+
'numberOfTeams', 'recentlyCreated'.
|
|
1324
|
+
search (str)
|
|
1325
|
+
Filter competitions by search terms.
|
|
1326
|
+
page (int)
|
|
1327
|
+
Page number (default is 1).
|
|
1328
|
+
page_token (str)
|
|
1329
|
+
page_size (int)
|
|
1330
|
+
"""
|
|
1331
|
+
|
|
1332
|
+
def __init__(self):
|
|
1333
|
+
self._group = None
|
|
1334
|
+
self._category = None
|
|
1335
|
+
self._sort_by = None
|
|
1336
|
+
self._search = None
|
|
1337
|
+
self._page = None
|
|
1338
|
+
self._page_token = None
|
|
1339
|
+
self._page_size = None
|
|
1340
|
+
self._freeze()
|
|
1126
1341
|
|
|
1127
1342
|
@property
|
|
1128
|
-
def
|
|
1129
|
-
|
|
1343
|
+
def group(self) -> 'CompetitionListTab':
|
|
1344
|
+
r"""
|
|
1345
|
+
Filter competitions by a particular group (default is 'general').
|
|
1346
|
+
One of 'general', 'entered' and 'inClass'.
|
|
1347
|
+
"""
|
|
1348
|
+
return self._group or CompetitionListTab.COMPETITION_LIST_TAB_GENERAL
|
|
1130
1349
|
|
|
1131
|
-
@
|
|
1132
|
-
def
|
|
1133
|
-
if
|
|
1134
|
-
del self.
|
|
1350
|
+
@group.setter
|
|
1351
|
+
def group(self, group: Optional['CompetitionListTab']):
|
|
1352
|
+
if group is None:
|
|
1353
|
+
del self.group
|
|
1135
1354
|
return
|
|
1136
|
-
if not isinstance(
|
|
1137
|
-
raise TypeError('
|
|
1138
|
-
self.
|
|
1355
|
+
if not isinstance(group, CompetitionListTab):
|
|
1356
|
+
raise TypeError('group must be of type CompetitionListTab')
|
|
1357
|
+
self._group = group
|
|
1139
1358
|
|
|
1140
1359
|
@property
|
|
1141
|
-
def
|
|
1142
|
-
|
|
1360
|
+
def category(self) -> 'HostSegment':
|
|
1361
|
+
r"""
|
|
1362
|
+
Filter competitions by a particular category (default is 'all').
|
|
1363
|
+
One of 'all', 'featured', 'research', 'recruitment', 'gettingStarted',
|
|
1364
|
+
'masters', 'playground'.
|
|
1365
|
+
"""
|
|
1366
|
+
return self._category or HostSegment.HOST_SEGMENT_UNSPECIFIED
|
|
1143
1367
|
|
|
1144
|
-
@
|
|
1145
|
-
def
|
|
1146
|
-
if
|
|
1147
|
-
del self.
|
|
1368
|
+
@category.setter
|
|
1369
|
+
def category(self, category: Optional['HostSegment']):
|
|
1370
|
+
if category is None:
|
|
1371
|
+
del self.category
|
|
1148
1372
|
return
|
|
1149
|
-
if not isinstance(
|
|
1150
|
-
raise TypeError('
|
|
1151
|
-
self.
|
|
1373
|
+
if not isinstance(category, HostSegment):
|
|
1374
|
+
raise TypeError('category must be of type HostSegment')
|
|
1375
|
+
self._category = category
|
|
1152
1376
|
|
|
1153
1377
|
@property
|
|
1154
|
-
def
|
|
1155
|
-
|
|
1378
|
+
def sort_by(self) -> 'CompetitionSortBy':
|
|
1379
|
+
r"""
|
|
1380
|
+
Sort the results (default is 'latestDeadline').
|
|
1381
|
+
One of 'grouped', 'prize', 'earliestDeadline', 'latestDeadline',
|
|
1382
|
+
'numberOfTeams', 'recentlyCreated'.
|
|
1383
|
+
"""
|
|
1384
|
+
return self._sort_by or CompetitionSortBy.COMPETITION_SORT_BY_GROUPED
|
|
1156
1385
|
|
|
1157
|
-
@
|
|
1158
|
-
def
|
|
1159
|
-
if
|
|
1160
|
-
del self.
|
|
1386
|
+
@sort_by.setter
|
|
1387
|
+
def sort_by(self, sort_by: Optional['CompetitionSortBy']):
|
|
1388
|
+
if sort_by is None:
|
|
1389
|
+
del self.sort_by
|
|
1161
1390
|
return
|
|
1162
|
-
if not isinstance(
|
|
1163
|
-
raise TypeError('
|
|
1164
|
-
self.
|
|
1391
|
+
if not isinstance(sort_by, CompetitionSortBy):
|
|
1392
|
+
raise TypeError('sort_by must be of type CompetitionSortBy')
|
|
1393
|
+
self._sort_by = sort_by
|
|
1165
1394
|
|
|
1166
1395
|
@property
|
|
1167
|
-
def
|
|
1168
|
-
|
|
1396
|
+
def search(self) -> str:
|
|
1397
|
+
"""Filter competitions by search terms."""
|
|
1398
|
+
return self._search or ""
|
|
1169
1399
|
|
|
1170
|
-
@
|
|
1171
|
-
def
|
|
1172
|
-
if
|
|
1173
|
-
del self.
|
|
1400
|
+
@search.setter
|
|
1401
|
+
def search(self, search: Optional[str]):
|
|
1402
|
+
if search is None:
|
|
1403
|
+
del self.search
|
|
1174
1404
|
return
|
|
1175
|
-
if not isinstance(
|
|
1176
|
-
raise TypeError('
|
|
1177
|
-
self.
|
|
1405
|
+
if not isinstance(search, str):
|
|
1406
|
+
raise TypeError('search must be of type str')
|
|
1407
|
+
self._search = search
|
|
1178
1408
|
|
|
1179
1409
|
@property
|
|
1180
|
-
def
|
|
1181
|
-
|
|
1410
|
+
def page(self) -> int:
|
|
1411
|
+
"""Page number (default is 1)."""
|
|
1412
|
+
return self._page or 0
|
|
1182
1413
|
|
|
1183
|
-
@
|
|
1184
|
-
def
|
|
1185
|
-
if
|
|
1186
|
-
del self.
|
|
1414
|
+
@page.setter
|
|
1415
|
+
def page(self, page: Optional[int]):
|
|
1416
|
+
if page is None:
|
|
1417
|
+
del self.page
|
|
1187
1418
|
return
|
|
1188
|
-
if not isinstance(
|
|
1189
|
-
raise TypeError('
|
|
1190
|
-
self.
|
|
1419
|
+
if not isinstance(page, int):
|
|
1420
|
+
raise TypeError('page must be of type int')
|
|
1421
|
+
self._page = page
|
|
1191
1422
|
|
|
1192
1423
|
@property
|
|
1193
|
-
def
|
|
1194
|
-
return self.
|
|
1424
|
+
def page_token(self) -> str:
|
|
1425
|
+
return self._page_token or ""
|
|
1195
1426
|
|
|
1196
|
-
@
|
|
1197
|
-
def
|
|
1198
|
-
if
|
|
1199
|
-
del self.
|
|
1427
|
+
@page_token.setter
|
|
1428
|
+
def page_token(self, page_token: Optional[str]):
|
|
1429
|
+
if page_token is None:
|
|
1430
|
+
del self.page_token
|
|
1200
1431
|
return
|
|
1201
|
-
if not isinstance(
|
|
1202
|
-
raise TypeError('
|
|
1203
|
-
self.
|
|
1432
|
+
if not isinstance(page_token, str):
|
|
1433
|
+
raise TypeError('page_token must be of type str')
|
|
1434
|
+
self._page_token = page_token
|
|
1204
1435
|
|
|
1205
1436
|
@property
|
|
1206
|
-
def
|
|
1207
|
-
return self.
|
|
1437
|
+
def page_size(self) -> int:
|
|
1438
|
+
return self._page_size or 0
|
|
1208
1439
|
|
|
1209
|
-
@
|
|
1210
|
-
def
|
|
1211
|
-
if
|
|
1212
|
-
del self.
|
|
1440
|
+
@page_size.setter
|
|
1441
|
+
def page_size(self, page_size: Optional[int]):
|
|
1442
|
+
if page_size is None:
|
|
1443
|
+
del self.page_size
|
|
1213
1444
|
return
|
|
1214
|
-
if not isinstance(
|
|
1215
|
-
raise TypeError('
|
|
1216
|
-
self.
|
|
1445
|
+
if not isinstance(page_size, int):
|
|
1446
|
+
raise TypeError('page_size must be of type int')
|
|
1447
|
+
self._page_size = page_size
|
|
1448
|
+
|
|
1449
|
+
def endpoint(self):
|
|
1450
|
+
path = '/api/v1/competitions/list'
|
|
1451
|
+
return path.format_map(self.to_field_map(self))
|
|
1452
|
+
|
|
1453
|
+
|
|
1454
|
+
class ApiListCompetitionsResponse(KaggleObject):
|
|
1455
|
+
r"""
|
|
1456
|
+
Attributes:
|
|
1457
|
+
competitions (ApiCompetition)
|
|
1458
|
+
next_page_token (str)
|
|
1459
|
+
"""
|
|
1460
|
+
|
|
1461
|
+
def __init__(self):
|
|
1462
|
+
self._competitions = []
|
|
1463
|
+
self._next_page_token = ""
|
|
1464
|
+
self._freeze()
|
|
1217
1465
|
|
|
1218
1466
|
@property
|
|
1219
|
-
def
|
|
1220
|
-
return self.
|
|
1467
|
+
def competitions(self) -> Optional[List[Optional['ApiCompetition']]]:
|
|
1468
|
+
return self._competitions
|
|
1221
1469
|
|
|
1222
|
-
@
|
|
1223
|
-
def
|
|
1224
|
-
if
|
|
1225
|
-
del self.
|
|
1470
|
+
@competitions.setter
|
|
1471
|
+
def competitions(self, competitions: Optional[List[Optional['ApiCompetition']]]):
|
|
1472
|
+
if competitions is None:
|
|
1473
|
+
del self.competitions
|
|
1226
1474
|
return
|
|
1227
|
-
if not isinstance(
|
|
1228
|
-
raise TypeError('
|
|
1229
|
-
|
|
1475
|
+
if not isinstance(competitions, list):
|
|
1476
|
+
raise TypeError('competitions must be of type list')
|
|
1477
|
+
if not all([isinstance(t, ApiCompetition) for t in competitions]):
|
|
1478
|
+
raise TypeError('competitions must contain only items of type ApiCompetition')
|
|
1479
|
+
self._competitions = competitions
|
|
1230
1480
|
|
|
1231
1481
|
@property
|
|
1232
|
-
def
|
|
1233
|
-
return self.
|
|
1482
|
+
def next_page_token(self) -> str:
|
|
1483
|
+
return self._next_page_token
|
|
1234
1484
|
|
|
1235
|
-
@
|
|
1236
|
-
def
|
|
1237
|
-
if
|
|
1238
|
-
del self.
|
|
1485
|
+
@next_page_token.setter
|
|
1486
|
+
def next_page_token(self, next_page_token: str):
|
|
1487
|
+
if next_page_token is None:
|
|
1488
|
+
del self.next_page_token
|
|
1239
1489
|
return
|
|
1240
|
-
if not isinstance(
|
|
1241
|
-
raise TypeError('
|
|
1242
|
-
self.
|
|
1490
|
+
if not isinstance(next_page_token, str):
|
|
1491
|
+
raise TypeError('next_page_token must be of type str')
|
|
1492
|
+
self._next_page_token = next_page_token
|
|
1243
1493
|
|
|
1244
1494
|
@property
|
|
1245
|
-
def
|
|
1246
|
-
|
|
1247
|
-
Minor note: ListSubmissions and GetSubmission may differ in setting this
|
|
1248
|
-
field.
|
|
1249
|
-
"""
|
|
1250
|
-
return self._url or ""
|
|
1251
|
-
|
|
1252
|
-
@url.setter
|
|
1253
|
-
def url(self, url: str):
|
|
1254
|
-
if url is None:
|
|
1255
|
-
del self.url
|
|
1256
|
-
return
|
|
1257
|
-
if not isinstance(url, str):
|
|
1258
|
-
raise TypeError('url must be of type str')
|
|
1259
|
-
self._url = url
|
|
1495
|
+
def nextPageToken(self):
|
|
1496
|
+
return self.next_page_token
|
|
1260
1497
|
|
|
1261
1498
|
|
|
1262
|
-
class
|
|
1499
|
+
class ApiListDataFilesRequest(KaggleObject):
|
|
1263
1500
|
r"""
|
|
1264
1501
|
Attributes:
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
description (str)
|
|
1270
|
-
organization_name (str)
|
|
1271
|
-
organization_ref (str)
|
|
1272
|
-
category (str)
|
|
1273
|
-
reward (str)
|
|
1274
|
-
tags (ApiCategory)
|
|
1275
|
-
deadline (datetime)
|
|
1276
|
-
kernel_count (int)
|
|
1277
|
-
team_count (int)
|
|
1278
|
-
user_has_entered (bool)
|
|
1279
|
-
user_rank (int)
|
|
1280
|
-
merger_deadline (datetime)
|
|
1281
|
-
new_entrant_deadline (datetime)
|
|
1282
|
-
enabled_date (datetime)
|
|
1283
|
-
max_daily_submissions (int)
|
|
1284
|
-
max_team_size (int)
|
|
1285
|
-
evaluation_metric (str)
|
|
1286
|
-
awards_points (bool)
|
|
1287
|
-
is_kernels_submissions_only (bool)
|
|
1288
|
-
submissions_disabled (bool)
|
|
1502
|
+
competition_name (str)
|
|
1503
|
+
Competition name. Example: 'titanic'.
|
|
1504
|
+
page_size (int)
|
|
1505
|
+
page_token (str)
|
|
1289
1506
|
"""
|
|
1290
1507
|
|
|
1291
1508
|
def __init__(self):
|
|
1292
|
-
self.
|
|
1293
|
-
self.
|
|
1294
|
-
self.
|
|
1295
|
-
self._url = None
|
|
1296
|
-
self._description = None
|
|
1297
|
-
self._organization_name = None
|
|
1298
|
-
self._organization_ref = None
|
|
1299
|
-
self._category = None
|
|
1300
|
-
self._reward = None
|
|
1301
|
-
self._tags = []
|
|
1302
|
-
self._deadline = None
|
|
1303
|
-
self._kernel_count = 0
|
|
1304
|
-
self._team_count = 0
|
|
1305
|
-
self._user_has_entered = False
|
|
1306
|
-
self._user_rank = None
|
|
1307
|
-
self._merger_deadline = None
|
|
1308
|
-
self._new_entrant_deadline = None
|
|
1309
|
-
self._enabled_date = None
|
|
1310
|
-
self._max_daily_submissions = 0
|
|
1311
|
-
self._max_team_size = None
|
|
1312
|
-
self._evaluation_metric = None
|
|
1313
|
-
self._awards_points = False
|
|
1314
|
-
self._is_kernels_submissions_only = False
|
|
1315
|
-
self._submissions_disabled = False
|
|
1509
|
+
self._competition_name = ""
|
|
1510
|
+
self._page_size = None
|
|
1511
|
+
self._page_token = None
|
|
1316
1512
|
self._freeze()
|
|
1317
1513
|
|
|
1318
1514
|
@property
|
|
1319
|
-
def
|
|
1320
|
-
|
|
1515
|
+
def competition_name(self) -> str:
|
|
1516
|
+
"""Competition name. Example: 'titanic'."""
|
|
1517
|
+
return self._competition_name
|
|
1321
1518
|
|
|
1322
|
-
@
|
|
1323
|
-
def
|
|
1324
|
-
if
|
|
1325
|
-
del self.
|
|
1519
|
+
@competition_name.setter
|
|
1520
|
+
def competition_name(self, competition_name: str):
|
|
1521
|
+
if competition_name is None:
|
|
1522
|
+
del self.competition_name
|
|
1326
1523
|
return
|
|
1327
|
-
if not isinstance(
|
|
1328
|
-
raise TypeError('
|
|
1329
|
-
self.
|
|
1524
|
+
if not isinstance(competition_name, str):
|
|
1525
|
+
raise TypeError('competition_name must be of type str')
|
|
1526
|
+
self._competition_name = competition_name
|
|
1330
1527
|
|
|
1331
1528
|
@property
|
|
1332
|
-
def
|
|
1333
|
-
return self.
|
|
1529
|
+
def page_size(self) -> int:
|
|
1530
|
+
return self._page_size or 0
|
|
1334
1531
|
|
|
1335
|
-
@
|
|
1336
|
-
def
|
|
1337
|
-
if
|
|
1338
|
-
del self.
|
|
1532
|
+
@page_size.setter
|
|
1533
|
+
def page_size(self, page_size: Optional[int]):
|
|
1534
|
+
if page_size is None:
|
|
1535
|
+
del self.page_size
|
|
1339
1536
|
return
|
|
1340
|
-
if not isinstance(
|
|
1341
|
-
raise TypeError('
|
|
1342
|
-
self.
|
|
1537
|
+
if not isinstance(page_size, int):
|
|
1538
|
+
raise TypeError('page_size must be of type int')
|
|
1539
|
+
self._page_size = page_size
|
|
1343
1540
|
|
|
1344
1541
|
@property
|
|
1345
|
-
def
|
|
1346
|
-
return self.
|
|
1542
|
+
def page_token(self) -> str:
|
|
1543
|
+
return self._page_token or ""
|
|
1347
1544
|
|
|
1348
|
-
@
|
|
1349
|
-
def
|
|
1350
|
-
if
|
|
1351
|
-
del self.
|
|
1545
|
+
@page_token.setter
|
|
1546
|
+
def page_token(self, page_token: Optional[str]):
|
|
1547
|
+
if page_token is None:
|
|
1548
|
+
del self.page_token
|
|
1352
1549
|
return
|
|
1353
|
-
if not isinstance(
|
|
1354
|
-
raise TypeError('
|
|
1355
|
-
self.
|
|
1550
|
+
if not isinstance(page_token, str):
|
|
1551
|
+
raise TypeError('page_token must be of type str')
|
|
1552
|
+
self._page_token = page_token
|
|
1356
1553
|
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
return self.
|
|
1554
|
+
def endpoint(self):
|
|
1555
|
+
path = '/api/v1/competitions/data/list/{competition_name}'
|
|
1556
|
+
return path.format_map(self.to_field_map(self))
|
|
1360
1557
|
|
|
1361
|
-
@
|
|
1362
|
-
def
|
|
1363
|
-
|
|
1364
|
-
del self.url
|
|
1365
|
-
return
|
|
1366
|
-
if not isinstance(url, str):
|
|
1367
|
-
raise TypeError('url must be of type str')
|
|
1368
|
-
self._url = url
|
|
1558
|
+
@staticmethod
|
|
1559
|
+
def endpoint_path():
|
|
1560
|
+
return '/api/v1/competitions/data/list/{competition_name}'
|
|
1369
1561
|
|
|
1370
|
-
@property
|
|
1371
|
-
def description(self) -> str:
|
|
1372
|
-
return self._description or ""
|
|
1373
1562
|
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1563
|
+
class ApiListDataFilesResponse(KaggleObject):
|
|
1564
|
+
r"""
|
|
1565
|
+
Attributes:
|
|
1566
|
+
files (ApiDataFile)
|
|
1567
|
+
next_page_token (str)
|
|
1568
|
+
children_fetch_time_ms (int)
|
|
1569
|
+
"""
|
|
1570
|
+
|
|
1571
|
+
def __init__(self):
|
|
1572
|
+
self._files = []
|
|
1573
|
+
self._next_page_token = ""
|
|
1574
|
+
self._children_fetch_time_ms = 0
|
|
1575
|
+
self._freeze()
|
|
1382
1576
|
|
|
1383
1577
|
@property
|
|
1384
|
-
def
|
|
1385
|
-
return self.
|
|
1578
|
+
def files(self) -> Optional[List[Optional['ApiDataFile']]]:
|
|
1579
|
+
return self._files
|
|
1386
1580
|
|
|
1387
|
-
@
|
|
1388
|
-
def
|
|
1389
|
-
if
|
|
1390
|
-
del self.
|
|
1581
|
+
@files.setter
|
|
1582
|
+
def files(self, files: Optional[List[Optional['ApiDataFile']]]):
|
|
1583
|
+
if files is None:
|
|
1584
|
+
del self.files
|
|
1391
1585
|
return
|
|
1392
|
-
if not isinstance(
|
|
1393
|
-
raise TypeError('
|
|
1394
|
-
|
|
1586
|
+
if not isinstance(files, list):
|
|
1587
|
+
raise TypeError('files must be of type list')
|
|
1588
|
+
if not all([isinstance(t, ApiDataFile) for t in files]):
|
|
1589
|
+
raise TypeError('files must contain only items of type ApiDataFile')
|
|
1590
|
+
self._files = files
|
|
1395
1591
|
|
|
1396
1592
|
@property
|
|
1397
|
-
def
|
|
1398
|
-
return self.
|
|
1593
|
+
def next_page_token(self) -> str:
|
|
1594
|
+
return self._next_page_token
|
|
1399
1595
|
|
|
1400
|
-
@
|
|
1401
|
-
def
|
|
1402
|
-
if
|
|
1403
|
-
del self.
|
|
1596
|
+
@next_page_token.setter
|
|
1597
|
+
def next_page_token(self, next_page_token: str):
|
|
1598
|
+
if next_page_token is None:
|
|
1599
|
+
del self.next_page_token
|
|
1404
1600
|
return
|
|
1405
|
-
if not isinstance(
|
|
1406
|
-
raise TypeError('
|
|
1407
|
-
self.
|
|
1601
|
+
if not isinstance(next_page_token, str):
|
|
1602
|
+
raise TypeError('next_page_token must be of type str')
|
|
1603
|
+
self._next_page_token = next_page_token
|
|
1408
1604
|
|
|
1409
1605
|
@property
|
|
1410
|
-
def
|
|
1411
|
-
return self.
|
|
1606
|
+
def children_fetch_time_ms(self) -> int:
|
|
1607
|
+
return self._children_fetch_time_ms
|
|
1412
1608
|
|
|
1413
|
-
@
|
|
1414
|
-
def
|
|
1415
|
-
if
|
|
1416
|
-
del self.
|
|
1609
|
+
@children_fetch_time_ms.setter
|
|
1610
|
+
def children_fetch_time_ms(self, children_fetch_time_ms: int):
|
|
1611
|
+
if children_fetch_time_ms is None:
|
|
1612
|
+
del self.children_fetch_time_ms
|
|
1417
1613
|
return
|
|
1418
|
-
if not isinstance(
|
|
1419
|
-
raise TypeError('
|
|
1420
|
-
self.
|
|
1614
|
+
if not isinstance(children_fetch_time_ms, int):
|
|
1615
|
+
raise TypeError('children_fetch_time_ms must be of type int')
|
|
1616
|
+
self._children_fetch_time_ms = children_fetch_time_ms
|
|
1421
1617
|
|
|
1422
1618
|
@property
|
|
1423
|
-
def
|
|
1424
|
-
return self.
|
|
1425
|
-
|
|
1426
|
-
@reward.setter
|
|
1427
|
-
def reward(self, reward: str):
|
|
1428
|
-
if reward is None:
|
|
1429
|
-
del self.reward
|
|
1430
|
-
return
|
|
1431
|
-
if not isinstance(reward, str):
|
|
1432
|
-
raise TypeError('reward must be of type str')
|
|
1433
|
-
self._reward = reward
|
|
1619
|
+
def nextPageToken(self):
|
|
1620
|
+
return self.next_page_token
|
|
1434
1621
|
|
|
1435
1622
|
@property
|
|
1436
|
-
def
|
|
1437
|
-
return self.
|
|
1623
|
+
def childrenFetchTimeMs(self):
|
|
1624
|
+
return self.children_fetch_time_ms
|
|
1438
1625
|
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1626
|
+
|
|
1627
|
+
class ApiListDataTreeFilesRequest(KaggleObject):
|
|
1628
|
+
r"""
|
|
1629
|
+
Attributes:
|
|
1630
|
+
competition_name (str)
|
|
1631
|
+
Competition name. Example: 'titanic'.
|
|
1632
|
+
path (str)
|
|
1633
|
+
The path of the directory to list files from. If not provided, the root
|
|
1634
|
+
directory will be listed.
|
|
1635
|
+
page_size (int)
|
|
1636
|
+
page_token (str)
|
|
1637
|
+
"""
|
|
1638
|
+
|
|
1639
|
+
def __init__(self):
|
|
1640
|
+
self._competition_name = ""
|
|
1641
|
+
self._path = None
|
|
1642
|
+
self._page_size = None
|
|
1643
|
+
self._page_token = None
|
|
1644
|
+
self._freeze()
|
|
1449
1645
|
|
|
1450
1646
|
@property
|
|
1451
|
-
def
|
|
1452
|
-
|
|
1647
|
+
def competition_name(self) -> str:
|
|
1648
|
+
"""Competition name. Example: 'titanic'."""
|
|
1649
|
+
return self._competition_name
|
|
1453
1650
|
|
|
1454
|
-
@
|
|
1455
|
-
def
|
|
1456
|
-
if
|
|
1457
|
-
del self.
|
|
1651
|
+
@competition_name.setter
|
|
1652
|
+
def competition_name(self, competition_name: str):
|
|
1653
|
+
if competition_name is None:
|
|
1654
|
+
del self.competition_name
|
|
1458
1655
|
return
|
|
1459
|
-
if not isinstance(
|
|
1460
|
-
raise TypeError('
|
|
1461
|
-
self.
|
|
1656
|
+
if not isinstance(competition_name, str):
|
|
1657
|
+
raise TypeError('competition_name must be of type str')
|
|
1658
|
+
self._competition_name = competition_name
|
|
1462
1659
|
|
|
1463
1660
|
@property
|
|
1464
|
-
def
|
|
1465
|
-
|
|
1661
|
+
def path(self) -> str:
|
|
1662
|
+
r"""
|
|
1663
|
+
The path of the directory to list files from. If not provided, the root
|
|
1664
|
+
directory will be listed.
|
|
1665
|
+
"""
|
|
1666
|
+
return self._path or ""
|
|
1466
1667
|
|
|
1467
|
-
@
|
|
1468
|
-
def
|
|
1469
|
-
if
|
|
1470
|
-
del self.
|
|
1668
|
+
@path.setter
|
|
1669
|
+
def path(self, path: Optional[str]):
|
|
1670
|
+
if path is None:
|
|
1671
|
+
del self.path
|
|
1471
1672
|
return
|
|
1472
|
-
if not isinstance(
|
|
1473
|
-
raise TypeError('
|
|
1474
|
-
self.
|
|
1673
|
+
if not isinstance(path, str):
|
|
1674
|
+
raise TypeError('path must be of type str')
|
|
1675
|
+
self._path = path
|
|
1475
1676
|
|
|
1476
1677
|
@property
|
|
1477
|
-
def
|
|
1478
|
-
return self.
|
|
1678
|
+
def page_size(self) -> int:
|
|
1679
|
+
return self._page_size or 0
|
|
1479
1680
|
|
|
1480
|
-
@
|
|
1481
|
-
def
|
|
1482
|
-
if
|
|
1483
|
-
del self.
|
|
1681
|
+
@page_size.setter
|
|
1682
|
+
def page_size(self, page_size: Optional[int]):
|
|
1683
|
+
if page_size is None:
|
|
1684
|
+
del self.page_size
|
|
1484
1685
|
return
|
|
1485
|
-
if not isinstance(
|
|
1486
|
-
raise TypeError('
|
|
1487
|
-
self.
|
|
1686
|
+
if not isinstance(page_size, int):
|
|
1687
|
+
raise TypeError('page_size must be of type int')
|
|
1688
|
+
self._page_size = page_size
|
|
1488
1689
|
|
|
1489
1690
|
@property
|
|
1490
|
-
def
|
|
1491
|
-
return self.
|
|
1691
|
+
def page_token(self) -> str:
|
|
1692
|
+
return self._page_token or ""
|
|
1492
1693
|
|
|
1493
|
-
@
|
|
1494
|
-
def
|
|
1495
|
-
if
|
|
1496
|
-
del self.
|
|
1694
|
+
@page_token.setter
|
|
1695
|
+
def page_token(self, page_token: Optional[str]):
|
|
1696
|
+
if page_token is None:
|
|
1697
|
+
del self.page_token
|
|
1497
1698
|
return
|
|
1498
|
-
if not isinstance(
|
|
1499
|
-
raise TypeError('
|
|
1500
|
-
self.
|
|
1699
|
+
if not isinstance(page_token, str):
|
|
1700
|
+
raise TypeError('page_token must be of type str')
|
|
1701
|
+
self._page_token = page_token
|
|
1501
1702
|
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
return self.
|
|
1703
|
+
def endpoint(self):
|
|
1704
|
+
path = '/api/v1/competitions/{competition_name}/data-tree/list/'
|
|
1705
|
+
return path.format_map(self.to_field_map(self))
|
|
1505
1706
|
|
|
1506
|
-
@
|
|
1507
|
-
def
|
|
1508
|
-
|
|
1509
|
-
del self.user_rank
|
|
1510
|
-
return
|
|
1511
|
-
if not isinstance(user_rank, int):
|
|
1512
|
-
raise TypeError('user_rank must be of type int')
|
|
1513
|
-
self._user_rank = user_rank
|
|
1707
|
+
@staticmethod
|
|
1708
|
+
def endpoint_path():
|
|
1709
|
+
return '/api/v1/competitions/{competition_name}/data-tree/list/'
|
|
1514
1710
|
|
|
1515
|
-
@property
|
|
1516
|
-
def merger_deadline(self) -> datetime:
|
|
1517
|
-
return self._merger_deadline
|
|
1518
1711
|
|
|
1519
|
-
|
|
1520
|
-
|
|
1521
|
-
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
|
|
1525
|
-
|
|
1526
|
-
|
|
1712
|
+
class ApiListSubmissionsRequest(KaggleObject):
|
|
1713
|
+
r"""
|
|
1714
|
+
Attributes:
|
|
1715
|
+
competition_name (str)
|
|
1716
|
+
sort_by (SubmissionSortBy)
|
|
1717
|
+
group (SubmissionGroup)
|
|
1718
|
+
page (int)
|
|
1719
|
+
page_token (str)
|
|
1720
|
+
page_size (int)
|
|
1721
|
+
"""
|
|
1722
|
+
|
|
1723
|
+
def __init__(self):
|
|
1724
|
+
self._competition_name = ""
|
|
1725
|
+
self._sort_by = SubmissionSortBy.SUBMISSION_SORT_BY_DATE
|
|
1726
|
+
self._group = SubmissionGroup.SUBMISSION_GROUP_ALL
|
|
1727
|
+
self._page = None
|
|
1728
|
+
self._page_token = None
|
|
1729
|
+
self._page_size = None
|
|
1730
|
+
self._freeze()
|
|
1527
1731
|
|
|
1528
1732
|
@property
|
|
1529
|
-
def
|
|
1530
|
-
return self.
|
|
1733
|
+
def competition_name(self) -> str:
|
|
1734
|
+
return self._competition_name
|
|
1531
1735
|
|
|
1532
|
-
@
|
|
1533
|
-
def
|
|
1534
|
-
if
|
|
1535
|
-
del self.
|
|
1736
|
+
@competition_name.setter
|
|
1737
|
+
def competition_name(self, competition_name: str):
|
|
1738
|
+
if competition_name is None:
|
|
1739
|
+
del self.competition_name
|
|
1536
1740
|
return
|
|
1537
|
-
if not isinstance(
|
|
1538
|
-
raise TypeError('
|
|
1539
|
-
self.
|
|
1741
|
+
if not isinstance(competition_name, str):
|
|
1742
|
+
raise TypeError('competition_name must be of type str')
|
|
1743
|
+
self._competition_name = competition_name
|
|
1540
1744
|
|
|
1541
1745
|
@property
|
|
1542
|
-
def
|
|
1543
|
-
return self.
|
|
1746
|
+
def sort_by(self) -> 'SubmissionSortBy':
|
|
1747
|
+
return self._sort_by
|
|
1544
1748
|
|
|
1545
|
-
@
|
|
1546
|
-
def
|
|
1547
|
-
if
|
|
1548
|
-
del self.
|
|
1749
|
+
@sort_by.setter
|
|
1750
|
+
def sort_by(self, sort_by: 'SubmissionSortBy'):
|
|
1751
|
+
if sort_by is None:
|
|
1752
|
+
del self.sort_by
|
|
1549
1753
|
return
|
|
1550
|
-
if not isinstance(
|
|
1551
|
-
raise TypeError('
|
|
1552
|
-
self.
|
|
1754
|
+
if not isinstance(sort_by, SubmissionSortBy):
|
|
1755
|
+
raise TypeError('sort_by must be of type SubmissionSortBy')
|
|
1756
|
+
self._sort_by = sort_by
|
|
1553
1757
|
|
|
1554
1758
|
@property
|
|
1555
|
-
def
|
|
1556
|
-
return self.
|
|
1759
|
+
def group(self) -> 'SubmissionGroup':
|
|
1760
|
+
return self._group
|
|
1557
1761
|
|
|
1558
|
-
@
|
|
1559
|
-
def
|
|
1560
|
-
if
|
|
1561
|
-
del self.
|
|
1762
|
+
@group.setter
|
|
1763
|
+
def group(self, group: 'SubmissionGroup'):
|
|
1764
|
+
if group is None:
|
|
1765
|
+
del self.group
|
|
1562
1766
|
return
|
|
1563
|
-
if not isinstance(
|
|
1564
|
-
raise TypeError('
|
|
1565
|
-
self.
|
|
1767
|
+
if not isinstance(group, SubmissionGroup):
|
|
1768
|
+
raise TypeError('group must be of type SubmissionGroup')
|
|
1769
|
+
self._group = group
|
|
1566
1770
|
|
|
1567
1771
|
@property
|
|
1568
|
-
def
|
|
1569
|
-
return self.
|
|
1772
|
+
def page(self) -> int:
|
|
1773
|
+
return self._page or 0
|
|
1570
1774
|
|
|
1571
|
-
@
|
|
1572
|
-
def
|
|
1573
|
-
if
|
|
1574
|
-
del self.
|
|
1775
|
+
@page.setter
|
|
1776
|
+
def page(self, page: Optional[int]):
|
|
1777
|
+
if page is None:
|
|
1778
|
+
del self.page
|
|
1575
1779
|
return
|
|
1576
|
-
if not isinstance(
|
|
1577
|
-
raise TypeError('
|
|
1578
|
-
self.
|
|
1780
|
+
if not isinstance(page, int):
|
|
1781
|
+
raise TypeError('page must be of type int')
|
|
1782
|
+
self._page = page
|
|
1579
1783
|
|
|
1580
1784
|
@property
|
|
1581
|
-
def
|
|
1582
|
-
return self.
|
|
1785
|
+
def page_token(self) -> str:
|
|
1786
|
+
return self._page_token or ""
|
|
1583
1787
|
|
|
1584
|
-
@
|
|
1585
|
-
def
|
|
1586
|
-
if
|
|
1587
|
-
del self.
|
|
1788
|
+
@page_token.setter
|
|
1789
|
+
def page_token(self, page_token: Optional[str]):
|
|
1790
|
+
if page_token is None:
|
|
1791
|
+
del self.page_token
|
|
1588
1792
|
return
|
|
1589
|
-
if not isinstance(
|
|
1590
|
-
raise TypeError('
|
|
1591
|
-
self.
|
|
1793
|
+
if not isinstance(page_token, str):
|
|
1794
|
+
raise TypeError('page_token must be of type str')
|
|
1795
|
+
self._page_token = page_token
|
|
1592
1796
|
|
|
1593
1797
|
@property
|
|
1594
|
-
def
|
|
1595
|
-
return self.
|
|
1798
|
+
def page_size(self) -> int:
|
|
1799
|
+
return self._page_size or 0
|
|
1596
1800
|
|
|
1597
|
-
@
|
|
1598
|
-
def
|
|
1599
|
-
if
|
|
1600
|
-
del self.
|
|
1801
|
+
@page_size.setter
|
|
1802
|
+
def page_size(self, page_size: Optional[int]):
|
|
1803
|
+
if page_size is None:
|
|
1804
|
+
del self.page_size
|
|
1601
1805
|
return
|
|
1602
|
-
if not isinstance(
|
|
1603
|
-
raise TypeError('
|
|
1604
|
-
self.
|
|
1806
|
+
if not isinstance(page_size, int):
|
|
1807
|
+
raise TypeError('page_size must be of type int')
|
|
1808
|
+
self._page_size = page_size
|
|
1809
|
+
|
|
1810
|
+
def endpoint(self):
|
|
1811
|
+
path = '/api/v1/competitions/submissions/list/{competition_name}'
|
|
1812
|
+
return path.format_map(self.to_field_map(self))
|
|
1813
|
+
|
|
1814
|
+
@staticmethod
|
|
1815
|
+
def endpoint_path():
|
|
1816
|
+
return '/api/v1/competitions/submissions/list/{competition_name}'
|
|
1817
|
+
|
|
1818
|
+
|
|
1819
|
+
class ApiListSubmissionsResponse(KaggleObject):
|
|
1820
|
+
r"""
|
|
1821
|
+
Attributes:
|
|
1822
|
+
submissions (ApiSubmission)
|
|
1823
|
+
next_page_token (str)
|
|
1824
|
+
"""
|
|
1825
|
+
|
|
1826
|
+
def __init__(self):
|
|
1827
|
+
self._submissions = []
|
|
1828
|
+
self._next_page_token = ""
|
|
1829
|
+
self._freeze()
|
|
1605
1830
|
|
|
1606
1831
|
@property
|
|
1607
|
-
def
|
|
1608
|
-
return self.
|
|
1832
|
+
def submissions(self) -> Optional[List[Optional['ApiSubmission']]]:
|
|
1833
|
+
return self._submissions
|
|
1609
1834
|
|
|
1610
|
-
@
|
|
1611
|
-
def
|
|
1612
|
-
if
|
|
1613
|
-
del self.
|
|
1835
|
+
@submissions.setter
|
|
1836
|
+
def submissions(self, submissions: Optional[List[Optional['ApiSubmission']]]):
|
|
1837
|
+
if submissions is None:
|
|
1838
|
+
del self.submissions
|
|
1614
1839
|
return
|
|
1615
|
-
if not isinstance(
|
|
1616
|
-
raise TypeError('
|
|
1617
|
-
|
|
1840
|
+
if not isinstance(submissions, list):
|
|
1841
|
+
raise TypeError('submissions must be of type list')
|
|
1842
|
+
if not all([isinstance(t, ApiSubmission) for t in submissions]):
|
|
1843
|
+
raise TypeError('submissions must contain only items of type ApiSubmission')
|
|
1844
|
+
self._submissions = submissions
|
|
1618
1845
|
|
|
1619
1846
|
@property
|
|
1620
|
-
def
|
|
1621
|
-
return self.
|
|
1847
|
+
def next_page_token(self) -> str:
|
|
1848
|
+
return self._next_page_token
|
|
1622
1849
|
|
|
1623
|
-
@
|
|
1624
|
-
def
|
|
1625
|
-
if
|
|
1626
|
-
del self.
|
|
1850
|
+
@next_page_token.setter
|
|
1851
|
+
def next_page_token(self, next_page_token: str):
|
|
1852
|
+
if next_page_token is None:
|
|
1853
|
+
del self.next_page_token
|
|
1627
1854
|
return
|
|
1628
|
-
if not isinstance(
|
|
1629
|
-
raise TypeError('
|
|
1630
|
-
self.
|
|
1855
|
+
if not isinstance(next_page_token, str):
|
|
1856
|
+
raise TypeError('next_page_token must be of type str')
|
|
1857
|
+
self._next_page_token = next_page_token
|
|
1858
|
+
|
|
1859
|
+
@property
|
|
1860
|
+
def nextPageToken(self):
|
|
1861
|
+
return self.next_page_token
|
|
1631
1862
|
|
|
1632
1863
|
|
|
1633
|
-
class
|
|
1864
|
+
class ApiStartSubmissionUploadRequest(KaggleObject):
|
|
1634
1865
|
r"""
|
|
1635
1866
|
Attributes:
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
|
|
1641
|
-
creation_date (datetime)
|
|
1867
|
+
competition_name (str)
|
|
1868
|
+
content_length (int)
|
|
1869
|
+
last_modified_epoch_seconds (int)
|
|
1870
|
+
file_name (str)
|
|
1871
|
+
Comes from form upload
|
|
1642
1872
|
"""
|
|
1643
1873
|
|
|
1644
1874
|
def __init__(self):
|
|
1645
|
-
self.
|
|
1646
|
-
self.
|
|
1647
|
-
self.
|
|
1648
|
-
self.
|
|
1649
|
-
self._url = None
|
|
1650
|
-
self._creation_date = None
|
|
1875
|
+
self._competition_name = None
|
|
1876
|
+
self._content_length = 0
|
|
1877
|
+
self._last_modified_epoch_seconds = 0
|
|
1878
|
+
self._file_name = ""
|
|
1651
1879
|
self._freeze()
|
|
1652
1880
|
|
|
1653
1881
|
@property
|
|
1654
|
-
def
|
|
1655
|
-
return self.
|
|
1882
|
+
def competition_name(self) -> str:
|
|
1883
|
+
return self._competition_name or ""
|
|
1656
1884
|
|
|
1657
|
-
@
|
|
1658
|
-
def
|
|
1659
|
-
if
|
|
1660
|
-
del self.
|
|
1885
|
+
@competition_name.setter
|
|
1886
|
+
def competition_name(self, competition_name: Optional[str]):
|
|
1887
|
+
if competition_name is None:
|
|
1888
|
+
del self.competition_name
|
|
1661
1889
|
return
|
|
1662
|
-
if not isinstance(
|
|
1663
|
-
raise TypeError('
|
|
1664
|
-
self.
|
|
1890
|
+
if not isinstance(competition_name, str):
|
|
1891
|
+
raise TypeError('competition_name must be of type str')
|
|
1892
|
+
self._competition_name = competition_name
|
|
1665
1893
|
|
|
1666
1894
|
@property
|
|
1667
|
-
def
|
|
1668
|
-
return self.
|
|
1895
|
+
def content_length(self) -> int:
|
|
1896
|
+
return self._content_length
|
|
1669
1897
|
|
|
1670
|
-
@
|
|
1671
|
-
def
|
|
1672
|
-
if
|
|
1673
|
-
del self.
|
|
1898
|
+
@content_length.setter
|
|
1899
|
+
def content_length(self, content_length: int):
|
|
1900
|
+
if content_length is None:
|
|
1901
|
+
del self.content_length
|
|
1674
1902
|
return
|
|
1675
|
-
if not isinstance(
|
|
1676
|
-
raise TypeError('
|
|
1677
|
-
self.
|
|
1903
|
+
if not isinstance(content_length, int):
|
|
1904
|
+
raise TypeError('content_length must be of type int')
|
|
1905
|
+
self._content_length = content_length
|
|
1678
1906
|
|
|
1679
1907
|
@property
|
|
1680
|
-
def
|
|
1681
|
-
return self.
|
|
1908
|
+
def last_modified_epoch_seconds(self) -> int:
|
|
1909
|
+
return self._last_modified_epoch_seconds
|
|
1682
1910
|
|
|
1683
|
-
@
|
|
1684
|
-
def
|
|
1685
|
-
if
|
|
1686
|
-
del self.
|
|
1911
|
+
@last_modified_epoch_seconds.setter
|
|
1912
|
+
def last_modified_epoch_seconds(self, last_modified_epoch_seconds: int):
|
|
1913
|
+
if last_modified_epoch_seconds is None:
|
|
1914
|
+
del self.last_modified_epoch_seconds
|
|
1687
1915
|
return
|
|
1688
|
-
if not isinstance(
|
|
1689
|
-
raise TypeError('
|
|
1690
|
-
self.
|
|
1916
|
+
if not isinstance(last_modified_epoch_seconds, int):
|
|
1917
|
+
raise TypeError('last_modified_epoch_seconds must be of type int')
|
|
1918
|
+
self._last_modified_epoch_seconds = last_modified_epoch_seconds
|
|
1691
1919
|
|
|
1692
1920
|
@property
|
|
1693
|
-
def
|
|
1694
|
-
|
|
1921
|
+
def file_name(self) -> str:
|
|
1922
|
+
"""Comes from form upload"""
|
|
1923
|
+
return self._file_name
|
|
1695
1924
|
|
|
1696
|
-
@
|
|
1697
|
-
def
|
|
1698
|
-
if
|
|
1699
|
-
del self.
|
|
1925
|
+
@file_name.setter
|
|
1926
|
+
def file_name(self, file_name: str):
|
|
1927
|
+
if file_name is None:
|
|
1928
|
+
del self.file_name
|
|
1700
1929
|
return
|
|
1701
|
-
if not isinstance(
|
|
1702
|
-
raise TypeError('
|
|
1703
|
-
self.
|
|
1930
|
+
if not isinstance(file_name, str):
|
|
1931
|
+
raise TypeError('file_name must be of type str')
|
|
1932
|
+
self._file_name = file_name
|
|
1933
|
+
|
|
1934
|
+
def endpoint(self):
|
|
1935
|
+
path = '/api/v1/competitions/submission-url'
|
|
1936
|
+
return path.format_map(self.to_field_map(self))
|
|
1937
|
+
|
|
1938
|
+
|
|
1939
|
+
@staticmethod
|
|
1940
|
+
def method():
|
|
1941
|
+
return 'POST'
|
|
1942
|
+
|
|
1943
|
+
|
|
1944
|
+
class ApiStartSubmissionUploadResponse(KaggleObject):
|
|
1945
|
+
r"""
|
|
1946
|
+
Currently identical to StartBlobUploadResponse, but keeping separate since
|
|
1947
|
+
they could change independently and this is a legacy V1 type.
|
|
1948
|
+
|
|
1949
|
+
Attributes:
|
|
1950
|
+
token (str)
|
|
1951
|
+
create_url (str)
|
|
1952
|
+
"""
|
|
1953
|
+
|
|
1954
|
+
def __init__(self):
|
|
1955
|
+
self._token = ""
|
|
1956
|
+
self._create_url = ""
|
|
1957
|
+
self._freeze()
|
|
1704
1958
|
|
|
1705
1959
|
@property
|
|
1706
|
-
def
|
|
1707
|
-
return self.
|
|
1960
|
+
def token(self) -> str:
|
|
1961
|
+
return self._token
|
|
1708
1962
|
|
|
1709
|
-
@
|
|
1710
|
-
def
|
|
1711
|
-
if
|
|
1712
|
-
del self.
|
|
1963
|
+
@token.setter
|
|
1964
|
+
def token(self, token: str):
|
|
1965
|
+
if token is None:
|
|
1966
|
+
del self.token
|
|
1713
1967
|
return
|
|
1714
|
-
if not isinstance(
|
|
1715
|
-
raise TypeError('
|
|
1716
|
-
self.
|
|
1968
|
+
if not isinstance(token, str):
|
|
1969
|
+
raise TypeError('token must be of type str')
|
|
1970
|
+
self._token = token
|
|
1717
1971
|
|
|
1718
1972
|
@property
|
|
1719
|
-
def
|
|
1720
|
-
return self.
|
|
1973
|
+
def create_url(self) -> str:
|
|
1974
|
+
return self._create_url
|
|
1721
1975
|
|
|
1722
|
-
@
|
|
1723
|
-
def
|
|
1724
|
-
if
|
|
1725
|
-
del self.
|
|
1976
|
+
@create_url.setter
|
|
1977
|
+
def create_url(self, create_url: str):
|
|
1978
|
+
if create_url is None:
|
|
1979
|
+
del self.create_url
|
|
1726
1980
|
return
|
|
1727
|
-
if not isinstance(
|
|
1728
|
-
raise TypeError('
|
|
1729
|
-
self.
|
|
1981
|
+
if not isinstance(create_url, str):
|
|
1982
|
+
raise TypeError('create_url must be of type str')
|
|
1983
|
+
self._create_url = create_url
|
|
1730
1984
|
|
|
1985
|
+
@property
|
|
1986
|
+
def createUrl(self):
|
|
1987
|
+
return self.create_url
|
|
1731
1988
|
|
|
1732
|
-
class ApiCategory(KaggleObject):
|
|
1733
|
-
r"""
|
|
1734
|
-
TODO(erdalsivri): Consider reusing with Kaggle.Sdk.Datasets.ApiCategory.
|
|
1735
1989
|
|
|
1990
|
+
class ApiSubmission(KaggleObject):
|
|
1991
|
+
r"""
|
|
1736
1992
|
Attributes:
|
|
1737
|
-
ref (
|
|
1738
|
-
|
|
1993
|
+
ref (int)
|
|
1994
|
+
total_bytes (int)
|
|
1995
|
+
date (datetime)
|
|
1739
1996
|
description (str)
|
|
1740
|
-
|
|
1741
|
-
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
|
|
1997
|
+
error_description (str)
|
|
1998
|
+
file_name (str)
|
|
1999
|
+
public_score (str)
|
|
2000
|
+
private_score (str)
|
|
2001
|
+
status (SubmissionStatus)
|
|
2002
|
+
submitted_by (str)
|
|
2003
|
+
submitted_by_ref (str)
|
|
2004
|
+
team_name (str)
|
|
2005
|
+
url (str)
|
|
2006
|
+
Minor note: ListSubmissions and GetSubmission may differ in setting this
|
|
2007
|
+
field.
|
|
1745
2008
|
"""
|
|
1746
2009
|
|
|
1747
2010
|
def __init__(self):
|
|
1748
|
-
self._ref =
|
|
1749
|
-
self.
|
|
2011
|
+
self._ref = 0
|
|
2012
|
+
self._total_bytes = None
|
|
2013
|
+
self._date = None
|
|
1750
2014
|
self._description = None
|
|
1751
|
-
self.
|
|
1752
|
-
self.
|
|
1753
|
-
self.
|
|
1754
|
-
self.
|
|
1755
|
-
self.
|
|
2015
|
+
self._error_description = None
|
|
2016
|
+
self._file_name = None
|
|
2017
|
+
self._public_score = None
|
|
2018
|
+
self._private_score = None
|
|
2019
|
+
self._status = SubmissionStatus.PENDING
|
|
2020
|
+
self._submitted_by = None
|
|
2021
|
+
self._submitted_by_ref = None
|
|
2022
|
+
self._team_name = None
|
|
2023
|
+
self._url = None
|
|
1756
2024
|
self._freeze()
|
|
1757
2025
|
|
|
1758
2026
|
@property
|
|
1759
|
-
def ref(self) ->
|
|
2027
|
+
def ref(self) -> int:
|
|
1760
2028
|
return self._ref
|
|
1761
2029
|
|
|
1762
2030
|
@ref.setter
|
|
1763
|
-
def ref(self, ref:
|
|
2031
|
+
def ref(self, ref: int):
|
|
1764
2032
|
if ref is None:
|
|
1765
2033
|
del self.ref
|
|
1766
2034
|
return
|
|
1767
|
-
if not isinstance(ref,
|
|
1768
|
-
raise TypeError('ref must be of type
|
|
2035
|
+
if not isinstance(ref, int):
|
|
2036
|
+
raise TypeError('ref must be of type int')
|
|
1769
2037
|
self._ref = ref
|
|
1770
2038
|
|
|
1771
2039
|
@property
|
|
1772
|
-
def
|
|
1773
|
-
return self.
|
|
2040
|
+
def total_bytes(self) -> int:
|
|
2041
|
+
return self._total_bytes or 0
|
|
1774
2042
|
|
|
1775
|
-
@
|
|
1776
|
-
def
|
|
1777
|
-
if
|
|
1778
|
-
del self.
|
|
2043
|
+
@total_bytes.setter
|
|
2044
|
+
def total_bytes(self, total_bytes: Optional[int]):
|
|
2045
|
+
if total_bytes is None:
|
|
2046
|
+
del self.total_bytes
|
|
1779
2047
|
return
|
|
1780
|
-
if not isinstance(
|
|
1781
|
-
raise TypeError('
|
|
1782
|
-
self.
|
|
2048
|
+
if not isinstance(total_bytes, int):
|
|
2049
|
+
raise TypeError('total_bytes must be of type int')
|
|
2050
|
+
self._total_bytes = total_bytes
|
|
2051
|
+
|
|
2052
|
+
@property
|
|
2053
|
+
def date(self) -> datetime:
|
|
2054
|
+
return self._date
|
|
2055
|
+
|
|
2056
|
+
@date.setter
|
|
2057
|
+
def date(self, date: datetime):
|
|
2058
|
+
if date is None:
|
|
2059
|
+
del self.date
|
|
2060
|
+
return
|
|
2061
|
+
if not isinstance(date, datetime):
|
|
2062
|
+
raise TypeError('date must be of type datetime')
|
|
2063
|
+
self._date = date
|
|
1783
2064
|
|
|
1784
2065
|
@property
|
|
1785
2066
|
def description(self) -> str:
|
|
1786
2067
|
return self._description or ""
|
|
1787
2068
|
|
|
1788
2069
|
@description.setter
|
|
1789
|
-
def description(self, description: str):
|
|
2070
|
+
def description(self, description: Optional[str]):
|
|
1790
2071
|
if description is None:
|
|
1791
2072
|
del self.description
|
|
1792
2073
|
return
|
|
@@ -1795,70 +2076,166 @@ class ApiCategory(KaggleObject):
|
|
|
1795
2076
|
self._description = description
|
|
1796
2077
|
|
|
1797
2078
|
@property
|
|
1798
|
-
def
|
|
1799
|
-
return self.
|
|
2079
|
+
def error_description(self) -> str:
|
|
2080
|
+
return self._error_description or ""
|
|
1800
2081
|
|
|
1801
|
-
@
|
|
1802
|
-
def
|
|
1803
|
-
if
|
|
1804
|
-
del self.
|
|
2082
|
+
@error_description.setter
|
|
2083
|
+
def error_description(self, error_description: Optional[str]):
|
|
2084
|
+
if error_description is None:
|
|
2085
|
+
del self.error_description
|
|
1805
2086
|
return
|
|
1806
|
-
if not isinstance(
|
|
1807
|
-
raise TypeError('
|
|
1808
|
-
self.
|
|
2087
|
+
if not isinstance(error_description, str):
|
|
2088
|
+
raise TypeError('error_description must be of type str')
|
|
2089
|
+
self._error_description = error_description
|
|
1809
2090
|
|
|
1810
2091
|
@property
|
|
1811
|
-
def
|
|
1812
|
-
return self.
|
|
2092
|
+
def file_name(self) -> str:
|
|
2093
|
+
return self._file_name or ""
|
|
1813
2094
|
|
|
1814
|
-
@
|
|
1815
|
-
def
|
|
1816
|
-
if
|
|
1817
|
-
del self.
|
|
2095
|
+
@file_name.setter
|
|
2096
|
+
def file_name(self, file_name: Optional[str]):
|
|
2097
|
+
if file_name is None:
|
|
2098
|
+
del self.file_name
|
|
1818
2099
|
return
|
|
1819
|
-
if not isinstance(
|
|
1820
|
-
raise TypeError('
|
|
1821
|
-
self.
|
|
2100
|
+
if not isinstance(file_name, str):
|
|
2101
|
+
raise TypeError('file_name must be of type str')
|
|
2102
|
+
self._file_name = file_name
|
|
1822
2103
|
|
|
1823
2104
|
@property
|
|
1824
|
-
def
|
|
1825
|
-
return self.
|
|
2105
|
+
def public_score(self) -> str:
|
|
2106
|
+
return self._public_score or ""
|
|
1826
2107
|
|
|
1827
|
-
@
|
|
1828
|
-
def
|
|
1829
|
-
if
|
|
1830
|
-
del self.
|
|
2108
|
+
@public_score.setter
|
|
2109
|
+
def public_score(self, public_score: Optional[str]):
|
|
2110
|
+
if public_score is None:
|
|
2111
|
+
del self.public_score
|
|
1831
2112
|
return
|
|
1832
|
-
if not isinstance(
|
|
1833
|
-
raise TypeError('
|
|
1834
|
-
self.
|
|
2113
|
+
if not isinstance(public_score, str):
|
|
2114
|
+
raise TypeError('public_score must be of type str')
|
|
2115
|
+
self._public_score = public_score
|
|
1835
2116
|
|
|
1836
2117
|
@property
|
|
1837
|
-
def
|
|
1838
|
-
return self.
|
|
2118
|
+
def private_score(self) -> str:
|
|
2119
|
+
return self._private_score or ""
|
|
1839
2120
|
|
|
1840
|
-
@
|
|
1841
|
-
def
|
|
1842
|
-
if
|
|
1843
|
-
del self.
|
|
2121
|
+
@private_score.setter
|
|
2122
|
+
def private_score(self, private_score: Optional[str]):
|
|
2123
|
+
if private_score is None:
|
|
2124
|
+
del self.private_score
|
|
1844
2125
|
return
|
|
1845
|
-
if not isinstance(
|
|
1846
|
-
raise TypeError('
|
|
1847
|
-
self.
|
|
2126
|
+
if not isinstance(private_score, str):
|
|
2127
|
+
raise TypeError('private_score must be of type str')
|
|
2128
|
+
self._private_score = private_score
|
|
1848
2129
|
|
|
1849
2130
|
@property
|
|
1850
|
-
def
|
|
1851
|
-
return self.
|
|
2131
|
+
def status(self) -> 'SubmissionStatus':
|
|
2132
|
+
return self._status
|
|
1852
2133
|
|
|
1853
|
-
@
|
|
1854
|
-
def
|
|
1855
|
-
if
|
|
1856
|
-
del self.
|
|
2134
|
+
@status.setter
|
|
2135
|
+
def status(self, status: 'SubmissionStatus'):
|
|
2136
|
+
if status is None:
|
|
2137
|
+
del self.status
|
|
1857
2138
|
return
|
|
1858
|
-
if not isinstance(
|
|
1859
|
-
raise TypeError('
|
|
1860
|
-
self.
|
|
2139
|
+
if not isinstance(status, SubmissionStatus):
|
|
2140
|
+
raise TypeError('status must be of type SubmissionStatus')
|
|
2141
|
+
self._status = status
|
|
2142
|
+
|
|
2143
|
+
@property
|
|
2144
|
+
def submitted_by(self) -> str:
|
|
2145
|
+
return self._submitted_by or ""
|
|
2146
|
+
|
|
2147
|
+
@submitted_by.setter
|
|
2148
|
+
def submitted_by(self, submitted_by: Optional[str]):
|
|
2149
|
+
if submitted_by is None:
|
|
2150
|
+
del self.submitted_by
|
|
2151
|
+
return
|
|
2152
|
+
if not isinstance(submitted_by, str):
|
|
2153
|
+
raise TypeError('submitted_by must be of type str')
|
|
2154
|
+
self._submitted_by = submitted_by
|
|
2155
|
+
|
|
2156
|
+
@property
|
|
2157
|
+
def submitted_by_ref(self) -> str:
|
|
2158
|
+
return self._submitted_by_ref or ""
|
|
2159
|
+
|
|
2160
|
+
@submitted_by_ref.setter
|
|
2161
|
+
def submitted_by_ref(self, submitted_by_ref: Optional[str]):
|
|
2162
|
+
if submitted_by_ref is None:
|
|
2163
|
+
del self.submitted_by_ref
|
|
2164
|
+
return
|
|
2165
|
+
if not isinstance(submitted_by_ref, str):
|
|
2166
|
+
raise TypeError('submitted_by_ref must be of type str')
|
|
2167
|
+
self._submitted_by_ref = submitted_by_ref
|
|
2168
|
+
|
|
2169
|
+
@property
|
|
2170
|
+
def team_name(self) -> str:
|
|
2171
|
+
return self._team_name or ""
|
|
2172
|
+
|
|
2173
|
+
@team_name.setter
|
|
2174
|
+
def team_name(self, team_name: Optional[str]):
|
|
2175
|
+
if team_name is None:
|
|
2176
|
+
del self.team_name
|
|
2177
|
+
return
|
|
2178
|
+
if not isinstance(team_name, str):
|
|
2179
|
+
raise TypeError('team_name must be of type str')
|
|
2180
|
+
self._team_name = team_name
|
|
2181
|
+
|
|
2182
|
+
@property
|
|
2183
|
+
def url(self) -> str:
|
|
2184
|
+
r"""
|
|
2185
|
+
Minor note: ListSubmissions and GetSubmission may differ in setting this
|
|
2186
|
+
field.
|
|
2187
|
+
"""
|
|
2188
|
+
return self._url or ""
|
|
2189
|
+
|
|
2190
|
+
@url.setter
|
|
2191
|
+
def url(self, url: Optional[str]):
|
|
2192
|
+
if url is None:
|
|
2193
|
+
del self.url
|
|
2194
|
+
return
|
|
2195
|
+
if not isinstance(url, str):
|
|
2196
|
+
raise TypeError('url must be of type str')
|
|
2197
|
+
self._url = url
|
|
2198
|
+
|
|
2199
|
+
|
|
2200
|
+
ApiCategory._fields = [
|
|
2201
|
+
FieldMetadata("ref", "ref", "_ref", str, "", PredefinedSerializer()),
|
|
2202
|
+
FieldMetadata("name", "name", "_name", str, None, PredefinedSerializer(), optional=True),
|
|
2203
|
+
FieldMetadata("description", "description", "_description", str, None, PredefinedSerializer(), optional=True),
|
|
2204
|
+
FieldMetadata("fullPath", "full_path", "_full_path", str, None, PredefinedSerializer(), optional=True),
|
|
2205
|
+
FieldMetadata("competitionCount", "competition_count", "_competition_count", int, 0, PredefinedSerializer()),
|
|
2206
|
+
FieldMetadata("datasetCount", "dataset_count", "_dataset_count", int, 0, PredefinedSerializer()),
|
|
2207
|
+
FieldMetadata("scriptCount", "script_count", "_script_count", int, 0, PredefinedSerializer()),
|
|
2208
|
+
FieldMetadata("totalCount", "total_count", "_total_count", int, 0, PredefinedSerializer()),
|
|
2209
|
+
]
|
|
1861
2210
|
|
|
2211
|
+
ApiCompetition._fields = [
|
|
2212
|
+
FieldMetadata("id", "id", "_id", int, 0, PredefinedSerializer()),
|
|
2213
|
+
FieldMetadata("ref", "ref", "_ref", str, "", PredefinedSerializer()),
|
|
2214
|
+
FieldMetadata("title", "title", "_title", str, None, PredefinedSerializer(), optional=True),
|
|
2215
|
+
FieldMetadata("url", "url", "_url", str, None, PredefinedSerializer(), optional=True),
|
|
2216
|
+
FieldMetadata("description", "description", "_description", str, None, PredefinedSerializer(), optional=True),
|
|
2217
|
+
FieldMetadata("organizationName", "organization_name", "_organization_name", str, None, PredefinedSerializer(), optional=True),
|
|
2218
|
+
FieldMetadata("organizationRef", "organization_ref", "_organization_ref", str, None, PredefinedSerializer(), optional=True),
|
|
2219
|
+
FieldMetadata("category", "category", "_category", str, None, PredefinedSerializer(), optional=True),
|
|
2220
|
+
FieldMetadata("reward", "reward", "_reward", str, None, PredefinedSerializer(), optional=True),
|
|
2221
|
+
FieldMetadata("tags", "tags", "_tags", ApiCategory, [], ListSerializer(KaggleObjectSerializer())),
|
|
2222
|
+
FieldMetadata("deadline", "deadline", "_deadline", datetime, None, DateTimeSerializer()),
|
|
2223
|
+
FieldMetadata("kernelCount", "kernel_count", "_kernel_count", int, 0, PredefinedSerializer()),
|
|
2224
|
+
FieldMetadata("teamCount", "team_count", "_team_count", int, 0, PredefinedSerializer()),
|
|
2225
|
+
FieldMetadata("userHasEntered", "user_has_entered", "_user_has_entered", bool, False, PredefinedSerializer()),
|
|
2226
|
+
FieldMetadata("userRank", "user_rank", "_user_rank", int, None, PredefinedSerializer(), optional=True),
|
|
2227
|
+
FieldMetadata("mergerDeadline", "merger_deadline", "_merger_deadline", datetime, None, DateTimeSerializer()),
|
|
2228
|
+
FieldMetadata("newEntrantDeadline", "new_entrant_deadline", "_new_entrant_deadline", datetime, None, DateTimeSerializer()),
|
|
2229
|
+
FieldMetadata("enabledDate", "enabled_date", "_enabled_date", datetime, None, DateTimeSerializer()),
|
|
2230
|
+
FieldMetadata("maxDailySubmissions", "max_daily_submissions", "_max_daily_submissions", int, 0, PredefinedSerializer()),
|
|
2231
|
+
FieldMetadata("maxTeamSize", "max_team_size", "_max_team_size", int, None, PredefinedSerializer(), optional=True),
|
|
2232
|
+
FieldMetadata("evaluationMetric", "evaluation_metric", "_evaluation_metric", str, None, PredefinedSerializer(), optional=True),
|
|
2233
|
+
FieldMetadata("awardsPoints", "awards_points", "_awards_points", bool, False, PredefinedSerializer()),
|
|
2234
|
+
FieldMetadata("isKernelsSubmissionsOnly", "is_kernels_submissions_only", "_is_kernels_submissions_only", bool, False, PredefinedSerializer()),
|
|
2235
|
+
FieldMetadata("submissionsDisabled", "submissions_disabled", "_submissions_disabled", bool, False, PredefinedSerializer()),
|
|
2236
|
+
FieldMetadata("thumbnailImageUrl", "thumbnail_image_url", "_thumbnail_image_url", str, None, PredefinedSerializer(), optional=True),
|
|
2237
|
+
FieldMetadata("hostName", "host_name", "_host_name", str, "", PredefinedSerializer()),
|
|
2238
|
+
]
|
|
1862
2239
|
|
|
1863
2240
|
ApiCreateCodeSubmissionRequest._fields = [
|
|
1864
2241
|
FieldMetadata("competitionName", "competition_name", "_competition_name", str, "", PredefinedSerializer()),
|
|
@@ -1885,6 +2262,15 @@ ApiCreateSubmissionResponse._fields = [
|
|
|
1885
2262
|
FieldMetadata("ref", "ref", "_ref", int, 0, PredefinedSerializer()),
|
|
1886
2263
|
]
|
|
1887
2264
|
|
|
2265
|
+
ApiDataFile._fields = [
|
|
2266
|
+
FieldMetadata("ref", "ref", "_ref", str, "", PredefinedSerializer()),
|
|
2267
|
+
FieldMetadata("name", "name", "_name", str, None, PredefinedSerializer(), optional=True),
|
|
2268
|
+
FieldMetadata("description", "description", "_description", str, None, PredefinedSerializer(), optional=True),
|
|
2269
|
+
FieldMetadata("totalBytes", "total_bytes", "_total_bytes", int, 0, PredefinedSerializer()),
|
|
2270
|
+
FieldMetadata("url", "url", "_url", str, None, PredefinedSerializer(), optional=True),
|
|
2271
|
+
FieldMetadata("creationDate", "creation_date", "_creation_date", datetime, None, DateTimeSerializer()),
|
|
2272
|
+
]
|
|
2273
|
+
|
|
1888
2274
|
ApiDownloadDataFileRequest._fields = [
|
|
1889
2275
|
FieldMetadata("competitionName", "competition_name", "_competition_name", str, "", PredefinedSerializer()),
|
|
1890
2276
|
FieldMetadata("fileName", "file_name", "_file_name", str, "", PredefinedSerializer()),
|
|
@@ -1898,13 +2284,24 @@ ApiDownloadLeaderboardRequest._fields = [
|
|
|
1898
2284
|
FieldMetadata("competitionName", "competition_name", "_competition_name", str, "", PredefinedSerializer()),
|
|
1899
2285
|
]
|
|
1900
2286
|
|
|
2287
|
+
ApiGetCompetitionDataFilesSummaryRequest._fields = [
|
|
2288
|
+
FieldMetadata("competitionName", "competition_name", "_competition_name", str, "", PredefinedSerializer()),
|
|
2289
|
+
]
|
|
2290
|
+
|
|
2291
|
+
ApiGetCompetitionRequest._fields = [
|
|
2292
|
+
FieldMetadata("competitionName", "competition_name", "_competition_name", str, "", PredefinedSerializer()),
|
|
2293
|
+
]
|
|
2294
|
+
|
|
1901
2295
|
ApiGetLeaderboardRequest._fields = [
|
|
1902
2296
|
FieldMetadata("competitionName", "competition_name", "_competition_name", str, "", PredefinedSerializer()),
|
|
1903
2297
|
FieldMetadata("overridePublic", "override_public", "_override_public", bool, None, PredefinedSerializer(), optional=True),
|
|
2298
|
+
FieldMetadata("pageSize", "page_size", "_page_size", int, None, PredefinedSerializer(), optional=True),
|
|
2299
|
+
FieldMetadata("pageToken", "page_token", "_page_token", str, None, PredefinedSerializer(), optional=True),
|
|
1904
2300
|
]
|
|
1905
2301
|
|
|
1906
2302
|
ApiGetLeaderboardResponse._fields = [
|
|
1907
2303
|
FieldMetadata("submissions", "submissions", "_submissions", ApiLeaderboardSubmission, [], ListSerializer(KaggleObjectSerializer())),
|
|
2304
|
+
FieldMetadata("nextPageToken", "next_page_token", "_next_page_token", str, "", PredefinedSerializer()),
|
|
1908
2305
|
]
|
|
1909
2306
|
|
|
1910
2307
|
ApiGetSubmissionRequest._fields = [
|
|
@@ -1924,10 +2321,13 @@ ApiListCompetitionsRequest._fields = [
|
|
|
1924
2321
|
FieldMetadata("sortBy", "sort_by", "_sort_by", CompetitionSortBy, None, EnumSerializer(), optional=True),
|
|
1925
2322
|
FieldMetadata("search", "search", "_search", str, None, PredefinedSerializer(), optional=True),
|
|
1926
2323
|
FieldMetadata("page", "page", "_page", int, None, PredefinedSerializer(), optional=True),
|
|
2324
|
+
FieldMetadata("pageToken", "page_token", "_page_token", str, None, PredefinedSerializer(), optional=True),
|
|
2325
|
+
FieldMetadata("pageSize", "page_size", "_page_size", int, None, PredefinedSerializer(), optional=True),
|
|
1927
2326
|
]
|
|
1928
2327
|
|
|
1929
2328
|
ApiListCompetitionsResponse._fields = [
|
|
1930
2329
|
FieldMetadata("competitions", "competitions", "_competitions", ApiCompetition, [], ListSerializer(KaggleObjectSerializer())),
|
|
2330
|
+
FieldMetadata("nextPageToken", "next_page_token", "_next_page_token", str, "", PredefinedSerializer()),
|
|
1931
2331
|
]
|
|
1932
2332
|
|
|
1933
2333
|
ApiListDataFilesRequest._fields = [
|
|
@@ -1939,6 +2339,14 @@ ApiListDataFilesRequest._fields = [
|
|
|
1939
2339
|
ApiListDataFilesResponse._fields = [
|
|
1940
2340
|
FieldMetadata("files", "files", "_files", ApiDataFile, [], ListSerializer(KaggleObjectSerializer())),
|
|
1941
2341
|
FieldMetadata("nextPageToken", "next_page_token", "_next_page_token", str, "", PredefinedSerializer()),
|
|
2342
|
+
FieldMetadata("childrenFetchTimeMs", "children_fetch_time_ms", "_children_fetch_time_ms", int, 0, PredefinedSerializer()),
|
|
2343
|
+
]
|
|
2344
|
+
|
|
2345
|
+
ApiListDataTreeFilesRequest._fields = [
|
|
2346
|
+
FieldMetadata("competitionName", "competition_name", "_competition_name", str, "", PredefinedSerializer()),
|
|
2347
|
+
FieldMetadata("path", "path", "_path", str, None, PredefinedSerializer(), optional=True),
|
|
2348
|
+
FieldMetadata("pageSize", "page_size", "_page_size", int, None, PredefinedSerializer(), optional=True),
|
|
2349
|
+
FieldMetadata("pageToken", "page_token", "_page_token", str, None, PredefinedSerializer(), optional=True),
|
|
1942
2350
|
]
|
|
1943
2351
|
|
|
1944
2352
|
ApiListSubmissionsRequest._fields = [
|
|
@@ -1946,10 +2354,13 @@ ApiListSubmissionsRequest._fields = [
|
|
|
1946
2354
|
FieldMetadata("sortBy", "sort_by", "_sort_by", SubmissionSortBy, SubmissionSortBy.SUBMISSION_SORT_BY_DATE, EnumSerializer()),
|
|
1947
2355
|
FieldMetadata("group", "group", "_group", SubmissionGroup, SubmissionGroup.SUBMISSION_GROUP_ALL, EnumSerializer()),
|
|
1948
2356
|
FieldMetadata("page", "page", "_page", int, None, PredefinedSerializer(), optional=True),
|
|
2357
|
+
FieldMetadata("pageToken", "page_token", "_page_token", str, None, PredefinedSerializer(), optional=True),
|
|
2358
|
+
FieldMetadata("pageSize", "page_size", "_page_size", int, None, PredefinedSerializer(), optional=True),
|
|
1949
2359
|
]
|
|
1950
2360
|
|
|
1951
2361
|
ApiListSubmissionsResponse._fields = [
|
|
1952
2362
|
FieldMetadata("submissions", "submissions", "_submissions", ApiSubmission, [], ListSerializer(KaggleObjectSerializer())),
|
|
2363
|
+
FieldMetadata("nextPageToken", "next_page_token", "_next_page_token", str, "", PredefinedSerializer()),
|
|
1953
2364
|
]
|
|
1954
2365
|
|
|
1955
2366
|
ApiStartSubmissionUploadRequest._fields = [
|
|
@@ -1980,50 +2391,3 @@ ApiSubmission._fields = [
|
|
|
1980
2391
|
FieldMetadata("url", "url", "_url", str, None, PredefinedSerializer(), optional=True),
|
|
1981
2392
|
]
|
|
1982
2393
|
|
|
1983
|
-
ApiCompetition._fields = [
|
|
1984
|
-
FieldMetadata("id", "id", "_id", int, 0, PredefinedSerializer()),
|
|
1985
|
-
FieldMetadata("ref", "ref", "_ref", str, "", PredefinedSerializer()),
|
|
1986
|
-
FieldMetadata("title", "title", "_title", str, None, PredefinedSerializer(), optional=True),
|
|
1987
|
-
FieldMetadata("url", "url", "_url", str, None, PredefinedSerializer(), optional=True),
|
|
1988
|
-
FieldMetadata("description", "description", "_description", str, None, PredefinedSerializer(), optional=True),
|
|
1989
|
-
FieldMetadata("organizationName", "organization_name", "_organization_name", str, None, PredefinedSerializer(), optional=True),
|
|
1990
|
-
FieldMetadata("organizationRef", "organization_ref", "_organization_ref", str, None, PredefinedSerializer(), optional=True),
|
|
1991
|
-
FieldMetadata("category", "category", "_category", str, None, PredefinedSerializer(), optional=True),
|
|
1992
|
-
FieldMetadata("reward", "reward", "_reward", str, None, PredefinedSerializer(), optional=True),
|
|
1993
|
-
FieldMetadata("tags", "tags", "_tags", ApiCategory, [], ListSerializer(KaggleObjectSerializer())),
|
|
1994
|
-
FieldMetadata("deadline", "deadline", "_deadline", datetime, None, DateTimeSerializer()),
|
|
1995
|
-
FieldMetadata("kernelCount", "kernel_count", "_kernel_count", int, 0, PredefinedSerializer()),
|
|
1996
|
-
FieldMetadata("teamCount", "team_count", "_team_count", int, 0, PredefinedSerializer()),
|
|
1997
|
-
FieldMetadata("userHasEntered", "user_has_entered", "_user_has_entered", bool, False, PredefinedSerializer()),
|
|
1998
|
-
FieldMetadata("userRank", "user_rank", "_user_rank", int, None, PredefinedSerializer(), optional=True),
|
|
1999
|
-
FieldMetadata("mergerDeadline", "merger_deadline", "_merger_deadline", datetime, None, DateTimeSerializer()),
|
|
2000
|
-
FieldMetadata("newEntrantDeadline", "new_entrant_deadline", "_new_entrant_deadline", datetime, None, DateTimeSerializer()),
|
|
2001
|
-
FieldMetadata("enabledDate", "enabled_date", "_enabled_date", datetime, None, DateTimeSerializer()),
|
|
2002
|
-
FieldMetadata("maxDailySubmissions", "max_daily_submissions", "_max_daily_submissions", int, 0, PredefinedSerializer()),
|
|
2003
|
-
FieldMetadata("maxTeamSize", "max_team_size", "_max_team_size", int, None, PredefinedSerializer(), optional=True),
|
|
2004
|
-
FieldMetadata("evaluationMetric", "evaluation_metric", "_evaluation_metric", str, None, PredefinedSerializer(), optional=True),
|
|
2005
|
-
FieldMetadata("awardsPoints", "awards_points", "_awards_points", bool, False, PredefinedSerializer()),
|
|
2006
|
-
FieldMetadata("isKernelsSubmissionsOnly", "is_kernels_submissions_only", "_is_kernels_submissions_only", bool, False, PredefinedSerializer()),
|
|
2007
|
-
FieldMetadata("submissionsDisabled", "submissions_disabled", "_submissions_disabled", bool, False, PredefinedSerializer()),
|
|
2008
|
-
]
|
|
2009
|
-
|
|
2010
|
-
ApiDataFile._fields = [
|
|
2011
|
-
FieldMetadata("ref", "ref", "_ref", str, "", PredefinedSerializer()),
|
|
2012
|
-
FieldMetadata("name", "name", "_name", str, None, PredefinedSerializer(), optional=True),
|
|
2013
|
-
FieldMetadata("description", "description", "_description", str, None, PredefinedSerializer(), optional=True),
|
|
2014
|
-
FieldMetadata("totalBytes", "total_bytes", "_total_bytes", int, 0, PredefinedSerializer()),
|
|
2015
|
-
FieldMetadata("url", "url", "_url", str, None, PredefinedSerializer(), optional=True),
|
|
2016
|
-
FieldMetadata("creationDate", "creation_date", "_creation_date", datetime, None, DateTimeSerializer()),
|
|
2017
|
-
]
|
|
2018
|
-
|
|
2019
|
-
ApiCategory._fields = [
|
|
2020
|
-
FieldMetadata("ref", "ref", "_ref", str, "", PredefinedSerializer()),
|
|
2021
|
-
FieldMetadata("name", "name", "_name", str, None, PredefinedSerializer(), optional=True),
|
|
2022
|
-
FieldMetadata("description", "description", "_description", str, None, PredefinedSerializer(), optional=True),
|
|
2023
|
-
FieldMetadata("fullPath", "full_path", "_full_path", str, None, PredefinedSerializer(), optional=True),
|
|
2024
|
-
FieldMetadata("competitionCount", "competition_count", "_competition_count", int, 0, PredefinedSerializer()),
|
|
2025
|
-
FieldMetadata("datasetCount", "dataset_count", "_dataset_count", int, 0, PredefinedSerializer()),
|
|
2026
|
-
FieldMetadata("scriptCount", "script_count", "_script_count", int, 0, PredefinedSerializer()),
|
|
2027
|
-
FieldMetadata("totalCount", "total_count", "_total_count", int, 0, PredefinedSerializer()),
|
|
2028
|
-
]
|
|
2029
|
-
|