flywheel-sdk 19.0.0rc0__py2.py3-none-any.whl → 19.1.0__py2.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.
flywheel/__init__.py CHANGED
@@ -183,6 +183,7 @@ from flywheel.models.container_delete_reason import ContainerDeleteReason
183
183
  from flywheel.models.container_filter import ContainerFilter
184
184
  from flywheel.models.container_id_view_input import ContainerIdViewInput
185
185
  from flywheel.models.container_id_view_input_execute_and_save import ContainerIdViewInputExecuteAndSave
186
+ from flywheel.models.container_modify import ContainerModify
186
187
  from flywheel.models.container_new_output import ContainerNewOutput
187
188
  from flywheel.models.container_node_min import ContainerNodeMin
188
189
  from flywheel.models.container_output import ContainerOutput
@@ -4646,6 +4646,7 @@ class ProjectsApi(object):
4646
4646
  def get_project_settings(self, project_id, **kwargs): # noqa: E501
4647
4647
  """Get settings on project
4648
4648
 
4649
+ Get settings on project
4649
4650
  This method makes a synchronous HTTP request by default.
4650
4651
 
4651
4652
  :param str project_id: (required)
@@ -4671,6 +4672,7 @@ class ProjectsApi(object):
4671
4672
  def get_project_settings_with_http_info(self, project_id, **kwargs): # noqa: E501
4672
4673
  """Get settings on project
4673
4674
 
4675
+ Get settings on project
4674
4676
  This method makes a synchronous HTTP request by default.
4675
4677
 
4676
4678
  :param str project_id: (required)
@@ -6048,6 +6050,7 @@ class ProjectsApi(object):
6048
6050
  def modify_project_settings(self, project_id, body, **kwargs): # noqa: E501
6049
6051
  """Modify project settings
6050
6052
 
6053
+ Modify project settings
6051
6054
  This method makes a synchronous HTTP request by default.
6052
6055
 
6053
6056
  :param str project_id: (required)
@@ -6075,6 +6078,7 @@ class ProjectsApi(object):
6075
6078
  def modify_project_settings_with_http_info(self, project_id, body, **kwargs): # noqa: E501
6076
6079
  """Modify project settings
6077
6080
 
6081
+ Modify project settings
6078
6082
  This method makes a synchronous HTTP request by default.
6079
6083
 
6080
6084
  :param str project_id: (required)
flywheel/api/views_api.py CHANGED
@@ -583,7 +583,7 @@ class ViewsApi(object):
583
583
  This method makes a synchronous HTTP request by default.
584
584
 
585
585
  :param str view_id: The ID of the view (required)
586
- :param ContainerPipelineInput body: (required)
586
+ :param ContainerModify body: (required)
587
587
  :param bool async_: Perform the request asynchronously
588
588
  :return: ModifiedResult
589
589
  """
@@ -609,7 +609,7 @@ class ViewsApi(object):
609
609
  This method makes a synchronous HTTP request by default.
610
610
 
611
611
  :param str view_id: The ID of the view (required)
612
- :param ContainerPipelineInput body: (required)
612
+ :param ContainerModify body: (required)
613
613
  :param bool async_: Perform the request asynchronously
614
614
  :return: ModifiedResult
615
615
  """
@@ -654,14 +654,14 @@ class ViewsApi(object):
654
654
 
655
655
  body_params = None
656
656
  if 'body' in params:
657
- if 'ContainerPipelineInput'.startswith('union'):
657
+ if 'ContainerModify'.startswith('union'):
658
658
  body_type = type(params['body'])
659
659
  if getattr(body_type, 'positional_to_model', None):
660
660
  body_params = body_type.positional_to_model(params['body'])
661
661
  else:
662
662
  body_params = params['body']
663
663
  else:
664
- body_params = flywheel.models.ContainerPipelineInput.positional_to_model(params['body'])
664
+ body_params = flywheel.models.ContainerModify.positional_to_model(params['body'])
665
665
  # HTTP header `Accept`
666
666
  header_params['Accept'] = self.api_client.select_header_accept(
667
667
  ['application/json']) # noqa: E501
flywheel/api_client.py CHANGED
@@ -81,7 +81,7 @@ class ApiClient(object):
81
81
  self.default_query_params = []
82
82
  self.cookie = cookie
83
83
  # Set default User-Agent.
84
- self.user_agent = 'Swagger-Codegen/19.0.0-rc0/python'
84
+ self.user_agent = 'Swagger-Codegen/19.1.0/python'
85
85
  self.last_response = None
86
86
  self._version_check_fn = None
87
87
  self._context = context
flywheel/configuration.py CHANGED
@@ -252,6 +252,6 @@ class Configuration(six.with_metaclass(TypeWithDefault, object)):
252
252
  return "Python SDK Debug Report:\n"\
253
253
  "OS: {env}\n"\
254
254
  "Python Version: {pyversion}\n"\
255
- "Version of the API: 19.0.0-rc0\n"\
256
- "SDK Package Version: 19.0.0-rc0".\
255
+ "Version of the API: 19.1.0\n"\
256
+ "SDK Package Version: 19.1.0".\
257
257
  format(env=sys.platform, pyversion=sys.version)
flywheel/flywheel.py CHANGED
@@ -40,7 +40,7 @@ from flywheel.view_builder import ViewBuilder
40
40
  from flywheel.finder import Finder
41
41
  import flywheel.api
42
42
 
43
- SDK_VERSION = "19.0.0-rc0"
43
+ SDK_VERSION = "19.1.0"
44
44
 
45
45
  def config_from_api_key(api_key):
46
46
  parts = api_key.split(':')
@@ -4641,6 +4641,7 @@ class Flywheel:
4641
4641
  def get_project_settings(self, project_id, **kwargs): # noqa: E501
4642
4642
  """Get settings on project
4643
4643
 
4644
+ Get settings on project
4644
4645
 
4645
4646
  :param str project_id: (required)
4646
4647
  :param bool async_: Perform the request asynchronously
@@ -4808,6 +4809,7 @@ class Flywheel:
4808
4809
  def modify_project_settings(self, project_id, body, **kwargs): # noqa: E501
4809
4810
  """Modify project settings
4810
4811
 
4812
+ Modify project settings
4811
4813
 
4812
4814
  :param str project_id: (required)
4813
4815
  :param ProjectSettingsInput body: (required)
