kaggle 1.7.3b1__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.
Files changed (89) hide show
  1. kaggle/LICENSE +201 -0
  2. kaggle/__init__.py +6 -0
  3. kaggle/api/__init__.py +0 -0
  4. kaggle/api/kaggle_api.py +614 -0
  5. kaggle/api/kaggle_api_extended.py +4657 -0
  6. kaggle/cli.py +1606 -0
  7. kaggle/configuration.py +206 -0
  8. kaggle/models/__init__.py +0 -0
  9. kaggle/models/api_blob_type.py +4 -0
  10. kaggle/models/dataset_column.py +228 -0
  11. kaggle/models/dataset_new_request.py +385 -0
  12. kaggle/models/dataset_new_version_request.py +287 -0
  13. kaggle/models/dataset_update_settings_request.py +310 -0
  14. kaggle/models/kaggle_models_extended.py +276 -0
  15. kaggle/models/kernel_push_request.py +556 -0
  16. kaggle/models/model_instance_new_version_request.py +145 -0
  17. kaggle/models/model_instance_update_request.py +351 -0
  18. kaggle/models/model_new_instance_request.py +417 -0
  19. kaggle/models/model_new_request.py +314 -0
  20. kaggle/models/model_update_request.py +282 -0
  21. kaggle/models/start_blob_upload_request.py +232 -0
  22. kaggle/models/start_blob_upload_response.py +137 -0
  23. kaggle/models/upload_file.py +169 -0
  24. kaggle/test/__init__.py +0 -0
  25. kaggle/test/test_authenticate.py +43 -0
  26. kaggle-1.7.3b1.dist-info/METADATA +348 -0
  27. kaggle-1.7.3b1.dist-info/RECORD +89 -0
  28. kaggle-1.7.3b1.dist-info/WHEEL +4 -0
  29. kaggle-1.7.3b1.dist-info/entry_points.txt +2 -0
  30. kaggle-1.7.3b1.dist-info/licenses/LICENSE.txt +201 -0
  31. kagglesdk/LICENSE +201 -0
  32. kagglesdk/__init__.py +2 -0
  33. kagglesdk/admin/__init__.py +0 -0
  34. kagglesdk/admin/services/__init__.py +0 -0
  35. kagglesdk/admin/services/inbox_file_service.py +22 -0
  36. kagglesdk/admin/types/__init__.py +0 -0
  37. kagglesdk/admin/types/inbox_file_service.py +74 -0
  38. kagglesdk/blobs/__init__.py +0 -0
  39. kagglesdk/blobs/services/__init__.py +0 -0
  40. kagglesdk/blobs/services/blob_api_service.py +25 -0
  41. kagglesdk/blobs/types/__init__.py +0 -0
  42. kagglesdk/blobs/types/blob_api_service.py +177 -0
  43. kagglesdk/common/__init__.py +0 -0
  44. kagglesdk/common/types/__init__.py +0 -0
  45. kagglesdk/common/types/file_download.py +102 -0
  46. kagglesdk/common/types/http_redirect.py +105 -0
  47. kagglesdk/competitions/__init__.py +0 -0
  48. kagglesdk/competitions/services/__init__.py +0 -0
  49. kagglesdk/competitions/services/competition_api_service.py +129 -0
  50. kagglesdk/competitions/types/__init__.py +0 -0
  51. kagglesdk/competitions/types/competition_api_service.py +1874 -0
  52. kagglesdk/competitions/types/competition_enums.py +53 -0
  53. kagglesdk/competitions/types/submission_status.py +9 -0
  54. kagglesdk/datasets/__init__.py +0 -0
  55. kagglesdk/datasets/services/__init__.py +0 -0
  56. kagglesdk/datasets/services/dataset_api_service.py +170 -0
  57. kagglesdk/datasets/types/__init__.py +0 -0
  58. kagglesdk/datasets/types/dataset_api_service.py +2777 -0
  59. kagglesdk/datasets/types/dataset_enums.py +82 -0
  60. kagglesdk/datasets/types/dataset_types.py +646 -0
  61. kagglesdk/education/__init__.py +0 -0
  62. kagglesdk/education/services/__init__.py +0 -0
  63. kagglesdk/education/services/education_api_service.py +19 -0
  64. kagglesdk/education/types/__init__.py +0 -0
  65. kagglesdk/education/types/education_api_service.py +248 -0
  66. kagglesdk/education/types/education_service.py +139 -0
  67. kagglesdk/kaggle_client.py +66 -0
  68. kagglesdk/kaggle_env.py +42 -0
  69. kagglesdk/kaggle_http_client.py +316 -0
  70. kagglesdk/kaggle_object.py +293 -0
  71. kagglesdk/kernels/__init__.py +0 -0
  72. kagglesdk/kernels/services/__init__.py +0 -0
  73. kagglesdk/kernels/services/kernels_api_service.py +109 -0
  74. kagglesdk/kernels/types/__init__.py +0 -0
  75. kagglesdk/kernels/types/kernels_api_service.py +1951 -0
  76. kagglesdk/kernels/types/kernels_enums.py +33 -0
  77. kagglesdk/models/__init__.py +0 -0
  78. kagglesdk/models/services/__init__.py +0 -0
  79. kagglesdk/models/services/model_api_service.py +255 -0
  80. kagglesdk/models/services/model_service.py +19 -0
  81. kagglesdk/models/types/__init__.py +0 -0
  82. kagglesdk/models/types/model_api_service.py +3719 -0
  83. kagglesdk/models/types/model_enums.py +60 -0
  84. kagglesdk/models/types/model_service.py +275 -0
  85. kagglesdk/models/types/model_types.py +286 -0
  86. kagglesdk/test/test_client.py +45 -0
  87. kagglesdk/users/__init__.py +0 -0
  88. kagglesdk/users/types/__init__.py +0 -0
  89. kagglesdk/users/types/users_enums.py +22 -0