@@ -7274,7 +7276,7 @@ class Flywheel:
7274
7276
 
7275
7277
 
7276
7278
  :param str view_id: The ID of the view (required)
7277
- :param ContainerPipelineInput body: (required)
7279
+ :param ContainerModify body: (required)
7278
7280
  :param bool async_: Perform the request asynchronously
7279
7281
  :return: ModifiedResult
7280
7282
  """
@@ -6,7 +6,7 @@
6
6
 
7
7
  Flywheel: API for data import, automated curation, image processing, machine learning workflows, and secure collaboration. # noqa: E501
8
8
 
9
- OpenAPI spec version: 19.0.0-rc0
9
+ OpenAPI spec version: 19.1.0
10
10
 
11
11
  Generated by: https://github.com/swagger-api/swagger-codegen.git
12
12
  """
@@ -131,6 +131,7 @@ from flywheel.models.container_delete_reason import ContainerDeleteReason
131
131
  from flywheel.models.container_filter import ContainerFilter
132
132
  from flywheel.models.container_id_view_input import ContainerIdViewInput
133
133
  from flywheel.models.container_id_view_input_execute_and_save import ContainerIdViewInputExecuteAndSave
134
+ from flywheel.models.container_modify import ContainerModify
134
135
  from flywheel.models.container_new_output import ContainerNewOutput
135
136
  from flywheel.models.container_node_min import ContainerNodeMin
136
137
  from flywheel.models.container_output import ContainerOutput
@@ -148,8 +148,10 @@ class AnalysisOutput(AnalysisMixin):
148
148
  self.compute_provider_id = compute_provider_id
149
149
  if join_origin is not None:
150
150
  self.join_origin = join_origin
151
- self.copy_of = copy_of
152
- self.original_copy_of = original_copy_of
151
+ if copy_of is not None:
152
+ self.copy_of = copy_of
153
+ if original_copy_of is not None:
154
+ self.original_copy_of = original_copy_of
153
155
 
154
156
  @property
155
157
  def id(self):
@@ -148,8 +148,10 @@ class AnalysisOutputInflatedJob(object):
148
148
  self.compute_provider_id = compute_provider_id
149
149
  if join_origin is not None:
150
150
  self.join_origin = join_origin
151
- self.copy_of = copy_of
152
- self.original_copy_of = original_copy_of
151
+ if copy_of is not None:
152
+ self.copy_of = copy_of
153
+ if original_copy_of is not None:
154
+ self.original_copy_of = original_copy_of
153
155
 
154
156
  @property
155
157
  def id(self):
@@ -0,0 +1,534 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Flywheel
5
+
6
+ No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501
7
+
8
+ OpenAPI spec version: 0.0.1
9
+
10
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
11
+ """
12
+
13
+
14
+ ## NOTE: This file is auto generated by the swagger code generator program.
15
+ ## Do not edit the file manually.
16
+
17
+ import pprint
18
+ import re # noqa: F401
19
+ import six
20
+
21
+ from flywheel.models.column import Column # noqa: F401,E501
22
+ from flywheel.models.data_strategy import DataStrategy # noqa: F401,E501
23
+ from flywheel.models.data_view_file_spec import DataViewFileSpec # noqa: F401,E501
24
+ from flywheel.models.group_by import GroupBy # noqa: F401,E501
25
+ from flywheel.models.origin import Origin # noqa: F401,E501
26
+
27
+ class ContainerModify(object):
28
+
29
+ swagger_types = {
30
+ 'parent': 'str',
31
+ 'label': 'str',
32
+ 'description': 'str',
33
+ 'columns': 'list[Column]',
34
+ 'file_spec': 'DataViewFileSpec',
35
+ 'filter': 'str',
36
+ 'group_by': 'GroupBy',
37
+ 'include_ids': 'bool',
38
+ 'include_labels': 'bool',
39
+ 'error_column': 'bool',
40
+ 'missing_data_strategy': 'DataStrategy',
41
+ 'sort': 'bool',
42
+ 'id': 'str',
43
+ 'origin': 'Origin'
44
+ }
45
+
46
+ attribute_map = {
47
+ 'parent': 'parent',
48
+ 'label': 'label',
49
+ 'description': 'description',
50
+ 'columns': 'columns',
51
+ 'file_spec': 'fileSpec',
52
+ 'filter': 'filter',
53
+ 'group_by': 'groupBy',
54
+ 'include_ids': 'includeIds',
55
+ 'include_labels': 'includeLabels',
56
+ 'error_column': 'errorColumn',
57
+ 'missing_data_strategy': 'missingDataStrategy',
58
+ 'sort': 'sort',
59
+ 'id': '_id',
60
+ 'origin': 'origin'
61
+ }
62
+
63
+ rattribute_map = {
64
+ 'parent': 'parent',
65
+ 'label': 'label',
66
+ 'description': 'description',
67
+ 'columns': 'columns',
68
+ 'fileSpec': 'file_spec',
69
+ 'filter': 'filter',
70
+ 'groupBy': 'group_by',
71
+ 'includeIds': 'include_ids',
72
+ 'includeLabels': 'include_labels',
73
+ 'errorColumn': 'error_column',
74
+ 'missingDataStrategy': 'missing_data_strategy',
75
+ 'sort': 'sort',
76
+ '_id': 'id',
77
+ 'origin': 'origin'
78
+ }
79
+
80
+ def __init__(self, parent=None, label=None, description=None, columns=None, file_spec=None, filter=None, group_by=None, include_ids=None, include_labels=None, error_column=None, missing_data_strategy=None, sort=False, id=None, origin=None): # noqa: E501
81
+ """ContainerModify - a model defined in Swagger"""
82
+ super(ContainerModify, self).__init__()
83
+
84
+ self._parent = None
85
+ self._label = None
86
+ self._description = None
87
+ self._columns = None
88
+ self._file_spec = None
89
+ self._filter = None
90
+ self._group_by = None
91
+ self._include_ids = None
92
+ self._include_labels = None
93
+ self._error_column = None
94
+ self._missing_data_strategy = None
95
+ self._sort = None
96
+ self._id = None
97
+ self._origin = None
98
+ self.discriminator = None
99
+ self.alt_discriminator = None
100
+
101
+ if parent is not None:
102
+ self.parent = parent
103
+ if label is not None:
104
+ self.label = label
105
+ if description is not None:
106
+ self.description = description
107
+ if columns is not None:
108
+ self.columns = columns
109
+ if file_spec is not None:
110
+ self.file_spec = file_spec
111
+ if filter is not None:
112
+ self.filter = filter
113
+ if group_by is not None:
114
+ self.group_by = group_by
115
+ if include_ids is not None:
116
+ self.include_ids = include_ids
117
+ if include_labels is not None:
118
+ self.include_labels = include_labels
119
+ if error_column is not None:
120
+ self.error_column = error_column
121
+ if missing_data_strategy is not None:
122
+ self.missing_data_strategy = missing_data_strategy
123
+ if sort is not None:
124
+ self.sort = sort
125
+ if id is not None:
126
+ self.id = id
127
+ if origin is not None:
128
+ self.origin = origin
129
+
130
+ @property
131
+ def parent(self):
132
+ """Gets the parent of this ContainerModify.
133
+
134
+ The parent container id
135
+
136
+ :return: The parent of this ContainerModify.
137
+ :rtype: str
138
+ """
139
+ return self._parent
140
+
141
+ @parent.setter
142
+ def parent(self, parent):
143
+ """Sets the parent of this ContainerModify.
144
+
145
+ The parent container id
146
+
147
+ :param parent: The parent of this ContainerModify. # noqa: E501
148
+ :type: str
149
+ """
150
+
151
+ self._parent = parent
152
+
153
+ @property
154
+ def label(self):
155
+ """Gets the label of this ContainerModify.
156
+
157
+ Application-specific label
158
+
159
+ :return: The label of this ContainerModify.
160
+ :rtype: str
161
+ """
162
+ return self._label
163
+
164
+ @label.setter
165
+ def label(self, label):
166
+ """Sets the label of this ContainerModify.
167
+
168
+ Application-specific label
169
+
170
+ :param label: The label of this ContainerModify. # noqa: E501
171
+ :type: str
172
+ """
173
+
174
+ self._label = label
175
+
176
+ @property
177
+ def description(self):
178
+ """Gets the description of this ContainerModify.
179
+
180
+
181
+ :return: The description of this ContainerModify.
182
+ :rtype: str
183
+ """
184
+ return self._description
185
+
186
+ @description.setter
187
+ def description(self, description):
188
+ """Sets the description of this ContainerModify.
189
+
190
+
191
+ :param description: The description of this ContainerModify. # noqa: E501
192
+ :type: str
193
+ """
194
+
195
+ self._description = description
196
+
197
+ @property
198
+ def columns(self):
199
+ """Gets the columns of this ContainerModify.
200
+
201
+
202
+ :return: The columns of this ContainerModify.
203
+ :rtype: list[Column]
204
+ """
205
+ return self._columns
206
+
207
+ @columns.setter
208
+ def columns(self, columns):
209
+ """Sets the columns of this ContainerModify.
210
+
211
+
212
+ :param columns: The columns of this ContainerModify. # noqa: E501
213
+ :type: list[Column]
214
+ """
215
+
216
+ self._columns = columns
217
+
218
+ @property
219
+ def file_spec(self):
220
+ """Gets the file_spec of this ContainerModify.
221
+
222
+
223
+ :return: The file_spec of this ContainerModify.
224
+ :rtype: DataViewFileSpec
225
+ """
226
+ return self._file_spec
227
+
228
+ @file_spec.setter
229
+ def file_spec(self, file_spec):
230
+ """Sets the file_spec of this ContainerModify.
231
+
232
+
233
+ :param file_spec: The file_spec of this ContainerModify. # noqa: E501
234
+ :type: DataViewFileSpec
235
+ """
236
+
237
+ self._file_spec = file_spec
238
+
239
+ @property
240
+ def filter(self):
241
+ """Gets the filter of this ContainerModify.
242
+
243
+
244
+ :return: The filter of this ContainerModify.
245
+ :rtype: str
246
+ """
247
+ return self._filter
248
+
249
+ @filter.setter
250
+ def filter(self, filter):
251
+ """Sets the filter of this ContainerModify.
252
+
253
+
254
+ :param filter: The filter of this ContainerModify. # noqa: E501
255
+ :type: str
256
+ """
257
+
258
+ self._filter = filter
259
+
260
+ @property
261
+ def group_by(self):
262
+ """Gets the group_by of this ContainerModify.
263
+
264
+
265
+ :return: The group_by of this ContainerModify.
266
+ :rtype: GroupBy
267
+ """
268
+ return self._group_by
269
+
270
+ @group_by.setter
271
+ def group_by(self, group_by):
272
+ """Sets the group_by of this ContainerModify.
273
+
274
+
275
+ :param group_by: The group_by of this ContainerModify. # noqa: E501
276
+ :type: GroupBy
277
+ """
278
+
279
+ self._group_by = group_by
280
+
281
+ @property
282
+ def include_ids(self):
283
+ """Gets the include_ids of this ContainerModify.
284
+
285
+ Whether or not to include container id fields. Default is true
286
+
287
+ :return: The include_ids of this ContainerModify.
288
+ :rtype: bool
289
+ """
290
+ return self._include_ids
291
+
292
+ @include_ids.setter
293
+ def include_ids(self, include_ids):
294
+ """Sets the include_ids of this ContainerModify.
295
+
296
+ Whether or not to include container id fields. Default is true
297
+
298
+ :param include_ids: The include_ids of this ContainerModify. # noqa: E501
299
+ :type: bool
300
+ """
301
+
302
+ self._include_ids = include_ids
303
+
304
+ @property
305
+ def include_labels(self):
306
+ """Gets the include_labels of this ContainerModify.
307
+
308
+ Whether or not to include container label fields. Default is true
309
+
310
+ :return: The include_labels of this ContainerModify.
311
+ :rtype: bool
312
+ """
313
+ return self._include_labels
314
+
315
+ @include_labels.setter
316
+ def include_labels(self, include_labels):
317
+ """Sets the include_labels of this ContainerModify.
318
+
319
+ Whether or not to include container label fields. Default is true
320
+
321
+ :param include_labels: The include_labels of this ContainerModify. # noqa: E501
322
+ :type: bool
323
+ """
324
+
325
+ self._include_labels = include_labels
326
+
327
+ @property
328
+ def error_column(self):
329
+ """Gets the error_column of this ContainerModify.
330
+
331
+ Whether or not to include errors column. Default is true
332
+
333
+ :return: The error_column of this ContainerModify.
334
+ :rtype: bool
335
+ """
336
+ return self._error_column
337
+
338
+ @error_column.setter
339
+ def error_column(self, error_column):
340
+ """Sets the error_column of this ContainerModify.
341
+
342
+ Whether or not to include errors column. Default is true
343
+
344
+ :param error_column: The error_column of this ContainerModify. # noqa: E501
345
+ :type: bool
346
+ """
347
+
348
+ self._error_column = error_column
349
+
350
+ @property
351
+ def missing_data_strategy(self):
352
+ """Gets the missing_data_strategy of this ContainerModify.
353
+
354
+
355
+ :return: The missing_data_strategy of this ContainerModify.
356
+ :rtype: DataStrategy
357
+ """
358
+ return self._missing_data_strategy
359
+
360
+ @missing_data_strategy.setter
361
+ def missing_data_strategy(self, missing_data_strategy):
362
+ """Sets the missing_data_strategy of this ContainerModify.
363
+
364
+
365
+ :param missing_data_strategy: The missing_data_strategy of this ContainerModify. # noqa: E501
366
+ :type: DataStrategy
367
+ """
368
+
369
+ self._missing_data_strategy = missing_data_strategy
370
+
371
+ @property
372
+ def sort(self):
373
+ """Gets the sort of this ContainerModify.
374
+
375
+ Opt out of sorting results by setting value to false
376
+
377
+ :return: The sort of this ContainerModify.
378
+ :rtype: bool
379
+ """
380
+ return self._sort
381
+
382
+ @sort.setter
383
+ def sort(self, sort):
384
+ """Sets the sort of this ContainerModify.
385
+
386
+ Opt out of sorting results by setting value to false
387
+
388
+ :param sort: The sort of this ContainerModify. # noqa: E501
389
+ :type: bool
390
+ """
391
+
392
+ self._sort = sort
393
+
394
+ @property
395
+ def id(self):
396
+ """Gets the id of this ContainerModify.
397
+
398
+ Unique database ID
399
+
400
+ :return: The id of this ContainerModify.
401
+ :rtype: str
402
+ """
403
+ return self._id
404
+
405
+ @id.setter
406
+ def id(self, id):
407
+ """Sets the id of this ContainerModify.
408
+
409
+ Unique database ID
410
+
411
+ :param id: The id of this ContainerModify. # noqa: E501
412
+ :type: str
413
+ """
414
+
415
+ self._id = id
416
+
417
+ @property
418
+ def origin(self):
419
+ """Gets the origin of this ContainerModify.
420
+
421
+
422
+ :return: The origin of this ContainerModify.
423
+ :rtype: Origin
424
+ """
425
+ return self._origin
426
+
427
+ @origin.setter
428
+ def origin(self, origin):
429
+ """Sets the origin of this ContainerModify.
430
+
431
+
432
+ :param origin: The origin of this ContainerModify. # noqa: E501
433
+ :type: Origin
434
+ """
435
+
436
+ self._origin = origin
437
+
438
+
439
+ @staticmethod
440
+ def positional_to_model(value):
441
+ """Converts a positional argument to a model value"""
442
+ return value
443
+
444
+ def return_value(self):
445
+ """Unwraps return value from model"""
446
+ return self
447
+
448
+ def to_dict(self):
449
+ """Returns the model properties as a dict"""
450
+ result = {}
451
+
452
+ for attr, _ in six.iteritems(self.swagger_types):
453
+ value = getattr(self, attr)
454
+ if isinstance(value, list):
455
+ result[attr] = list(map(
456
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
457
+ value
458
+ ))
459
+ elif hasattr(value, "to_dict"):
460
+ result[attr] = value.to_dict()
461
+ elif isinstance(value, dict):
462
+ result[attr] = dict(map(
463
+ lambda item: (item[0], item[1].to_dict())
464
+ if hasattr(item[1], "to_dict") else item,
465
+ value.items()
466
+ ))
467
+ else:
468
+ result[attr] = value
469
+
470
+ return result
471
+
472
+ def to_str(self):
473
+ """Returns the string representation of the model"""
474
+ return pprint.pformat(self.to_dict())
475
+
476
+ def __repr__(self):
477
+ """For `print` and `pprint`"""
478
+ return self.to_str()
479
+
480
+ def __eq__(self, other):
481
+ """Returns true if both objects are equal"""
482
+ if not isinstance(other, ContainerModify):
483
+ return False
484
+
485
+ return self.__dict__ == other.__dict__
486
+
487
+ def __ne__(self, other):
488
+ """Returns true if both objects are not equal"""
489
+ return not self == other
490
+
491
+ # Container emulation
492
+ def __getitem__(self, key):
493
+ """Returns the value of key"""
494
+ key = self._map_key(key)
495
+ return getattr(self, key)
496
+
497
+ def __setitem__(self, key, value):
498
+ """Sets the value of key"""
499
+ key = self._map_key(key)
500
+ setattr(self, key, value)
501
+
502
+ def __contains__(self, key):
503
+ """Checks if the given value is a key in this object"""
504
+ key = self._map_key(key, raise_on_error=False)
505
+ return key is not None
506
+
507
+ def keys(self):
508
+ """Returns the list of json properties in the object"""
509
+ return self.__class__.rattribute_map.keys()
510
+
511
+ def values(self):
512
+ """Returns the list of values in the object"""
513
+ for key in self.__class__.attribute_map.keys():
514
+ yield getattr(self, key)
515
+
516
+ def items(self):
517
+ """Returns the list of json property to value mapping"""
518
+ for key, prop in self.__class__.rattribute_map.items():
519
+ yield key, getattr(self, prop)
520
+
521
+ def get(self, key, default=None):
522
+ """Get the value of the provided json property, or default"""
523
+ key = self._map_key(key, raise_on_error=False)
524
+ if key:
525
+ return getattr(self, key, default)
526
+ return default
527
+
528
+ def _map_key(self, key, raise_on_error=True):
529
+ result = self.__class__.rattribute_map.get(key)
530
+ if result is None:
531
+ if raise_on_error:
532
+ raise AttributeError('Invalid attribute name: {}'.format(key))
533
+ return None
534
+ return '_' + result
@@ -55,6 +55,7 @@ class Features(object):
55
55
  'ohif_react': 'bool',
56
56
  'ohif_react_beta': 'bool',
57
57
  'ohif_slice_order': 'str',
58
+ 'ohif_v2_adhoc_indexing': 'bool',
58
59
  'ohif_v3': 'bool',
59
60
  'ohif_v3_beta': 'bool',
60
61
  'ohif_v3_datasource': 'str',
@@ -74,6 +75,7 @@ class Features(object):
74
75
  'tagging': 'bool',
75
76
  'tags_in_lists': 'bool',
76
77
  'task_manager_data_views': 'bool',
78
+ 'transform_search_fields': 'bool',
77
79
  'unsafe_login': 'bool',
78
80
  'url_access_apps': 'bool',
79
81
  'userpilot': 'bool',
@@ -117,6 +119,7 @@ class Features(object):
117
119
  'ohif_react': 'ohif_react',
118
120
  'ohif_react_beta': 'ohif_react_beta',
119
121
  'ohif_slice_order': 'ohif_slice_order',
122
+ 'ohif_v2_adhoc_indexing': 'ohif_v2_adhoc_indexing',
120
123
  'ohif_v3': 'ohif_v3',
121
124
  'ohif_v3_beta': 'ohif_v3_beta',
122
125
  'ohif_v3_datasource': 'ohif_v3_datasource',
@@ -136,6 +139,7 @@ class Features(object):
136
139
  'tagging': 'tagging',
137
140
  'tags_in_lists': 'tags_in_lists',
138
141
  'task_manager_data_views': 'task_manager_data_views',
142
+ 'transform_search_fields': 'transform_search_fields',
139
143
  'unsafe_login': 'unsafe_login',
140
144
  'url_access_apps': 'url_access_apps',
141
145
  'userpilot': 'userpilot',
@@ -179,6 +183,7 @@ class Features(object):
179
183
  'ohif_react': 'ohif_react',
180
184
  'ohif_react_beta': 'ohif_react_beta',
181
185
  'ohif_slice_order': 'ohif_slice_order',
186
+ 'ohif_v2_adhoc_indexing': 'ohif_v2_adhoc_indexing',
182
187
  'ohif_v3': 'ohif_v3',
183
188
  'ohif_v3_beta': 'ohif_v3_beta',
184
189
  'ohif_v3_datasource': 'ohif_v3_datasource',
@@ -198,6 +203,7 @@ class Features(object):
198
203
  'tagging': 'tagging',
199
204
  'tags_in_lists': 'tags_in_lists',
200
205
  'task_manager_data_views': 'task_manager_data_views',
206
+ 'transform_search_fields': 'transform_search_fields',
201
207
  'unsafe_login': 'unsafe_login',
202
208
  'url_access_apps': 'url_access_apps',
203
209
  'userpilot': 'userpilot',
@@ -206,7 +212,7 @@ class Features(object):
206
212
  'web_uploader_v2': 'web_uploader_v2'
207
213
  }
208
214
 
209
- def __init__(self, api_enabled_gear_rules=True, auth0=None, audit_trail=False, azureml_integration=False, cold_job_logs=False, collections=False, copy_by_reference=True, core_api=True, crawler=False, data_views_non_21_cfr=True, default_viewer_apps=True, deid_log=False, deid_profile=False, dicom_web_uploader_non_21_cfr=True, dimse=False, elastic_search_primary=False, exchange=False, exchange_admin=False, external_routing=False, gear_access=False, google_analytics=True, healthcare_api=False, job_ask=True, job_prioritization=True, job_tickets=True, jupyter_integration=False, ldap_sync=False, multifactor_auth=False, multipart_signed_url=True, multiproject=False, ohif_multi_subject_view=False, ohif_react=False, ohif_react_beta=False, ohif_slice_order=None, ohif_v3=False, ohif_v3_beta=False, ohif_v3_datasource=None, ohif_v3_default_app=False, ohif_v3_readonly=True, project_export=True, project_import=True, project_list_uses_stats=False, project_locking=False, reader_tasks=False, rts_sync=False, sentry_logging=None, session_templates_non_21_cfr=True, shared_projects=False, signed_url=False, study_task_status=False, tagging=False, tags_in_lists=True, task_manager_data_views=True, unsafe_login=False, url_access_apps=False, userpilot=None, validate_classification=False, virus_scan=False, web_uploader_v2=True): # noqa: E501
215
+ def __init__(self, api_enabled_gear_rules=True, auth0=None, audit_trail=False, azureml_integration=False, cold_job_logs=False, collections=False, copy_by_reference=True, core_api=True, crawler=False, data_views_non_21_cfr=True, default_viewer_apps=True, deid_log=False, deid_profile=False, dicom_web_uploader_non_21_cfr=True, dimse=False, elastic_search_primary=False, exchange=False, exchange_admin=False, external_routing=False, gear_access=True, google_analytics=True, healthcare_api=False, job_ask=True, job_prioritization=True, job_tickets=True, jupyter_integration=False, ldap_sync=False, multifactor_auth=False, multipart_signed_url=True, multiproject=False, ohif_multi_subject_view=False, ohif_react=False, ohif_react_beta=False, ohif_slice_order=None, ohif_v2_adhoc_indexing=True, ohif_v3=False, ohif_v3_beta=False, ohif_v3_datasource=None, ohif_v3_default_app=False, ohif_v3_readonly=True, project_export=True, project_import=True, project_list_uses_stats=False, project_locking=False, reader_tasks=False, rts_sync=False, sentry_logging=None, session_templates_non_21_cfr=True, shared_projects=False, signed_url=False, study_task_status=False, tagging=False, tags_in_lists=True, task_manager_data_views=True, transform_search_fields=False, unsafe_login=False, url_access_apps=False, userpilot=None, validate_classification=False, virus_scan=False, web_uploader_v2=True): # noqa: E501
210
216
  """Features - a model defined in Swagger"""
211
217
  super(Features, self).__init__()
212
218
 
@@ -244,6 +250,7 @@ class Features(object):
244
250
  self._ohif_react = None
245
251
  self._ohif_react_beta = None
246
252
  self._ohif_slice_order = None
253
+ self._ohif_v2_adhoc_indexing = None
247
254
  self._ohif_v3 = None
248
255
  self._ohif_v3_beta = None
249
256
  self._ohif_v3_datasource = None
@@ -263,6 +270,7 @@ class Features(object):
263
270
  self._tagging = None
264
271
  self._tags_in_lists = None
265
272
  self._task_manager_data_views = None
273
+ self._transform_search_fields = None
266
274
  self._unsafe_login = None
267
275
  self._url_access_apps = None
268
276
  self._userpilot = None
@@ -340,6 +348,8 @@ class Features(object):
340
348
  self.ohif_react_beta = ohif_react_beta
341
349
  if ohif_slice_order is not None:
342
350
  self.ohif_slice_order = ohif_slice_order
351
+ if ohif_v2_adhoc_indexing is not None:
352
+ self.ohif_v2_adhoc_indexing = ohif_v2_adhoc_indexing
343
353
  if ohif_v3 is not None:
344
354
  self.ohif_v3 = ohif_v3
345
355
  if ohif_v3_beta is not None:
@@ -378,6 +388,8 @@ class Features(object):
378
388
  self.tags_in_lists = tags_in_lists
379
389
  if task_manager_data_views is not None:
380
390
  self.task_manager_data_views = task_manager_data_views
391
+ if transform_search_fields is not None:
392
+ self.transform_search_fields = transform_search_fields
381
393
  if unsafe_login is not None:
382
394
  self.unsafe_login = unsafe_login
383
395
  if url_access_apps is not None:
@@ -1105,6 +1117,27 @@ class Features(object):
1105
1117
 
1106
1118
  self._ohif_slice_order = ohif_slice_order
1107
1119
 
1120
+ @property
1121
+ def ohif_v2_adhoc_indexing(self):
1122
+ """Gets the ohif_v2_adhoc_indexing of this Features.
1123
+
1124
+
1125
+ :return: The ohif_v2_adhoc_indexing of this Features.
1126
+ :rtype: bool
1127
+ """
1128
+ return self._ohif_v2_adhoc_indexing
1129
+
1130
+ @ohif_v2_adhoc_indexing.setter
1131
+ def ohif_v2_adhoc_indexing(self, ohif_v2_adhoc_indexing):
1132
+ """Sets the ohif_v2_adhoc_indexing of this Features.
1133
+
1134
+
1135
+ :param ohif_v2_adhoc_indexing: The ohif_v2_adhoc_indexing of this Features. # noqa: E501
1136
+ :type: bool
1137
+ """
1138
+
1139
+ self._ohif_v2_adhoc_indexing = ohif_v2_adhoc_indexing
1140
+
1108
1141
  @property
1109
1142
  def ohif_v3(self):
1110
1143
  """Gets the ohif_v3 of this Features.