kaggle/cli.py ADDED
@@ -0,0 +1,1606 @@
1
+ #!/usr/bin/python
2
+ #
3
+ # Copyright 2019 Kaggle Inc
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # coding=utf-8
18
+ from __future__ import print_function
19
+
20
+ import argparse
21
+ import json
22
+
23
+ import six
24
+
25
+ from kaggle import KaggleApi
26
+ from kaggle import api
27
+ # from rest import ApiException
28
+ ApiException = IOError
29
+
30
+
31
+ def main():
32
+ parser = argparse.ArgumentParser(
33
+ formatter_class=argparse.RawTextHelpFormatter)
34
+
35
+ parser.add_argument(
36
+ '-v',
37
+ '--version',
38
+ action='version',
39
+ help='Print the Kaggle API version',
40
+ version='Kaggle API ' + KaggleApi.__version__)
41
+ parser.add_argument(
42
+ '-W',
43
+ '--no-warn',
44
+ dest='disable_version_warning',
45
+ action='store_true',
46
+ help='Disable out-of-date API version warning')
47
+
48
+ subparsers = parser.add_subparsers(
49
+ title='commands', help=Help.kaggle, dest='command')
50
+ subparsers.required = True
51
+ subparsers.choices = Help.kaggle_choices
52
+ parse_competitions(subparsers)
53
+ parse_datasets(subparsers)
54
+ parse_kernels(subparsers)
55
+ parse_models(subparsers)
56
+ parse_files(subparsers)
57
+ parse_config(subparsers)
58
+ args = parser.parse_args()
59
+ command_args = {}
60
+ command_args.update(vars(args))
61
+ del command_args['func']
62
+ del command_args['command']
63
+ if command_args['disable_version_warning']:
64
+ KaggleApi.already_printed_version_warning = True
65
+ del command_args['disable_version_warning']
66
+ error = False
67
+ try:
68
+ out = args.func(**command_args)
69
+ except ApiException as e:
70
+ print(e)
71
+ out = None
72
+ error = True
73
+ except ValueError as e:
74
+ print(e)
75
+ out = None
76
+ error = True
77
+ except KeyboardInterrupt:
78
+ print('User cancelled operation')
79
+ out = None
80
+ if out is not None:
81
+ print(out, end='')
82
+
83
+ # This is so that scripts that pick up on error codes can tell when there was a failure
84
+ if error:
85
+ exit(1)
86
+
87
+
88
+ def __parse_body(body):
89
+ try:
90
+ return json.loads(body)
91
+ except Exception as e:
92
+ return {}
93
+
94
+
95
+ def parse_competitions(subparsers):
96
+ if six.PY2:
97
+ parser_competitions = subparsers.add_parser(
98
+ 'competitions',
99
+ formatter_class=argparse.RawTextHelpFormatter,
100
+ help=Help.group_competitions)
101
+ else:
102
+ parser_competitions = subparsers.add_parser(
103
+ 'competitions',
104
+ formatter_class=argparse.RawTextHelpFormatter,
105
+ help=Help.group_competitions,
106
+ aliases=['c'])
107
+ subparsers_competitions = parser_competitions.add_subparsers(
108
+ title='commands', dest='command')
109
+ subparsers_competitions.required = True
110
+ subparsers_competitions.choices = Help.competitions_choices
111
+
112
+ # Competitions list
113
+ parser_competitions_list = subparsers_competitions.add_parser(
114
+ 'list',
115
+ formatter_class=argparse.RawTextHelpFormatter,
116
+ help=Help.command_competitions_list)
117
+ parser_competitions_list_optional = parser_competitions_list._action_groups.pop(
118
+ )
119
+ parser_competitions_list_optional.add_argument(
120
+ '--group',
121
+ dest='group',
122
+ required=False,
123
+ help=Help.param_competition_group)
124
+ parser_competitions_list_optional.add_argument(
125
+ '--category',
126
+ dest='category',
127
+ required=False,
128
+ help=Help.param_competition_category)
129
+ parser_competitions_list_optional.add_argument(
130
+ '--sort-by',
131
+ dest='sort_by',
132
+ required=False,
133
+ help=Help.param_competition_sort_by)
134
+ parser_competitions_list_optional.add_argument(
135
+ '-p',
136
+ '--page',
137
+ dest='page',
138
+ default=1,
139
+ required=False,
140
+ help=Help.param_page)
141
+ parser_competitions_list_optional.add_argument(
142
+ '-s', '--search', dest='search', required=False, help=Help.param_search)
143
+ parser_competitions_list_optional.add_argument(
144
+ '-v',
145
+ '--csv',
146
+ dest='csv_display',
147
+ action='store_true',
148
+ help=Help.param_csv)
149
+ parser_competitions_list._action_groups.append(
150
+ parser_competitions_list_optional)
151
+ parser_competitions_list.set_defaults(func=api.competitions_list_cli)
152
+
153
+ # Competitions list files
154
+ parser_competitions_files = subparsers_competitions.add_parser(
155
+ 'files',
156
+ formatter_class=argparse.RawTextHelpFormatter,
157
+ help=Help.command_competitions_files)
158
+ parser_competitions_files_optional = parser_competitions_files._action_groups.pop(
159
+ )
160
+ parser_competitions_files_optional.add_argument(
161
+ 'competition', nargs='?', default=None, help=Help.param_competition)
162
+ parser_competitions_files_optional.add_argument(
163
+ '-c',
164
+ '--competition',
165
+ dest='competition_opt',
166
+ required=False,
167
+ help=argparse.SUPPRESS)
168
+ parser_competitions_files_optional.add_argument(
169
+ '-v',
170
+ '--csv',
171
+ dest='csv_display',
172
+ action='store_true',
173
+ help=Help.param_csv)
174
+ parser_competitions_files_optional.add_argument(
175
+ '-q', '--quiet', dest='quiet', action='store_true', help=Help.param_quiet)
176
+ parser_competitions_files_optional.add_argument(
177
+ '--page-token',
178
+ dest='page_token',
179
+ required=False,
180
+ help=Help.param_page_token)
181
+ parser_competitions_files_optional.add_argument(
182
+ '--page-size',
183
+ dest='page_size',
184
+ required=False,
185
+ default=20,
186
+ help=Help.param_page_size)
187
+ parser_competitions_files._action_groups.append(
188
+ parser_competitions_files_optional)
189
+ parser_competitions_files.set_defaults(func=api.competition_list_files_cli)
190
+
191
+ # Competitions download
192
+ parser_competitions_download = subparsers_competitions.add_parser(
193
+ 'download',
194
+ formatter_class=argparse.RawTextHelpFormatter,
195
+ help=Help.command_competitions_download)
196
+ parser_competitions_download_optional = parser_competitions_download._action_groups.pop(
197
+ )
198
+ parser_competitions_download_optional.add_argument(
199
+ 'competition', nargs='?', default=None, help=Help.param_competition)
200
+ parser_competitions_download_optional.add_argument(
201
+ '-c',
202
+ '--competition',
203
+ dest='competition_opt',
204
+ required=False,
205
+ help=argparse.SUPPRESS)
206
+ parser_competitions_download_optional.add_argument(
207
+ '-f',
208
+ '--file',
209
+ dest='file_name',
210
+ required=False,
211
+ help=Help.param_competition_file)
212
+ parser_competitions_download_optional.add_argument(
213
+ '-p', '--path', dest='path', required=False, help=Help.param_downfolder)
214
+ parser_competitions_download_optional.add_argument(
215
+ '-w',
216
+ '--wp',
217
+ dest='path',
218
+ action='store_const',
219
+ const='.',
220
+ required=False,
221
+ help=Help.param_wp)
222
+ parser_competitions_download_optional.add_argument(
223
+ '-o', '--force', dest='force', action='store_true', help=Help.param_force)
224
+ parser_competitions_download_optional.add_argument(
225
+ '-q', '--quiet', dest='quiet', action='store_true', help=Help.param_quiet)
226
+ parser_competitions_download._action_groups.append(
227
+ parser_competitions_download_optional)
228
+ parser_competitions_download.set_defaults(func=api.competition_download_cli)
229
+
230
+ # Competitions submit
231
+ parser_competitions_submit = subparsers_competitions.add_parser(
232
+ 'submit',
233
+ formatter_class=argparse.RawTextHelpFormatter,
234
+ help=Help.command_competitions_submit)
235
+ parser_competitions_submit_optional = parser_competitions_submit._action_groups.pop(
236
+ )
237
+ parser_competitions_submit_required = parser_competitions_submit.add_argument_group(
238
+ 'required arguments')
239
+ parser_competitions_submit_optional.add_argument(
240
+ 'competition', nargs='?', default=None, help=Help.param_competition)
241
+ parser_competitions_submit_optional.add_argument(
242
+ '-c',
243
+ '--competition',
244
+ dest='competition_opt',
245
+ required=False,
246
+ help=argparse.SUPPRESS)
247
+ parser_competitions_submit_required.add_argument(
248
+ '-f', '--file', dest='file_name', required=True, help=Help.param_upfile)
249
+ parser_competitions_submit_required.add_argument(
250
+ '-m',
251
+ '--message',
252
+ dest='message',
253
+ required=True,
254
+ help=Help.param_competition_message)
255
+ parser_competitions_submit_optional.add_argument(
256
+ '-q', '--quiet', dest='quiet', action='store_true', help=Help.param_quiet)
257
+ parser_competitions_submit._action_groups.append(
258
+ parser_competitions_submit_optional)
259
+ parser_competitions_submit.set_defaults(func=api.competition_submit_cli)
260
+
261
+ # Competitions list submissions
262
+ parser_competitions_submissions = subparsers_competitions.add_parser(
263
+ 'submissions',
264
+ formatter_class=argparse.RawTextHelpFormatter,
265
+ help=Help.command_competitions_submissions)
266
+ parser_competitions_submissions_optional = parser_competitions_submissions._action_groups.pop(
267
+ )
268
+ parser_competitions_submissions_optional.add_argument(
269
+ 'competition', nargs='?', default=None, help=Help.param_competition)
270
+ parser_competitions_submissions_optional.add_argument(
271
+ '-c',
272
+ '--competition',
273
+ dest='competition_opt',
274
+ required=False,
275
+ help=argparse.SUPPRESS)
276
+ parser_competitions_submissions_optional.add_argument(
277
+ '-v',
278
+ '--csv',
279
+ dest='csv_display',
280
+ action='store_true',
281
+ help=Help.param_csv)
282
+ parser_competitions_submissions_optional.add_argument(
283
+ '-q', '--quiet', dest='quiet', action='store_true', help=Help.param_quiet)
284
+ parser_competitions_submissions._action_groups.append(
285
+ parser_competitions_submissions_optional)
286
+ parser_competitions_submissions.set_defaults(
287
+ func=api.competition_submissions_cli)
288
+
289
+ # Competitions leaderboard
290
+ parser_competitions_leaderboard = subparsers_competitions.add_parser(
291
+ 'leaderboard',
292
+ formatter_class=argparse.RawTextHelpFormatter,
293
+ help=Help.command_competitions_leaderboard)
294
+ parser_competitions_leaderboard_optional = parser_competitions_leaderboard._action_groups.pop(
295
+ )
296
+ parser_competitions_leaderboard_optional.add_argument(
297
+ 'competition', nargs='?', default=None, help=Help.param_competition)
298
+ parser_competitions_leaderboard_optional.add_argument(
299
+ '-c',
300
+ '--competition',
301
+ dest='competition_opt',
302
+ required=False,
303
+ help=argparse.SUPPRESS)
304
+ parser_competitions_leaderboard_optional.add_argument(
305
+ '-s',
306
+ '--show',
307
+ dest='view',
308
+ action='store_true',
309
+ help=Help.param_competition_leaderboard_view)
310
+ parser_competitions_leaderboard_optional.add_argument(
311
+ '-d',
312
+ '--download',
313
+ dest='download',
314
+ action='store_true',
315
+ help=Help.param_competition_leaderboard_download)
316
+ parser_competitions_leaderboard_optional.add_argument(
317
+ '-p', '--path', dest='path', help=Help.param_downfolder)
318
+ parser_competitions_leaderboard_optional.add_argument(
319
+ '-v',
320
+ '--csv',
321
+ dest='csv_display',
322
+ action='store_true',
323
+ help=Help.param_csv)
324
+ parser_competitions_leaderboard_optional.add_argument(
325
+ '-q', '--quiet', dest='quiet', action='store_true', help=Help.param_quiet)
326
+ parser_competitions_leaderboard._action_groups.append(
327
+ parser_competitions_leaderboard_optional)
328
+ parser_competitions_leaderboard.set_defaults(
329
+ func=api.competition_leaderboard_cli)
330
+
331
+
332
+ def parse_datasets(subparsers):
333
+ if six.PY2:
334
+ parser_datasets = subparsers.add_parser(
335
+ 'datasets',
336
+ formatter_class=argparse.RawTextHelpFormatter,
337
+ help=Help.group_datasets)
338
+ else:
339
+ parser_datasets = subparsers.add_parser(
340
+ 'datasets',
341
+ formatter_class=argparse.RawTextHelpFormatter,
342
+ help=Help.group_datasets,
343
+ aliases=['d'])
344
+ subparsers_datasets = parser_datasets.add_subparsers(
345
+ title='commands', dest='command')
346
+ subparsers_datasets.required = True
347
+ subparsers_datasets.choices = Help.datasets_choices
348
+
349
+ # Datasets list
350
+ parser_datasets_list = subparsers_datasets.add_parser(
351
+ 'list',
352
+ formatter_class=argparse.RawTextHelpFormatter,
353
+ help=Help.command_datasets_list)
354
+ parser_datasets_list_optional = parser_datasets_list._action_groups.pop()
355
+ parser_datasets_list.add_argument(
356
+ '--sort-by',
357
+ dest='sort_by',
358
+ required=False,
359
+ help=Help.param_dataset_sort_by)
360
+ parser_datasets_list.add_argument(
361
+ '--size', dest='size', required=False, help=Help.param_dataset_size)
362
+ parser_datasets_list.add_argument(
363
+ '--file-type',
364
+ dest='file_type',
365
+ required=False,
366
+ help=Help.param_dataset_file_type)
367
+ parser_datasets_list.add_argument(
368
+ '--license',
369
+ dest='license_name',
370
+ required=False,
371
+ help=Help.param_dataset_license)
372
+ parser_datasets_list.add_argument(
373
+ '--tags', dest='tag_ids', required=False, help=Help.param_dataset_tags)
374
+ parser_datasets_list.add_argument(
375
+ '-s', '--search', dest='search', required=False, help=Help.param_search)
376
+ parser_datasets_list.add_argument(
377
+ '-m', '--mine', dest='mine', action='store_true', help=Help.param_mine)
378
+ parser_datasets_list.add_argument(
379
+ '--user', dest='user', required=False, help=Help.param_dataset_user)
380
+ parser_datasets_list.add_argument(
381
+ '-p',
382
+ '--page',
383
+ dest='page',
384
+ default=1,
385
+ required=False,
386
+ help=Help.param_page)
387
+ parser_datasets_list.add_argument(
388
+ '-v',
389
+ '--csv',
390
+ dest='csv_display',
391
+ action='store_true',
392
+ help=Help.param_csv)
393
+ parser_datasets_list.add_argument(
394
+ '--max-size',
395
+ dest='max_size',
396
+ required=False,
397
+ help=Help.param_dataset_maxsize)
398
+ parser_datasets_list.add_argument(
399
+ '--min-size',
400
+ dest='min_size',
401
+ required=False,
402
+ help=Help.param_dataset_minsize)
403
+ parser_datasets_list._action_groups.append(parser_datasets_list_optional)
404
+ parser_datasets_list.set_defaults(func=api.dataset_list_cli)
405
+
406
+ # Datasets file list
407
+ parser_datasets_files = subparsers_datasets.add_parser(
408
+ 'files',
409
+ formatter_class=argparse.RawTextHelpFormatter,
410
+ help=Help.command_datasets_files)
411
+ parser_datasets_files_optional = parser_datasets_files._action_groups.pop()
412
+ parser_datasets_files_optional.add_argument(
413
+ 'dataset', nargs='?', default=None, help=Help.param_dataset)
414
+ parser_datasets_files_optional.add_argument(
415
+ '-d',
416
+ '--dataset',
417
+ dest='dataset_opt',
418
+ required=False,
419
+ help=argparse.SUPPRESS)
420
+ parser_datasets_files_optional.add_argument(
421
+ '-v',
422
+ '--csv',
423
+ dest='csv_display',
424
+ action='store_true',
425
+ help=Help.param_csv)
426
+ parser_datasets_files_optional.add_argument(
427
+ '--page-token',
428
+ dest='page_token',
429
+ required=False,
430
+ help=Help.param_page_token)
431
+ parser_datasets_files_optional.add_argument(
432
+ '--page-size',
433
+ dest='page_size',
434
+ required=False,
435
+ default=20,
436
+ help=Help.param_page_size)
437
+ parser_datasets_files._action_groups.append(parser_datasets_files_optional)
438
+ parser_datasets_files.set_defaults(func=api.dataset_list_files_cli)
439
+
440
+ # Datasets download
441
+ parser_datasets_download = subparsers_datasets.add_parser(
442
+ 'download',
443
+ formatter_class=argparse.RawTextHelpFormatter,
444
+ help=Help.command_datasets_download)
445
+ parser_datasets_download_optional = parser_datasets_download._action_groups.pop(
446
+ )
447
+ parser_datasets_download_optional.add_argument(
448
+ 'dataset', nargs='?', default=None, help=Help.param_dataset)
449
+ parser_datasets_download_optional.add_argument(
450
+ '-d',
451
+ '--dataset',
452
+ dest='dataset_opt',
453
+ required=False,
454
+ help=argparse.SUPPRESS)
455
+ parser_datasets_download_optional.add_argument(
456
+ '-f',
457
+ '--file',
458
+ dest='file_name',
459
+ required=False,
460
+ help=Help.param_dataset_file)
461
+ parser_datasets_download_optional.add_argument(
462
+ '-p', '--path', dest='path', required=False, help=Help.param_downfolder)
463
+ parser_datasets_download_optional.add_argument(
464
+ '-w',
465
+ '--wp',
466
+ dest='path',
467
+ action='store_const',
468
+ const='.',
469
+ required=False,
470
+ help=Help.param_wp)
471
+ parser_datasets_download_optional.add_argument(
472
+ '--unzip', dest='unzip', action='store_true', help=Help.param_unzip)
473
+ parser_datasets_download_optional.add_argument(
474
+ '-o', '--force', dest='force', action='store_true', help=Help.param_force)
475
+ parser_datasets_download_optional.add_argument(
476
+ '-q', '--quiet', dest='quiet', action='store_true', help=Help.param_quiet)
477
+ parser_datasets_download._action_groups.append(
478
+ parser_datasets_download_optional)
479
+ parser_datasets_download.set_defaults(func=api.dataset_download_cli)
480
+
481
+ # Datasets create
482
+ parser_datasets_create = subparsers_datasets.add_parser(
483
+ 'create',
484
+ formatter_class=argparse.RawTextHelpFormatter,
485
+ help=Help.command_datasets_new)
486
+ parser_datasets_create_optional = parser_datasets_create._action_groups.pop()
487
+ parser_datasets_create_optional.add_argument(
488
+ '-p',
489
+ '--path',
490
+ dest='folder',
491
+ required=False,
492
+ help=Help.param_dataset_upfile)
493
+ parser_datasets_create_optional.add_argument(
494
+ '-u',
495
+ '--public',
496
+ dest='public',
497
+ action='store_true',
498
+ help=Help.param_public)
499
+ parser_datasets_create_optional.add_argument(
500
+ '-q', '--quiet', dest='quiet', action='store_true', help=Help.param_quiet)
501
+ parser_datasets_create_optional.add_argument(
502
+ '-t',
503
+ '--keep-tabular',
504
+ dest='convert_to_csv',
505
+ action='store_false',
506
+ help=Help.param_keep_tabular)
507
+ parser_datasets_create_optional.add_argument(
508
+ '-r',
509
+ '--dir-mode',
510
+ dest='dir_mode',
511
+ choices=['skip', 'zip', 'tar'],
512
+ default='skip',
513
+ help=Help.param_dir_mode)
514
+ parser_datasets_create._action_groups.append(parser_datasets_create_optional)
515
+ parser_datasets_create.set_defaults(func=api.dataset_create_new_cli)
516
+
517
+ # Datasets update
518
+ parser_datasets_version = subparsers_datasets.add_parser(
519
+ 'version',
520
+ formatter_class=argparse.RawTextHelpFormatter,
521
+ help=Help.command_datasets_new_version)
522
+ parser_datasets_version_optional = parser_datasets_version._action_groups.pop(
523
+ )
524
+ parser_datasets_version_required = parser_datasets_version.add_argument_group(
525
+ 'required arguments')
526
+ parser_datasets_version_required.add_argument(
527
+ '-m',
528
+ '--message',
529
+ dest='version_notes',
530
+ required=True,
531
+ help=Help.param_dataset_version_notes)
532
+ parser_datasets_version_optional.add_argument(
533
+ '-p',
534
+ '--path',
535
+ dest='folder',
536
+ required=False,
537
+ help=Help.param_dataset_upfile)
538
+ parser_datasets_version_optional.add_argument(
539
+ '-q', '--quiet', dest='quiet', action='store_true', help=Help.param_quiet)
540
+ parser_datasets_version_optional.add_argument(
541
+ '-t',
542
+ '--keep-tabular',
543
+ dest='convert_to_csv',
544
+ action='store_false',
545
+ help=Help.param_keep_tabular)
546
+ parser_datasets_version_optional.add_argument(
547
+ '-r',
548
+ '--dir-mode',
549
+ dest='dir_mode',
550
+ choices=['skip', 'zip', 'tar'],
551
+ default='skip',
552
+ help=Help.param_dir_mode)
553
+ parser_datasets_version_optional.add_argument(
554
+ '-d',
555
+ '--delete-old-versions',
556
+ dest='delete_old_versions',
557
+ action='store_true',
558
+ help=Help.param_delete_old_version)
559
+ parser_datasets_version._action_groups.append(
560
+ parser_datasets_version_optional)
561
+ parser_datasets_version.set_defaults(func=api.dataset_create_version_cli)
562
+
563
+ # Datasets init
564
+ parser_datasets_init = subparsers_datasets.add_parser(
565
+ 'init',
566
+ formatter_class=argparse.RawTextHelpFormatter,
567
+ help=Help.command_datasets_init)
568
+ parser_datasets_init_optional = parser_datasets_init._action_groups.pop()
569
+ parser_datasets_init_optional.add_argument(
570
+ '-p',
571
+ '--path',
572
+ dest='folder',
573
+ required=False,
574
+ help=Help.param_dataset_upfile)
575
+ parser_datasets_init._action_groups.append(parser_datasets_init_optional)
576
+ parser_datasets_init.set_defaults(func=api.dataset_initialize_cli)
577
+
578
+ # Datasets metadata
579
+ parser_datasets_metadata = subparsers_datasets.add_parser(
580
+ 'metadata',
581
+ formatter_class=argparse.RawTextHelpFormatter,
582
+ help=Help.command_datasets_metadata)
583
+ parser_datasets_metadata_optional = parser_datasets_metadata._action_groups.pop(
584
+ )
585
+ parser_datasets_metadata_optional.add_argument(
586
+ 'dataset', nargs='?', default=None, help=Help.param_dataset)
587
+ parser_datasets_metadata_optional.add_argument(
588
+ '-d',
589
+ '--dataset',
590
+ dest='dataset_opt',
591
+ required=False,
592
+ help=argparse.SUPPRESS)
593
+ parser_datasets_metadata_optional.add_argument(
594
+ '--update',
595
+ dest='update',
596
+ action='store_true',
597
+ help=Help.param_dataset_metadata_update)
598
+ parser_datasets_metadata_optional.add_argument(
599
+ '-p', '--path', dest='path', help=Help.param_dataset_metadata_dir)
600
+ parser_datasets_metadata._action_groups.append(
601
+ parser_datasets_metadata_optional)
602
+ parser_datasets_metadata.set_defaults(func=api.dataset_metadata_cli)
603
+
604
+ # Datasets status
605
+ parser_datasets_status = subparsers_datasets.add_parser(
606
+ 'status',
607
+ formatter_class=argparse.RawTextHelpFormatter,
608
+ help=Help.command_datasets_status)
609
+ parser_datasets_status_optional = parser_datasets_status._action_groups.pop()
610
+ parser_datasets_status_optional.add_argument(
611
+ 'dataset', nargs='?', default=None, help=Help.param_dataset)
612
+ parser_datasets_status_optional.add_argument(
613
+ '-d',
614
+ '--dataset',
615
+ dest='dataset_opt',
616
+ required=False,
617
+ help=argparse.SUPPRESS)
618
+ parser_datasets_status._action_groups.append(parser_datasets_status_optional)
619
+ parser_datasets_status.set_defaults(func=api.dataset_status_cli)
620
+
621
+
622
+ def parse_kernels(subparsers):
623
+ if six.PY2:
624
+ parser_kernels = subparsers.add_parser(
625
+ 'kernels',
626
+ formatter_class=argparse.RawTextHelpFormatter,
627
+ help=Help.group_kernels)
628
+ else:
629
+ parser_kernels = subparsers.add_parser(
630
+ 'kernels',
631
+ formatter_class=argparse.RawTextHelpFormatter,
632
+ help=Help.group_kernels,
633
+ aliases=['k'])
634
+ subparsers_kernels = parser_kernels.add_subparsers(
635
+ title='commands', dest='command')
636
+ subparsers_kernels.required = True
637
+ subparsers_kernels.choices = Help.kernels_choices
638
+
639
+ # Kernels list/search
640
+ parser_kernels_list = subparsers_kernels.add_parser(
641
+ 'list',
642
+ formatter_class=argparse.RawTextHelpFormatter,
643
+ help=Help.command_kernels_list)
644
+ parser_kernels_list_optional = parser_kernels_list._action_groups.pop()
645
+ parser_kernels_list_optional.add_argument(
646
+ '-m', '--mine', dest='mine', action='store_true', help=Help.param_mine)
647
+ parser_kernels_list_optional.add_argument(
648
+ '-p', '--page', dest='page', default=1, help=Help.param_page)
649
+ parser_kernels_list_optional.add_argument(
650
+ '--page-size', dest='page_size', default=20, help=Help.param_page_size)
651
+ parser_kernels_list_optional.add_argument(
652
+ '-s', '--search', dest='search', help=Help.param_search)
653
+ parser_kernels_list_optional.add_argument(
654
+ '-v',
655
+ '--csv',
656
+ dest='csv_display',
657
+ action='store_true',
658
+ help=Help.param_csv)
659
+ parser_kernels_list_optional.add_argument(
660
+ '--parent', dest='parent', required=False, help=Help.param_kernel_parent)
661
+ parser_kernels_list_optional.add_argument(
662
+ '--competition',
663
+ dest='competition',
664
+ required=False,
665
+ help=Help.param_kernel_competition)
666
+ parser_kernels_list_optional.add_argument(
667
+ '--dataset',
668
+ dest='dataset',
669
+ required=False,
670
+ help=Help.param_kernel_dataset)
671
+ parser_kernels_list_optional.add_argument(
672
+ '--user', dest='user', required=False, help=Help.param_kernel_user)
673
+ parser_kernels_list_optional.add_argument(
674
+ '--language',
675
+ dest='language',
676
+ required=False,
677
+ help=Help.param_kernel_language)
678
+ parser_kernels_list_optional.add_argument(
679
+ '--kernel-type',
680
+ dest='kernel_type',
681
+ required=False,
682
+ help=Help.param_kernel_type)
683
+ parser_kernels_list_optional.add_argument(
684
+ '--output-type',
685
+ dest='output_type',
686
+ required=False,
687
+ help=Help.param_kernel_output_type)
688
+ parser_kernels_list_optional.add_argument(
689
+ '--sort-by',
690
+ dest='sort_by',
691
+ required=False,
692
+ help=Help.param_kernel_sort_by)
693
+ parser_kernels_list._action_groups.append(parser_kernels_list_optional)
694
+ parser_kernels_list.set_defaults(func=api.kernels_list_cli)
695
+
696
+ # Kernels file list
697
+ parser_kernels_files = subparsers_kernels.add_parser(
698
+ 'files',
699
+ formatter_class=argparse.RawTextHelpFormatter,
700
+ help=Help.command_kernels_files)
701
+ parser_kernels_files_optional = parser_kernels_files._action_groups.pop()
702
+ parser_kernels_files_optional.add_argument(
703
+ 'kernel', nargs='?', default=None, help=Help.param_kernel)
704
+ parser_kernels_files_optional.add_argument(
705
+ '-k',
706
+ '--kernel',
707
+ dest='kernel_opt',
708
+ required=False,
709
+ help=argparse.SUPPRESS)
710
+ parser_kernels_files_optional.add_argument(
711
+ '-v',
712
+ '--csv',
713
+ dest='csv_display',
714
+ action='store_true',
715
+ help=Help.param_csv)
716
+ parser_kernels_files_optional.add_argument(
717
+ '--page-token', dest='page_token', help=Help.param_page_token)
718
+ parser_kernels_files_optional.add_argument(
719
+ '--page-size', dest='page_size', default=20, help=Help.param_page_size)
720
+ parser_kernels_files._action_groups.append(parser_kernels_files_optional)
721
+ parser_kernels_files.set_defaults(func=api.kernels_list_files_cli)
722
+
723
+ # Kernels init
724
+ parser_kernels_init = subparsers_kernels.add_parser(
725
+ 'init',
726
+ formatter_class=argparse.RawTextHelpFormatter,
727
+ help=Help.command_kernels_init)
728
+ parser_kernels_init_optional = parser_kernels_init._action_groups.pop()
729
+ parser_kernels_init_optional.add_argument(
730
+ '-p',
731
+ '--path',
732
+ dest='folder',
733
+ required=False,
734
+ help=Help.param_kernel_upfile)
735
+ parser_kernels_init._action_groups.append(parser_kernels_init_optional)
736
+ parser_kernels_init.set_defaults(func=api.kernels_initialize_cli)
737
+
738
+ # Kernels push
739
+ parser_kernels_push = subparsers_kernels.add_parser(
740
+ 'push',
741
+ formatter_class=argparse.RawTextHelpFormatter,
742
+ help=Help.command_kernels_push)
743
+ parser_kernels_push_optional = parser_kernels_push._action_groups.pop()
744
+ parser_kernels_push_optional.add_argument(
745
+ '-p',
746
+ '--path',
747
+ dest='folder',
748
+ required=False,
749
+ help=Help.param_kernel_upfile)
750
+ parser_kernels_push_optional.add_argument(
751
+ '-t',
752
+ '--timeout',
753
+ dest='timeout')
754
+ parser_kernels_push._action_groups.append(parser_kernels_push_optional)
755
+ parser_kernels_push.set_defaults(func=api.kernels_push_cli)
756
+
757
+ # Kernels pull
758
+ parser_kernels_pull = subparsers_kernels.add_parser(
759
+ 'pull',
760
+ formatter_class=argparse.RawTextHelpFormatter,
761
+ help=Help.command_kernels_pull)
762
+ parser_kernels_pull_optional = parser_kernels_pull._action_groups.pop()
763
+ parser_kernels_pull_optional.add_argument(
764
+ 'kernel', nargs='?', default=None, help=Help.param_kernel)
765
+ parser_kernels_pull_optional.add_argument(
766
+ '-k', '--kernel', dest='kernel', required=False, help=argparse.SUPPRESS)
767
+ parser_kernels_pull_optional.add_argument(
768
+ '-p', '--path', dest='path', required=False, help=Help.param_downfolder)
769
+ parser_kernels_pull_optional.add_argument(
770
+ '-w',
771
+ '--wp',
772
+ dest='path',
773
+ action='store_const',
774
+ const='.',
775
+ required=False,
776
+ help=Help.param_wp)
777
+ parser_kernels_pull_optional.add_argument(
778
+ '-m',
779
+ '--metadata',
780
+ dest='metadata',
781
+ action='store_true',
782
+ help=Help.param_kernel_pull_metadata)
783
+ parser_kernels_pull._action_groups.append(parser_kernels_pull_optional)
784
+ parser_kernels_pull.set_defaults(func=api.kernels_pull_cli)
785
+
786
+ # Kernels output
787
+ parser_kernels_output = subparsers_kernels.add_parser(
788
+ 'output',
789
+ formatter_class=argparse.RawTextHelpFormatter,
790
+ help=Help.command_kernels_output)
791
+ parser_kernels_output_optional = parser_kernels_output._action_groups.pop()
792
+ parser_kernels_output_optional.add_argument(
793
+ 'kernel', nargs='?', default=None, help=Help.param_kernel)
794
+ parser_kernels_output_optional.add_argument(
795
+ '-k',
796
+ '--kernel',
797
+ dest='kernel_opt',
798
+ required=False,
799
+ help=argparse.SUPPRESS)
800
+ parser_kernels_output_optional.add_argument(
801
+ '-p', '--path', dest='path', required=False, help=Help.param_downfolder)
802
+ parser_kernels_output_optional.add_argument(
803
+ '-w',
804
+ '--wp',
805
+ dest='path',
806
+ action='store_const',
807
+ const='.',
808
+ required=False,
809
+ help=Help.param_wp)
810
+ parser_kernels_output_optional.add_argument(
811
+ '-o',
812
+ '--force',
813
+ dest='force',
814
+ action='store_true',
815
+ required=False,
816
+ help=Help.param_force)
817
+ parser_kernels_output_optional.add_argument(
818
+ '-q',
819
+ '--quiet',
820
+ dest='quiet',
821
+ action='store_true',
822
+ required=False,
823
+ help=Help.param_quiet)
824
+ parser_kernels_output._action_groups.append(parser_kernels_output_optional)
825
+ parser_kernels_output.set_defaults(func=api.kernels_output_cli)
826
+
827
+ # Kernels status
828
+ parser_kernels_status = subparsers_kernels.add_parser(
829
+ 'status',
830
+ formatter_class=argparse.RawTextHelpFormatter,
831
+ help=Help.command_kernels_status)
832
+ parser_kernels_status_optional = parser_kernels_status._action_groups.pop()
833
+ parser_kernels_status_optional.add_argument(
834
+ 'kernel', nargs='?', default=None, help=Help.param_kernel)
835
+ parser_kernels_status_optional.add_argument(
836
+ '-k',
837
+ '--kernel',
838
+ dest='kernel_opt',
839
+ required=False,
840
+ help=argparse.SUPPRESS)
841
+ parser_kernels_status._action_groups.append(parser_kernels_status_optional)
842
+ parser_kernels_status.set_defaults(func=api.kernels_status_cli)
843
+
844
+
845
+ def parse_models(subparsers):
846
+ parser_models = subparsers.add_parser(
847
+ 'models',
848
+ formatter_class=argparse.RawTextHelpFormatter,
849
+ help=Help.group_models,
850
+ aliases=['m'])
851
+
852
+ subparsers_models = parser_models.add_subparsers(
853
+ title='commands', dest='command')
854
+ subparsers_models.required = True
855
+ subparsers_models.choices = Help.models_choices
856
+
857
+ # Models Instances.
858
+ parse_model_instances(subparsers_models)
859
+
860
+ # Models get
861
+ parser_models_get = subparsers_models.add_parser(
862
+ 'get',
863
+ formatter_class=argparse.RawTextHelpFormatter,
864
+ help=Help.command_models_get)
865
+ parser_models_get_optional = parser_models_get._action_groups.pop()
866
+ parser_models_get_optional.add_argument('model', help=Help.param_model)
867
+ parser_models_get_optional.add_argument(
868
+ '-p',
869
+ '--path',
870
+ dest='folder',
871
+ required=False,
872
+ help=Help.param_model_downfile)
873
+ parser_models_get._action_groups.append(parser_models_get_optional)
874
+ parser_models_get.set_defaults(func=api.model_get_cli)
875
+
876
+ # Models list
877
+ parser_models_list = subparsers_models.add_parser(
878
+ 'list',
879
+ formatter_class=argparse.RawTextHelpFormatter,
880
+ help=Help.command_models_list)
881
+ parser_models_list_optional = parser_models_list._action_groups.pop()
882
+ parser_models_list.add_argument(
883
+ '--sort-by',
884
+ dest='sort_by',
885
+ required=False,
886
+ help=Help.param_model_sort_by)
887
+ parser_models_list.add_argument(
888
+ '-s', '--search', dest='search', required=False, help=Help.param_search)
889
+ parser_models_list.add_argument(
890
+ '--owner', dest='owner', required=False, help=Help.param_model_owner)
891
+ parser_models_list.add_argument(
892
+ '--page-size', dest='page_size', default=20, help=Help.param_page_size)
893
+ parser_models_list.add_argument(
894
+ '--page-token',
895
+ dest='page_token',
896
+ required=False,
897
+ help=Help.param_page_token)
898
+ parser_models_list.add_argument(
899
+ '-v',
900
+ '--csv',
901
+ dest='csv_display',
902
+ action='store_true',
903
+ help=Help.param_csv)
904
+ parser_models_list._action_groups.append(parser_models_list_optional)
905
+ parser_models_list.set_defaults(func=api.model_list_cli)
906
+
907
+ # Models init
908
+ parser_models_init = subparsers_models.add_parser(
909
+ 'init',
910
+ formatter_class=argparse.RawTextHelpFormatter,
911
+ help=Help.command_models_init)
912
+ parser_models_init_optional = parser_models_init._action_groups.pop()
913
+ parser_models_init_optional.add_argument(
914
+ '-p',
915
+ '--path',
916
+ dest='folder',
917
+ required=False,
918
+ help=Help.param_model_upfile)
919
+ parser_models_init._action_groups.append(parser_models_init_optional)
920
+ parser_models_init.set_defaults(func=api.model_initialize_cli)
921
+
922
+ # Models create
923
+ parser_models_create = subparsers_models.add_parser(
924
+ 'create',
925
+ formatter_class=argparse.RawTextHelpFormatter,
926
+ help=Help.command_models_new)
927
+ parser_models_create_optional = parser_models_create._action_groups.pop()
928
+ parser_models_create_optional.add_argument(
929
+ '-p',
930
+ '--path',
931
+ dest='folder',
932
+ required=False,
933
+ help=Help.param_model_upfile)
934
+ parser_models_create._action_groups.append(parser_models_create_optional)
935
+ parser_models_create.set_defaults(func=api.model_create_new_cli)
936
+
937
+ # Models delete
938
+ parser_models_delete = subparsers_models.add_parser(
939
+ 'delete',
940
+ formatter_class=argparse.RawTextHelpFormatter,
941
+ help=Help.command_models_delete)
942
+ parser_models_delete_optional = parser_models_delete._action_groups.pop()
943
+ parser_models_delete_optional.add_argument('model', help=Help.param_model)
944
+ parser_models_delete_optional.add_argument(
945
+ '-y', '--yes', dest='yes', action='store_true', help=Help.param_yes)
946
+ parser_models_delete._action_groups.append(parser_models_delete_optional)
947
+ parser_models_delete.set_defaults(func=api.model_delete_cli)
948
+
949
+ # Models update
950
+ parser_models_update = subparsers_models.add_parser(
951
+ 'update',
952
+ formatter_class=argparse.RawTextHelpFormatter,
953
+ help=Help.command_models_update)
954
+ parser_models_update_optional = parser_models_update._action_groups.pop()
955
+ parser_models_update_optional.add_argument(
956
+ '-p',
957
+ '--path',
958
+ dest='folder',
959
+ required=False,
960
+ help=Help.param_model_upfile)
961
+ parser_models_update._action_groups.append(parser_models_update_optional)
962
+ parser_models_update.set_defaults(func=api.model_update_cli)
963
+
964
+
965
+ def parse_model_instances(subparsers):
966
+ parser_model_instances = subparsers.add_parser(
967
+ 'instances',
968
+ formatter_class=argparse.RawTextHelpFormatter,
969
+ help=Help.group_model_instances,
970
+ aliases=['mi'])
971
+
972
+ subparsers_model_instances = parser_model_instances.add_subparsers(
973
+ title='commands', dest='command')
974
+ subparsers_model_instances.required = True
975
+ subparsers_model_instances.choices = Help.model_instances_choices
976
+
977
+ # Models Instances Versions.
978
+ parse_model_instance_versions(subparsers_model_instances)
979
+
980
+ # Models Instances get
981
+ parser_model_instance_get = subparsers_model_instances.add_parser(
982
+ 'get',
983
+ formatter_class=argparse.RawTextHelpFormatter,
984
+ help=Help.command_model_instances_get)
985
+ parser_model_instance_get_optional = parser_model_instance_get._action_groups.pop(
986
+ )
987
+ parser_model_instance_get_optional.add_argument(
988
+ 'model_instance', help=Help.param_model_instance)
989
+ parser_model_instance_get_optional.add_argument(
990
+ '-p',
991
+ '--path',
992
+ dest='folder',
993
+ required=False,
994
+ help=Help.param_model_instance_downfile)
995
+ parser_model_instance_get._action_groups.append(
996
+ parser_model_instance_get_optional)
997
+ parser_model_instance_get.set_defaults(func=api.model_instance_get_cli)
998
+
999
+ # Model Instances init
1000
+ parser_model_instances_init = subparsers_model_instances.add_parser(
1001
+ 'init',
1002
+ formatter_class=argparse.RawTextHelpFormatter,
1003
+ help=Help.command_model_instances_init)
1004
+ parser_model_instances_init_optional = parser_model_instances_init._action_groups.pop(
1005
+ )
1006
+ parser_model_instances_init_optional.add_argument(
1007
+ '-p',
1008
+ '--path',
1009
+ dest='folder',
1010
+ required=False,
1011
+ help=Help.param_model_instance_upfile)
1012
+ parser_model_instances_init._action_groups.append(
1013
+ parser_model_instances_init_optional)
1014
+ parser_model_instances_init.set_defaults(
1015
+ func=api.model_instance_initialize_cli)
1016
+
1017
+ # Model Instances create
1018
+ parser_model_instances_create = subparsers_model_instances.add_parser(
1019
+ 'create',
1020
+ formatter_class=argparse.RawTextHelpFormatter,
1021
+ help=Help.command_model_instances_new)
1022
+ parser_model_instances_create_optional = parser_model_instances_create._action_groups.pop(
1023
+ )
1024
+ parser_model_instances_create_optional.add_argument(
1025
+ '-p',
1026
+ '--path',
1027
+ dest='folder',
1028
+ required=False,
1029
+ help=Help.param_model_instance_upfile)
1030
+ parser_model_instances_create_optional.add_argument(
1031
+ '-q', '--quiet', dest='quiet', action='store_true', help=Help.param_quiet)
1032
+ parser_model_instances_create_optional.add_argument(
1033
+ '-r',
1034
+ '--dir-mode',
1035
+ dest='dir_mode',
1036
+ choices=['skip', 'zip', 'tar'],
1037
+ default='skip',
1038
+ help=Help.param_dir_mode)
1039
+ parser_model_instances_create._action_groups.append(
1040
+ parser_model_instances_create_optional)
1041
+ parser_model_instances_create.set_defaults(func=api.model_instance_create_cli)
1042
+
1043
+ # Model Instances files
1044
+ parser_model_instances_files = subparsers_model_instances.add_parser(
1045
+ 'files',
1046
+ formatter_class=argparse.RawTextHelpFormatter,
1047
+ help=Help.command_model_instances_files)
1048
+ parser_model_instances_files_optional = parser_model_instances_files._action_groups.pop(
1049
+ )
1050
+ parser_model_instances_files_optional.add_argument(
1051
+ 'model_instance', help=Help.param_model_instance)
1052
+ parser_model_instances_files_optional.add_argument(
1053
+ '-v',
1054
+ '--csv',
1055
+ dest='csv_display',
1056
+ action='store_true',
1057
+ help=Help.param_csv)
1058
+ parser_model_instances_files_optional.add_argument(
1059
+ '--page-size', dest='page_size', default=20, help=Help.param_page_size)
1060
+ parser_model_instances_files_optional.add_argument(
1061
+ '--page-token',
1062
+ dest='page_token',
1063
+ required=False,
1064
+ help=Help.param_page_token)
1065
+ parser_model_instances_files._action_groups.append(
1066
+ parser_model_instances_files_optional)
1067
+ parser_model_instances_files.set_defaults(func=api.model_instance_files_cli)
1068
+
1069
+ # Models Instances delete
1070
+ parser_model_instances_delete = subparsers_model_instances.add_parser(
1071
+ 'delete',
1072
+ formatter_class=argparse.RawTextHelpFormatter,
1073
+ help=Help.command_model_instances_delete)
1074
+ parser_model_instances_delete_optional = parser_model_instances_delete._action_groups.pop(
1075
+ )
1076
+ parser_model_instances_delete_optional.add_argument(
1077
+ 'model_instance', help=Help.param_model_instance)
1078
+ parser_model_instances_delete_optional.add_argument(
1079
+ '-y', '--yes', dest='yes', action='store_true', help=Help.param_yes)
1080
+ parser_model_instances_delete._action_groups.append(
1081
+ parser_model_instances_delete_optional)
1082
+ parser_model_instances_delete.set_defaults(func=api.model_instance_delete_cli)
1083
+
1084
+ # Models Instances update
1085
+ parser_model_instances_update = subparsers_model_instances.add_parser(
1086
+ 'update',
1087
+ formatter_class=argparse.RawTextHelpFormatter,
1088
+ help=Help.command_model_instances_update)
1089
+ parser_model_instances_update_optional = parser_model_instances_update._action_groups.pop(
1090
+ )
1091
+ parser_model_instances_update_optional.add_argument(
1092
+ '-p',
1093
+ '--path',
1094
+ dest='folder',
1095
+ required=False,
1096
+ help=Help.param_model_instance_upfile)
1097
+ parser_model_instances_update._action_groups.append(
1098
+ parser_model_instances_update_optional)
1099
+ parser_model_instances_update.set_defaults(func=api.model_instance_update_cli)
1100
+
1101
+
1102
+ def parse_model_instance_versions(subparsers):
1103
+ parser_model_instance_versions = subparsers.add_parser(
1104
+ 'versions',
1105
+ formatter_class=argparse.RawTextHelpFormatter,
1106
+ help=Help.group_model_instance_versions,
1107
+ aliases=['miv'])
1108
+
1109
+ subparsers_model_intance_versions = parser_model_instance_versions.add_subparsers(
1110
+ title='commands', dest='command')
1111
+ subparsers_model_intance_versions.required = True
1112
+ subparsers_model_intance_versions.choices = Help.model_instance_versions_choices
1113
+
1114
+ # Model Instance Versions create
1115
+ parser_model_instance_versions_create = subparsers_model_intance_versions.add_parser(
1116
+ 'create',
1117
+ formatter_class=argparse.RawTextHelpFormatter,
1118
+ help=Help.command_model_instance_versions_new)
1119
+ parser_model_instance_versions_create_optional = parser_model_instance_versions_create._action_groups.pop(
1120
+ )
1121
+ parser_model_instance_versions_create_optional.add_argument(
1122
+ 'model_instance', help=Help.param_model_instance)
1123
+ parser_model_instance_versions_create_optional.add_argument(
1124
+ '-p',
1125
+ '--path',
1126
+ dest='folder',
1127
+ required=False,
1128
+ help=Help.param_model_instance_version_upfile)
1129
+ parser_model_instance_versions_create_optional.add_argument(
1130
+ '-n',
1131
+ '--version-notes',
1132
+ dest='version_notes',
1133
+ required=False,
1134
+ help=Help.param_model_instance_version_notes)
1135
+ parser_model_instance_versions_create_optional.add_argument(
1136
+ '-q', '--quiet', dest='quiet', action='store_true', help=Help.param_quiet)
1137
+ parser_model_instance_versions_create_optional.add_argument(
1138
+ '-r',
1139
+ '--dir-mode',
1140
+ dest='dir_mode',
1141
+ choices=['skip', 'zip', 'tar'],
1142
+ default='skip',
1143
+ help=Help.param_dir_mode)
1144
+ parser_model_instance_versions_create._action_groups.append(
1145
+ parser_model_instance_versions_create_optional)
1146
+ parser_model_instance_versions_create.set_defaults(
1147
+ func=api.model_instance_version_create_cli)
1148
+
1149
+ # Models Instance Versions download
1150
+ parser_model_instance_versions_download = subparsers_model_intance_versions.add_parser(
1151
+ 'download',
1152
+ formatter_class=argparse.RawTextHelpFormatter,
1153
+ help=Help.command_model_instance_versions_download)
1154
+ parser_model_instance_versions_download_optional = parser_model_instance_versions_download._action_groups.pop(
1155
+ )
1156
+ parser_model_instance_versions_download_optional.add_argument(
1157
+ 'model_instance_version', help=Help.param_model_instance_version)
1158
+ parser_model_instance_versions_download_optional.add_argument(
1159
+ '-p', '--path', dest='path', required=False, help=Help.param_downfolder)
1160
+ parser_model_instance_versions_download_optional.add_argument(
1161
+ '--untar', dest='untar', action='store_true', help=Help.param_untar)
1162
+ parser_model_instance_versions_download_optional.add_argument(
1163
+ '-f', '--force', dest='force', action='store_true', help=Help.param_force)
1164
+ parser_model_instance_versions_download_optional.add_argument(
1165
+ '-q', '--quiet', dest='quiet', action='store_true', help=Help.param_quiet)
1166
+ parser_model_instance_versions_download._action_groups.append(
1167
+ parser_model_instance_versions_download_optional)
1168
+ parser_model_instance_versions_download.set_defaults(
1169
+ func=api.model_instance_version_download_cli)
1170
+
1171
+ # Models Instance Versions files
1172
+ parser_model_instance_versions_files = subparsers_model_intance_versions.add_parser(
1173
+ 'files',
1174
+ formatter_class=argparse.RawTextHelpFormatter,
1175
+ help=Help.command_model_instance_versions_files)
1176
+ parser_model_instance_versions_files_optional = parser_model_instance_versions_files._action_groups.pop(
1177
+ )
1178
+ parser_model_instance_versions_files_optional.add_argument(
1179
+ 'model_instance_version', help=Help.param_model_instance_version)
1180
+ parser_model_instance_versions_files_optional.add_argument(
1181
+ '-v',
1182
+ '--csv',
1183
+ dest='csv_display',
1184
+ action='store_true',
1185
+ help=Help.param_csv)
1186
+ parser_model_instance_versions_files_optional.add_argument(
1187
+ '--page-size', dest='page_size', default=20, help=Help.param_page_size)
1188
+ parser_model_instance_versions_files_optional.add_argument(
1189
+ '--page-token',
1190
+ dest='page_token',
1191
+ required=False,
1192
+ help=Help.param_page_token)
1193
+ parser_model_instance_versions_files._action_groups.append(
1194
+ parser_model_instance_versions_files_optional)
1195
+ parser_model_instance_versions_files.set_defaults(
1196
+ func=api.model_instance_version_files_cli)
1197
+
1198
+ # Models Instance Versions delete
1199
+ parser_model_instance_versions_delete = subparsers_model_intance_versions.add_parser(
1200
+ 'delete',
1201
+ formatter_class=argparse.RawTextHelpFormatter,
1202
+ help=Help.command_model_instance_versions_delete)
1203
+ parser_model_instance_versions_delete_optional = parser_model_instance_versions_delete._action_groups.pop(
1204
+ )
1205
+ parser_model_instance_versions_delete_optional.add_argument(
1206
+ 'model_instance_version', help=Help.param_model_instance_version)
1207
+ parser_model_instance_versions_delete_optional.add_argument(
1208
+ '-y', '--yes', dest='yes', action='store_true', help=Help.param_yes)
1209
+ parser_model_instance_versions_delete._action_groups.append(
1210
+ parser_model_instance_versions_delete_optional)
1211
+ parser_model_instance_versions_delete.set_defaults(
1212
+ func=api.model_instance_version_delete_cli)
1213
+
1214
+
1215
+ def parse_files(subparsers):
1216
+ parser_files = subparsers.add_parser(
1217
+ 'files',
1218
+ formatter_class=argparse.RawTextHelpFormatter,
1219
+ help=Help.group_files,
1220
+ aliases=['f'])
1221
+
1222
+ subparsers_files = parser_files.add_subparsers(
1223
+ title='commands', dest='command')
1224
+ subparsers_files.required = True
1225
+ subparsers_files.choices = Help.files_choices
1226
+
1227
+ # Files upload
1228
+ parser_files_upload = subparsers_files.add_parser(
1229
+ 'upload',
1230
+ formatter_class=argparse.RawTextHelpFormatter,
1231
+ help=Help.command_files_upload,
1232
+ aliases=['u'])
1233
+ parser_files_upload_optional = parser_files_upload._action_groups.pop()
1234
+ parser_files_upload_optional.add_argument(
1235
+ '-i',
1236
+ '--inbox-path',
1237
+ dest='inbox_path',
1238
+ required=False,
1239
+ default='',
1240
+ help=Help.param_files_upload_inbox_path)
1241
+ parser_files_upload_optional.add_argument(
1242
+ 'local_paths',
1243
+ metavar='local-path',
1244
+ nargs='+',
1245
+ help=Help.param_files_upload_local_paths)
1246
+ parser_files_upload_optional.add_argument(
1247
+ '--no-resume',
1248
+ dest='no_resume',
1249
+ action='store_true',
1250
+ required=False,
1251
+ default=False,
1252
+ help=Help.param_files_upload_no_resume)
1253
+ parser_files_upload_optional.add_argument(
1254
+ '--no-compress',
1255
+ dest='no_compress',
1256
+ action='store_true',
1257
+ required=False,
1258
+ default=False,
1259
+ help=Help.param_files_upload_no_compress)
1260
+ parser_files_upload._action_groups.append(parser_files_upload_optional)
1261
+ parser_files_upload.set_defaults(func=api.files_upload_cli)
1262
+
1263
+
1264
+ def parse_config(subparsers):
1265
+ parser_config = subparsers.add_parser(
1266
+ 'config',
1267
+ formatter_class=argparse.RawTextHelpFormatter,
1268
+ help=Help.group_config)
1269
+ subparsers_config = parser_config.add_subparsers(
1270
+ title='commands', dest='command')
1271
+ subparsers_config.required = True
1272
+ subparsers_config.choices = Help.config_choices
1273
+
1274
+ parser_config_view = subparsers_config.add_parser(
1275
+ 'view',
1276
+ formatter_class=argparse.RawTextHelpFormatter,
1277
+ help=Help.command_config_view)
1278
+ parser_config_view.set_defaults(func=api.print_config_values)
1279
+
1280
+ parser_config_set = subparsers_config.add_parser(
1281
+ 'set',
1282
+ formatter_class=argparse.RawTextHelpFormatter,
1283
+ help=Help.command_config_set)
1284
+ parser_config_set._action_groups.pop()
1285
+ parser_config_set_required = parser_config_set.add_argument_group(
1286
+ 'required arguments')
1287
+ parser_config_set_required.add_argument(
1288
+ '-n', '--name', dest='name', required=True, help=Help.param_config_name)
1289
+ parser_config_set_required.add_argument(
1290
+ '-v',
1291
+ '--value',
1292
+ dest='value',
1293
+ required=True,
1294
+ help=Help.param_config_value)
1295
+ parser_config_set.set_defaults(func=api.set_config_value)
1296
+
1297
+ parser_config_unset = subparsers_config.add_parser(
1298
+ 'unset',
1299
+ formatter_class=argparse.RawTextHelpFormatter,
1300
+ help=Help.command_config_unset)
1301
+ parser_config_unset._action_groups.pop()
1302
+ parser_config_unset_required = parser_config_unset.add_argument_group(
1303
+ 'required arguments')
1304
+ parser_config_unset_required.add_argument(
1305
+ '-n', '--name', dest='name', required=True, help=Help.param_config_name)
1306
+ parser_config_unset.set_defaults(func=api.unset_config_value)
1307
+
1308
+
1309
+ class Help(object):
1310
+ kaggle_choices = [
1311
+ 'competitions', 'c', 'datasets', 'd', 'kernels', 'k', 'models', 'm',
1312
+ 'files', 'f', 'config'
1313
+ ]
1314
+ competitions_choices = [
1315
+ 'list', 'files', 'download', 'submit', 'submissions', 'leaderboard'
1316
+ ]
1317
+ datasets_choices = [
1318
+ 'list', 'files', 'download', 'create', 'version', 'init', 'metadata',
1319
+ 'status'
1320
+ ]
1321
+ kernels_choices = [
1322
+ 'list', 'files', 'init', 'push', 'pull', 'output', 'status'
1323
+ ]
1324
+ models_choices = [
1325
+ 'instances', 'get', 'list', 'init', 'create', 'delete', 'update'
1326
+ ]
1327
+ model_instances_choices = [
1328
+ 'versions', 'get', 'files', 'init', 'create', 'delete', 'update'
1329
+ ]
1330
+ model_instance_versions_choices = [
1331
+ 'init', 'create', 'download', 'delete', 'files'
1332
+ ]
1333
+ files_choices = ['upload']
1334
+ config_choices = ['view', 'set', 'unset']
1335
+
1336
+ kaggle = 'Use one of:\ncompetitions {' + ', '.join(
1337
+ competitions_choices) + '}\ndatasets {' + ', '.join(
1338
+ datasets_choices) + '}\nkernels {' + ', '.join(
1339
+ kernels_choices) + '}\nmodels {' + ', '.join(
1340
+ models_choices) + '}\nmodels instances {' + ', '.join(
1341
+ model_instances_choices
1342
+ ) + '}\nmodels instances versions {' + ', '.join(
1343
+ model_instance_versions_choices
1344
+ ) + '}\nconfig {' + ', '.join(config_choices) + '}'
1345
+
1346
+ group_competitions = 'Commands related to Kaggle competitions'
1347
+ group_datasets = 'Commands related to Kaggle datasets'
1348
+ group_kernels = 'Commands related to Kaggle kernels'
1349
+ group_models = 'Commands related to Kaggle models'
1350
+ group_model_instances = 'Commands related to Kaggle model instances'
1351
+ group_model_instance_versions = 'Commands related to Kaggle model instance versions'
1352
+ group_files = 'Commands related files'
1353
+ group_config = 'Configuration settings'
1354
+
1355
+ # Competitions commands
1356
+ command_competitions_list = 'List available competitions'
1357
+ command_competitions_files = 'List competition files'
1358
+ command_competitions_download = 'Download competition files'
1359
+ command_competitions_submit = 'Make a new competition submission'
1360
+ command_competitions_submissions = 'Show your competition submissions'
1361
+ command_competitions_leaderboard = 'Get competition leaderboard information'
1362
+
1363
+ # Datasets commands
1364
+ command_datasets_list = 'List available datasets'
1365
+ command_datasets_files = 'List dataset files'
1366
+ command_datasets_download = 'Download dataset files'
1367
+ command_datasets_new = 'Create a new dataset'
1368
+ command_datasets_new_version = 'Create a new dataset version'
1369
+ command_datasets_init = 'Initialize metadata file for dataset creation'
1370
+ command_datasets_metadata = 'Download metadata about a dataset'
1371
+ command_datasets_status = 'Get the creation status for a dataset'
1372
+
1373
+ # Kernels commands
1374
+ command_kernels_list = (
1375
+ 'List available kernels. By default, shows 20 results sorted by '
1376
+ 'hotness')
1377
+ command_kernels_files = 'List kernel output files'
1378
+ command_kernels_init = 'Initialize metadata file for a kernel'
1379
+ command_kernels_push = 'Push new code to a kernel and run the kernel'
1380
+ command_kernels_pull = 'Pull down code from a kernel'
1381
+ command_kernels_output = 'Get data output from the latest kernel run'
1382
+ command_kernels_status = 'Display the status of the latest kernel run'
1383
+
1384
+ # Models commands
1385
+ command_models_files = 'List model files'
1386
+ command_models_get = 'Get a model'
1387
+ command_models_list = 'List models'
1388
+ command_models_init = 'Initialize metadata file for model creation'
1389
+ command_models_new = 'Create a new model'
1390
+ command_models_delete = 'Delete a model'
1391
+ command_models_update = 'Update a model'
1392
+
1393
+ # Files commands
1394
+ command_files_upload = 'Upload files'
1395
+
1396
+ # Config commands
1397
+ command_config_path = (
1398
+ 'Set folder where competition or dataset files will be '
1399
+ 'downloaded')
1400
+ command_config_proxy = 'Set proxy server'
1401
+ command_config_competition = 'Set default competition'
1402
+ command_config_view = 'View current config values'
1403
+ command_config_set = 'Set a configuration value'
1404
+ command_config_unset = 'Clear a configuration value'
1405
+
1406
+ # General params
1407
+ param_downfolder = (
1408
+ 'Folder where file(s) will be downloaded, defaults to current working '
1409
+ 'directory')
1410
+ param_wp = 'Download files to current working path'
1411
+ param_proxy = 'Proxy for HTTP requests'
1412
+ param_quiet = (
1413
+ 'Suppress printing information about the upload/download progress')
1414
+ param_public = 'Create publicly (default is private)'
1415
+ param_keep_tabular = (
1416
+ 'Do not convert tabular files to CSV (default is to convert)')
1417
+ param_dir_mode = (
1418
+ 'What to do with directories: "skip" - ignore; "zip" - compressed upload; "tar" - '
1419
+ 'uncompressed upload')
1420
+ param_delete_old_version = 'Delete old versions of this dataset'
1421
+ param_force = ('Skip check whether local version of file is up to date, force'
1422
+ ' file download')
1423
+ param_upfile = 'File for upload (full path)'
1424
+ param_csv = 'Print results in CSV format (if not set print in table format)'
1425
+ param_page = 'Page number for results paging. Page size is 20 by default'
1426
+ # NOTE: Default and max page size are set by the mid-tier code.
1427
+ param_page_size = ('Number of items to show on a page. Default size is 20, '
1428
+ 'max is 200')
1429
+ param_page_token = 'Page token for results paging.'
1430
+ param_search = 'Term(s) to search for'
1431
+ param_mine = 'Display only my items'
1432
+ param_unzip = (
1433
+ 'Unzip the downloaded file. Will delete the zip file when completed.')
1434
+ param_untar = (
1435
+ 'Untar the downloaded file. Will delete the tar file when completed.')
1436
+ param_yes = (
1437
+ 'Sets any confirmation values to "yes" automatically. Users will not be asked to confirm.'
1438
+ )
1439
+
1440
+ # Competitions params
1441
+ param_competition = ('Competition URL suffix (use "kaggle competitions list" '
1442
+ 'to show options)\nIf empty, the default competition '
1443
+ 'will be used (use "kaggle config set competition")"')
1444
+ param_competition_nonempty = (
1445
+ 'Competition URL suffix (use "kaggle competitions list" to show '
1446
+ 'options)')
1447
+ param_competition_leaderboard_view = 'Show the top of the leaderboard'
1448
+ param_competition_leaderboard_download = 'Download entire leaderboard'
1449
+ param_competition_file = (
1450
+ 'File name, all files downloaded if not provided\n(use "kaggle '
1451
+ 'competitions files -c <competition>" to show options)')
1452
+ param_competition_message = 'Message describing this submission'
1453
+ param_competition_group = (
1454
+ 'Search for competitions in a specific group. Default is \'general\'. '
1455
+ 'Valid options are \'general\', \'entered\', and \'inClass\'')
1456
+ param_competition_category = (
1457
+ 'Search for competitions of a specific category. Default is \'all\'. '
1458
+ 'Valid options are \'all\', \'featured\', \'research\', '
1459
+ '\'recruitment\', \'gettingStarted\', \'masters\', and \'playground\'')
1460
+ param_competition_sort_by = (
1461
+ 'Sort list results. Default is \'latestDeadline\'. Valid options are '
1462
+ '\'grouped\', \'prize\', \'earliestDeadline\', \'latestDeadline\', '
1463
+ '\'numberOfTeams\', and \'recentlyCreated\'')
1464
+
1465
+ # Datasets params
1466
+ param_dataset = ('Dataset URL suffix in format <owner>/<dataset-name> (use '
1467
+ '"kaggle datasets list" to show options)')
1468
+ param_dataset_file = ('File name, all files downloaded if not provided\n(use '
1469
+ '"kaggle datasets files -d <dataset>" to show options)')
1470
+ param_dataset_version_notes = 'Message describing the new version'
1471
+ param_dataset_upfile = (
1472
+ 'Folder for upload, containing data files and a '
1473
+ 'special datasets-metadata.json file '
1474
+ '(https://github.com/Kaggle/kaggle-api/wiki/Dataset-Metadata). '
1475
+ 'Defaults to current working directory')
1476
+ param_dataset_sort_by = (
1477
+ 'Sort list results. Default is \'hottest\'. Valid options are '
1478
+ '\'hottest\', \'votes\', \'updated\', and \'active\'')
1479
+ param_dataset_size = (
1480
+ 'DEPRECATED. Please use --max-size and --min-size to filter dataset sizes.'
1481
+ )
1482
+ param_dataset_file_type = (
1483
+ 'Search for datasets with a specific file type. Default is \'all\'. '
1484
+ 'Valid options are \'all\', \'csv\', \'sqlite\', \'json\', and '
1485
+ '\'bigQuery\'. Please note that bigQuery datasets cannot be downloaded')
1486
+ param_dataset_license = (
1487
+ 'Search for datasets with a specific license. Default is \'all\'. '
1488
+ 'Valid options are \'all\', \'cc\', \'gpl\', \'odb\', and \'other\'')
1489
+ param_dataset_tags = (
1490
+ 'Search for datasets that have specific tags. Tag list should be '
1491
+ 'comma separated')
1492
+ param_dataset_user = (
1493
+ 'Find public datasets owned by a specific user or organization')
1494
+ param_dataset_metadata_dir = (
1495
+ 'Location to download dataset metadata to. Defaults to current working '
1496
+ 'directory')
1497
+ param_dataset_metadata_update = ('A flag to indicate whether the dataset'
1498
+ 'metadata should be updated.')
1499
+ param_dataset_maxsize = 'Specify the maximum size of the dataset to return (bytes)'
1500
+ param_dataset_minsize = 'Specify the minimum size of the dataset to return (bytes)'
1501
+
1502
+ # Kernels params
1503
+ param_kernel = (
1504
+ 'Kernel URL suffix in format <owner>/<kernel-name> (use "kaggle '
1505
+ 'kernels list" to show options)')
1506
+ param_kernel_init = (
1507
+ 'Create a metadata file for an existing kernel URL suffix in format '
1508
+ '<owner>/<kernel-name> (use "kaggle kernels list" to show options)')
1509
+ param_kernel_upfile = (
1510
+ 'Folder for upload, containing data files and a '
1511
+ 'special kernel-metadata.json file '
1512
+ '(https://github.com/Kaggle/kaggle-api/wiki/Kernel-Metadata). '
1513
+ 'Defaults to current working directory')
1514
+ param_kernel_parent = 'Find children of the specified parent kernel'
1515
+ param_kernel_competition = 'Find kernels for a given competition slug'
1516
+ param_kernel_dataset = ('Find kernels for a given dataset slug. Format is '
1517
+ '{username/dataset-slug}')
1518
+ param_kernel_user = 'Find kernels created by a given username'
1519
+ # TODO(b/129357583): Pull these from the same spot as the api impl
1520
+ param_kernel_language = (
1521
+ 'Specify the language the kernel is written in. Default is \'all\'. '
1522
+ 'Valid options are \'all\', \'python\', \'r\', \'sqlite\', and '
1523
+ '\'julia\'')
1524
+ param_kernel_type = ('Specify the type of kernel. Default is \'all\'. Valid '
1525
+ 'options are \'all\', \'script\', and \'notebook\'')
1526
+ param_kernel_output_type = ('Search for specific kernel output types. '
1527
+ 'Default is \'all\'. Valid options are \'all\', '
1528
+ '\'visualizations\', and \'data\'')
1529
+ param_kernel_sort_by = ('Sort list results. Default is \'hotness\'. Valid '
1530
+ 'options are \'hotness\', \'commentCount\', '
1531
+ '\'dateCreated\', \'dateRun\', \'relevance\', '
1532
+ '\'scoreAscending\', \'scoreDescending\', '
1533
+ '\'viewCount\', and \'voteCount\'. \'relevance\' '
1534
+ 'is only applicable if a search term is specified.')
1535
+ param_kernel_pull_metadata = 'Generate metadata when pulling kernel'
1536
+
1537
+ # Models params
1538
+ param_model = ('Model URL suffix in format <owner>/<model-name>')
1539
+ param_model_sort_by = (
1540
+ 'Sort list results. Default is \'hotness\'. Valid options are '
1541
+ '\'hotness\', \'downloadCount\', \'voteCount\', \'notebookCount\' and \'createTime\''
1542
+ )
1543
+ param_model_owner = (
1544
+ 'Find public models owned by a specific user or organization')
1545
+ param_model_downfile = (
1546
+ 'Folder containing the special model-metadata.json file '
1547
+ '(https://github.com/Kaggle/kaggle-api/wiki/Model-Metadata).')
1548
+ param_model_upfile = (
1549
+ 'Folder containing the special model-metadata.json file '
1550
+ '(https://github.com/Kaggle/kaggle-api/wiki/Model-Metadata). '
1551
+ 'Defaults to current working directory')
1552
+
1553
+ # Model Instances params
1554
+ param_model_instance = (
1555
+ 'Model Instance URL suffix in format <owner>/<model-name>/<framework>/<instance-slug>'
1556
+ )
1557
+ command_model_instances_get = 'Get a model instance'
1558
+ command_model_instances_init = 'Initialize metadata file for model instance creation'
1559
+ command_model_instances_files = 'List files for the current version of a model instance'
1560
+ command_model_instances_new = 'Create a new model instance'
1561
+ param_model_instance_downfile = (
1562
+ 'Folder for downloading the special model-instance-metadata.json file '
1563
+ '(https://github.com/Kaggle/kaggle-api/wiki/Model-Metadata#model-instance). '
1564
+ )
1565
+ param_model_instance_upfile = (
1566
+ 'Folder for upload, containing data files and a '
1567
+ 'special model-instance-metadata.json file '
1568
+ '(https://github.com/Kaggle/kaggle-api/wiki/Model-Metadata#model-instance). '
1569
+ 'Defaults to current working directory')
1570
+ command_model_instances_delete = 'Delete a model instance'
1571
+ command_model_instances_update = 'Update a model instance'
1572
+
1573
+ # Model Instance Versions params
1574
+ param_model_instance_version = (
1575
+ 'Model Instance Version URL suffix in format <owner>/<model-name>/<framework>/<instance-slug>/<version-number>'
1576
+ )
1577
+
1578
+ # Model Instance Versions params
1579
+ command_model_instance_versions_new = 'Create a new model instance version'
1580
+ param_model_instance_version_upfile = (
1581
+ 'Folder for upload. Defaults to current working directory')
1582
+ command_model_instance_versions_delete = 'Delete a model instance version'
1583
+ command_model_instance_versions_download = 'Download model instance version files'
1584
+ command_model_instance_versions_files = 'List model instance version files'
1585
+ param_model_instance_version_notes = 'Version notes to record for the new model instance version'
1586
+
1587
+ # Files params
1588
+ param_files_upload_inbox_path = 'Virtual path on the server where the uploaded files will be stored'
1589
+ param_files_upload_local_paths = (
1590
+ 'List of local filesystem paths. Each path creates a separate file on the server. '
1591
+ 'Directories are uploaded as zip archives by default (e.g., a directory called '
1592
+ '"data" will be uploaded as "data.zip")')
1593
+ param_files_upload_no_compress = 'Whether to compress directories (zip) or not (tar)'
1594
+ param_files_upload_no_resume = 'Whether to skip resumable uploads.'
1595
+
1596
+ # Config params
1597
+ param_config_name = ('Name of the configuration parameter\n(one of '
1598
+ 'competition, path, proxy)')
1599
+ param_config_value = (('Value of the configuration parameter, valid values '
1600
+ 'depending on name\n- competition: ') +
1601
+ param_competition_nonempty + '\n- path: ' +
1602
+ param_downfolder + '\n- proxy: ' + param_proxy)
1603
+
1604
+
1605
+ if __name__ == '__main__':
1606
+ main()