@@ -1504,6 +1537,27 @@ class Features(object):
1504
1537
 
1505
1538
  self._task_manager_data_views = task_manager_data_views
1506
1539
 
1540
+ @property
1541
+ def transform_search_fields(self):
1542
+ """Gets the transform_search_fields of this Features.
1543
+
1544
+
1545
+ :return: The transform_search_fields of this Features.
1546
+ :rtype: bool
1547
+ """
1548
+ return self._transform_search_fields
1549
+
1550
+ @transform_search_fields.setter
1551
+ def transform_search_fields(self, transform_search_fields):
1552
+ """Sets the transform_search_fields of this Features.
1553
+
1554
+
1555
+ :param transform_search_fields: The transform_search_fields of this Features. # noqa: E501
1556
+ :type: bool
1557
+ """
1558
+
1559
+ self._transform_search_fields = transform_search_fields
1560
+
1507
1561
  @property
1508
1562
  def unsafe_login(self):
1509
1563
  """Gets the unsafe_login of this Features.
@@ -27,7 +27,6 @@ class SearchReturnType(str, enum.Enum):
27
27
  ANALYSIS = "analysis"
28
28
  PROJECT = "project"
29
29
  SUBJECT = "subject"
30
- COLLECTION = "collection"
31
30
 
32
31
  def __str__(self):
33
32
  return self.value
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: flywheel-sdk
3
- Version: 19.0.0rc0
3
+ Version: 19.1.0
4
4
  Summary: Flywheel SDK
5
5
  Home-page:
6
6
  Author-email: support@flywheel.io
@@ -1,11 +1,11 @@
1
- flywheel/__init__.py,sha256=ovf4CvzAp9N02SGef9FqDai1yJXcmu2xBCWfYirP3ms,44872
2
- flywheel/api_client.py,sha256=F0SlmPA2JarP4lENcOEYo17Wfbfl687y59UmXCI5o8k,28940
1
+ flywheel/__init__.py,sha256=k90flLAHQmy4g2aosIjzNWr6OWo1ivZAErqHjtYT0Gs,44933
2
+ flywheel/api_client.py,sha256=kY3wAIrJ-jBc7CChWErrndoj2mWnwdNa6n0sXIZ0_xg,28936
3
3
  flywheel/client.py,sha256=LMvn2aSdtn-waCpXzux8FKJxEB0469SJg5ZNnB5BqTc,10476
4
- flywheel/configuration.py,sha256=90oTqq2lemtOzBSKEPT7Mng3vToI8_2Yd_RX_Alr04w,8647
4
+ flywheel/configuration.py,sha256=-43pqd1S859BL7lUi1fJXHliLHKS8T_Hw_Ti4G8xHCM,8639
5
5
  flywheel/drone_login.py,sha256=8nELIBYBJMuPHQ0zdrGjWB20C3OTZbxpFVyxWmQ0kr0,2229
6
6
  flywheel/file_spec.py,sha256=0BnFgyH0qsDxuupJG5_g9LX2cLq7JxRiSODN3HdI-ak,2220
7
7
  flywheel/finder.py,sha256=ueECCweO48TTAJXudzh3xBbqyhV-Vbzt1NnPUSqEU9U,6739
8
- flywheel/flywheel.py,sha256=_OM9rwhs4_o7sUfp4B3CMzw6ALPzDhh7-72NQhPqUCE,394239
8
+ flywheel/flywheel.py,sha256=CdV4WQ2DkL8mAPFU03TfUY2NWOpuuTvVrVFFMfJI8Lo,394292
9
9
  flywheel/gear_context.py,sha256=xOjNzpReJPAKhdpfpQ-gDwsDoIdxAcS5CG-b1pJ69-o,13338
10
10
  flywheel/partial_reader.py,sha256=SkMgwaGZeeVaN7f9dzmVitBFnQv8ARLJgEaQP36l92s,1222
11
11
  flywheel/rest.py,sha256=hRPcmGLghBkiZ06jyFEE39iEdP0-6o4pDWj2Ocl7mSc,13119
@@ -34,7 +34,7 @@ flywheel/api/jobs_api.py,sha256=7FULp8eICFjCQLhYGHHOaAdaF86D6Pc98eGocaLeByU,7365
34
34
  flywheel/api/jupyterlab_servers_api.py,sha256=FiwtzKL6SClFXiBnzbf5dtjHCjonMQ3jB7FHlrFNGQM,9180
35
35
  flywheel/api/modalities_api.py,sha256=upQC0IB11zP08V2j0zXrd0b9A0xwr-u9pQNrOCO9N-U,20862
36
36
  flywheel/api/packfiles_api.py,sha256=3IQHwnmjCYBw7L4gJIxnZwpGdIT6LqEZPb-eIHG3t8o,3847
37
- flywheel/api/projects_api.py,sha256=fEfKDcsYZ4n6TsW35_vpBdtcmSFY0tIUFWhc0aV5pQw,324256
37
+ flywheel/api/projects_api.py,sha256=CrOOiCRZWIS1soWMS3O37cO2kFFyH25D_Bj1Vgml8WQ,324384
38
38
  flywheel/api/reports_api.py,sha256=6WW5CroopwNrw6GBE0_R34stBWbyqUXgRoyiHkAAZE4,36251
39
39
  flywheel/api/resolve_api.py,sha256=6yuXytZnhpFBPz0x5TN1B57jtRn9kuSqth6WtXWSYaw,11603
40
40
  flywheel/api/roles_api.py,sha256=ncA8ys7TC6Z_ciwzRR-uZZ_hsUAAl5oVDVjZIqfg7HA,20692
@@ -45,8 +45,8 @@ flywheel/api/tree_api.py,sha256=f7o8PO-BdTZ7MOl2cMMP5KC49z1Rl0QBx0_pqROOKQE,1203
45
45
  flywheel/api/uids_api.py,sha256=mFStWRKbdgymR_FYDHq8EsOiTfDKjz2XEcWT1XQUYtQ,4946
46
46
  flywheel/api/upload_api.py,sha256=emrzAmurhGb-uBI7Ewckbn5DyP9LBkfn6OI1zxhKnb8,38540
47
47
  flywheel/api/users_api.py,sha256=ThTGkL_oE-ixB9akEZEm2pogkYBa_m9qAM52W5ClRC0,82850
48
- flywheel/api/views_api.py,sha256=Xshmzxd9XEwWavyMCzKwDXp_4Hep4-6MFOEBM_lBato,44403
49
- flywheel/models/__init__.py,sha256=-nTiMy_J591Mu40MxnsBpnsdIxCmhq4pZ4-_XkB1QSY,42752
48
+ flywheel/api/views_api.py,sha256=ZbPYA_sOQ9qnOjkOUeioV0v08VPbsuuOnMP3EBySEVY,44375
49
+ flywheel/models/__init__.py,sha256=9OU9bVQrc854zJtGO7qtsRAGsALfgzzJ3iTvdIQJ8Nw,42809
50
50
  flywheel/models/access_level.py,sha256=zSgO2gWTTSo-p1v49ilz3Q5ZizZ7DESA5P6Ur67fgX0,575
51
51
  flywheel/models/access_permission.py,sha256=-IYmy-yb8zecmGZx7iE0bhZW7PvuWpm3zAHr2FwCyLI,5336
52
52
  flywheel/models/access_permission_output.py,sha256=faCnvyMYozmSVSlLFYMdJw84hQc3ugxx7LH2JzBfnoE,5202
@@ -75,8 +75,8 @@ flywheel/models/analysis_list_output.py,sha256=mukPmIMpIo8H66MfY7HHEu6B__br-pTkx
75
75
  flywheel/models/analysis_list_output_inflated_job.py,sha256=CLVtbqmIXpqfcvpwUaKSOP47-SaJkt8hLaRDd4uRM-o,18210
76
76
  flywheel/models/analysis_modify_input.py,sha256=4cM87tlxJqGpK3UjnKS-vMdVnSAF9raak7CJ7XDvC5s,5309
77
77
  flywheel/models/analysis_node.py,sha256=0VWp_qAjdHFCbEBuI8EYeUHgauv1AxVbdnlulFs5tfE,1104
78
- flywheel/models/analysis_output.py,sha256=blzMTFzyny5IMt7HRF5kFLZ0ayIPPQA1ldgBHjFoRa0,17829
79
- flywheel/models/analysis_output_inflated_job.py,sha256=Ib0sP5UJteCbzCBVQrJXgosesEvZNRx43TdTrvy_CXk,18266
78
+ flywheel/models/analysis_output.py,sha256=kH2qHuuTJO1JIZ9cVuXteC0KHCBbcSaenvTvy2kWtFU,17910
79
+ flywheel/models/analysis_output_inflated_job.py,sha256=buEt7OJC9DljKMNKvnvPnavW6l3VzVgb0OMUgCupU2c,18347
80
80
  flywheel/models/analysis_parents.py,sha256=hQgTsQnqtO4H_cTJciH36PPez9y-fOiqSkshvFqScPI,7144
81
81
  flywheel/models/analysis_update.py,sha256=gcx1GL8H0cI8HUNZVze3WnzTFryK2S7IizAAGFdcP2Q,538
82
82
  flywheel/models/api_key_input_with_optional_label.py,sha256=L3326OB84_ValnvHECPxEZATNP-Yad6xdRupQk_rhKk,5410
@@ -164,6 +164,7 @@ flywheel/models/container_delete_reason.py,sha256=8TM004hWyiGWhC1zTbVAOO83GGcABt
164
164
  flywheel/models/container_filter.py,sha256=4orJJ81qbrfN1lkD4IvNuKI87tcoDddCRl3LSzbPwBg,5227
165
165
  flywheel/models/container_id_view_input.py,sha256=FHhNCbvyCQcbBo4U3WZD1ts9p9iOIOA6lapxAojJQfM,14283
166
166
  flywheel/models/container_id_view_input_execute_and_save.py,sha256=uLCiOiVuvdk67_Ixt9-ysTsfTL9RoxDtAD1pADpDAvA,9047
167
+ flywheel/models/container_modify.py,sha256=iuGxVtpI16NBIWPYT9K0crCUhgULU1pxm_Ti8vJj9pE,14747
167
168
  flywheel/models/container_new_output.py,sha256=wwS5_awOdj_qZ9XnUp_MBNqzeS-VUxLXZ-e5k4hMZwU,514
168
169
  flywheel/models/container_node_min.py,sha256=h5H-gb5hevcWi2muIGY63XwXPuaNhPiFYEhoXsRz9kU,9025
169
170
  flywheel/models/container_output.py,sha256=KyqYwLsRfa2sPhdVTN-VTVr4O18KUhaniwEHsmOeWHM,917
@@ -239,7 +240,7 @@ flywheel/models/egress_provider_id.py,sha256=1dKUprJXQii7w_sdUr_hB_PebJDkLgZt9yj
239
240
  flywheel/models/exchange_storage.py,sha256=J5ki23OZ78IU-snirVzcbXd6Jjuek4FjwHGG1FTlIzM,6719
240
241
  flywheel/models/executor_info.py,sha256=nbvDWU_yEi_xwpF52y186xEgKkuKSjmBLGOGqmVA_Wg,9216
241
242
  flywheel/models/export_templates.py,sha256=fAW_tPW2tBT1DhuzF4nS7GwSgvqHkFLED--Swl4ndco,5495
242
- flywheel/models/features.py,sha256=9OB60xZCOhU91DB1P9ctYuKQr2L-iuXe-nRbD-hVCKI,50525
243
+ flywheel/models/features.py,sha256=SBA-LsB1S_QhPhvE0OZ5PipzW8Wk4xUneaLBo8UhAgQ,52459
243
244
  flywheel/models/field_change.py,sha256=H0QoBOIJuzgBsryMejJnhu5Vzwa2FpZ2ChQV7NnAgLU,7027
244
245
  flywheel/models/field_change_log_document.py,sha256=-G5oxplkcregMMHywMAXuexl5x21PRe5X2SQxaIaAj0,7091
245
246
  flywheel/models/file.py,sha256=SkL9vxFcvaTwveNQ8TO-33CnJ_EJttLSLf9iFInhSgw,27877
@@ -600,7 +601,7 @@ flywheel/models/search_project_response.py,sha256=wyDeDUCSK966q5jRuNHGFtFGieUeEA
600
601
  flywheel/models/search_query.py,sha256=YZR99Ajtex8GciHRdWxuvaYocx_-1twVXIsm7ekYw7w,9405
601
602
  flywheel/models/search_query_suggestions.py,sha256=ceEvC8QE3PZ8ImVXqvy_7vpai0mgwWdJCpyeJNV1TCA,954
602
603
  flywheel/models/search_response.py,sha256=AyMrcSWoEw88YGdrYOIWDtf3xxImHvLJWEztlWrw348,12912
603
- flywheel/models/search_return_type.py,sha256=U3DuUZNHUTxaQ1OIGZk1hZWTH0BYsdMxBO17Vb4EuMI,710
604
+ flywheel/models/search_return_type.py,sha256=DBR_7NY_OJavFYl9vUpH3YjybEaiCcn4kWFzXrut6eo,680
604
605
  flywheel/models/search_save_search.py,sha256=d06ipLioAK9DlS-Qk1Im4Zegsc2qNX63hMoUJ87NsN4,918
605
606
  flywheel/models/search_save_search_input.py,sha256=2sT6768HnTA17QTI74a4wD0V9uvVPxBO5D_7lvGXNUk,920
606
607
  flywheel/models/search_save_search_parent.py,sha256=pmBOyM4h2zaUgeBK16pZPQ-_GoUGbTb9G0hA0SvkIps,924
@@ -704,8 +705,8 @@ flywheel/models/virus_scan_state.py,sha256=zBmk7x3ZoDhEozIeD-Gw7CEkU7yWYKFMFXklL
704
705
  flywheel/models/work_in_progress_features.py,sha256=dZ_cJTztcU3wPIUKptwZzb7hdv9mo27wXfWgolkJa1k,3944
705
706
  flywheel/models/zipfile_info.py,sha256=8ivqs0rTQaiC8KirTaK_WqSGkLvCndI_58dylOBKwa4,5243
706
707
  flywheel/models/zipfile_member_info.py,sha256=zAg9wRUeYXbz6bvXdo4xYFHtvv9eRSCjvyaTrQ3zvN4,6346
707
- flywheel_sdk-19.0.0rc0.dist-info/LICENSE.txt,sha256=F_Wp8b8L-2vc2xxcRr402gN1gg-2y0p2oG8aSj3hdMA,1057
708
- flywheel_sdk-19.0.0rc0.dist-info/METADATA,sha256=jom3i4TWrPqJiu4qpWwna3oYlP1KIL0VZVkMzYGbzJg,959
709
- flywheel_sdk-19.0.0rc0.dist-info/WHEEL,sha256=ANi2y8tYx-p70pj7MSdqQMJNFJEUgAOyfPpHzqz0w84,109
710
- flywheel_sdk-19.0.0rc0.dist-info/top_level.txt,sha256=BQ1fXyhiudo2To7zMNcPOOGa6qtZuhx0V_I7CO-vU6w,9
711
- flywheel_sdk-19.0.0rc0.dist-info/RECORD,,
708
+ flywheel_sdk-19.1.0.dist-info/LICENSE.txt,sha256=F_Wp8b8L-2vc2xxcRr402gN1gg-2y0p2oG8aSj3hdMA,1057
709
+ flywheel_sdk-19.1.0.dist-info/METADATA,sha256=smWiDM7kxf9gvvuIhussOgkKyLK6__rZsZa2d6E_XPI,956
710
+ flywheel_sdk-19.1.0.dist-info/WHEEL,sha256=qUzzGenXXuJTzyjFah76kDVqDvnk-YDzY00svnrl84w,109
711
+ flywheel_sdk-19.1.0.dist-info/top_level.txt,sha256=BQ1fXyhiudo2To7zMNcPOOGa6qtZuhx0V_I7CO-vU6w,9
712
+ flywheel_sdk-19.1.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (71.1.0)
2
+ Generator: setuptools (74.1.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py2-none-any
5
5
  Tag: py3-none-any