flywheel-sdk 20.1.0__py2.py3-none-any.whl → 20.1.4__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/api_client.py CHANGED
@@ -84,7 +84,7 @@ class ApiClient(object):
84
84
  self.default_query_params = []
85
85
  self.cookie = cookie
86
86
  # Set default User-Agent.
87
- self.user_agent = 'Swagger-Codegen/20.1.0/python'
87
+ self.user_agent = 'Swagger-Codegen/20.1.4/python'
88
88
  self.last_response = None
89
89
  self._version_check_fn = None
90
90
  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: 20.1.0\n"\
256
- "SDK Package Version: 20.1.0".\
255
+ "Version of the API: 20.1.4\n"\
256
+ "SDK Package Version: 20.1.4".\
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 = "20.1.0"
43
+ SDK_VERSION = "20.1.4"
44
44
 
45
45
  def config_from_api_key(api_key):
46
46
  parts = api_key.split(':')
@@ -9132,15 +9132,25 @@ class Flywheel:
9132
9132
 
9133
9133
  def _upload_to_signed_url(self, urls, fdata, fsize, headers):
9134
9134
  is_s3_upload = ".s3." in urls[0] or ".amazonaws." in urls[0]
9135
+ is_gc_upload = ".googleapis." in urls[0]
9135
9136
  e_tags = list()
9136
9137
  upload_id = None
9137
9138
 
9138
9139
  num_urls = len(urls)
9139
- part_size = math.ceil(fsize / num_urls)
9140
+ # gcp requires chunks uploaded at a 256Kb alignment
9141
+ alignment_size = 256 * 1024
9142
+ even_split_size = math.ceil(fsize / num_urls)
9143
+ split_size_offset = alignment_size - (even_split_size % alignment_size)
9144
+ part_size = even_split_size + split_size_offset
9140
9145
  for part_num, url in enumerate(urls):
9141
9146
  remaining = fsize - part_size * part_num
9142
9147
  content_length = remaining if remaining < part_size else part_size
9143
9148
  reader = PartialReader(fdata, content_length)
9149
+ if is_gc_upload:
9150
+ headers['Content-Length'] = str(content_length)
9151
+ start = part_num * part_size
9152
+ end = start + content_length - 1
9153
+ headers['Content-Range'] = f"bytes {start}-{end}/{fsize}"
9144
9154
  upload_response = self.api_client.rest_client.session.put(
9145
9155
  url, data=reader, headers=headers
9146
9156
  )
@@ -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: 20.1.0
9
+ OpenAPI spec version: 20.1.4
10
10
 
11
11
  Generated by: https://github.com/swagger-api/swagger-codegen.git
12
12
  """
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: flywheel-sdk
3
- Version: 20.1.0
3
+ Version: 20.1.4
4
4
  Summary: Flywheel SDK
5
5
  Home-page:
6
6
  Author-email: support@flywheel.io
@@ -20,6 +20,7 @@ Dynamic: author-email
20
20
  Dynamic: description
21
21
  Dynamic: keywords
22
22
  Dynamic: license
23
+ Dynamic: license-file
23
24
  Dynamic: project-url
24
25
  Dynamic: requires-dist
25
26
  Dynamic: summary
@@ -1,11 +1,11 @@
1
1
  flywheel/__init__.py,sha256=DKg8-tTGPbrjFuF_6xfSoADp-id1_CRTzVCUZujJPPQ,44621
2
- flywheel/api_client.py,sha256=SYU-53ZoofG91WsAxmZjOQiTbfnZE_Yl7aTVUA1ZcuQ,29570
2
+ flywheel/api_client.py,sha256=Z1GuGKMtduAsf7RQ-AHNNryszgxBTgMHVnJiPwyPOCI,29570
3
3
  flywheel/client.py,sha256=LMvn2aSdtn-waCpXzux8FKJxEB0469SJg5ZNnB5BqTc,10476
4
- flywheel/configuration.py,sha256=uk-YYCI_QJLEWS3WlkKMS9dAr_YbDEB9oDEaLYvBYwk,8639
4
+ flywheel/configuration.py,sha256=DfqhxMk6va6bFfY8l_skc2nC4B8kjb8ASEX-YIiVO2Y,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=SwmA-eLKdhUvrbXZQejmFXxV3UuYeinoMIWCW5NNv1U,396918
8
+ flywheel/flywheel.py,sha256=Ru03gBd6wgB9zRsdlJzCA9BkEFFsbycxo7mhVSDqgNM,397466
9
9
  flywheel/gear_context.py,sha256=cFJs8cC_on6v184HVUTXSSVS9y5ee73QN0lCkPTQ5jk,13701
10
10
  flywheel/partial_reader.py,sha256=SkMgwaGZeeVaN7f9dzmVitBFnQv8ARLJgEaQP36l92s,1222
11
11
  flywheel/rest.py,sha256=Luybe_pjqufXgw3LHSwPrSWFKrrAH6UU3IvTtSeCoAQ,13604
@@ -46,7 +46,7 @@ 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=t6CgyTGKdr-ojDi_wW3Zpgw3XhiUE7shDXxKLK3__ZY,85397
48
48
  flywheel/api/views_api.py,sha256=ZbPYA_sOQ9qnOjkOUeioV0v08VPbsuuOnMP3EBySEVY,44375
49
- flywheel/models/__init__.py,sha256=m0OYBRbvRyS6hrtuu08fa9MnCbz00akFmDMWtBEtN4A,42497
49
+ flywheel/models/__init__.py,sha256=wMakoDfr9wcjvK7rgsyDiPHozekpWMJOFqILGiUWfCk,42497
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
@@ -701,8 +701,8 @@ flywheel/models/virus_scan_state.py,sha256=zBmk7x3ZoDhEozIeD-Gw7CEkU7yWYKFMFXklL
701
701
  flywheel/models/work_in_progress_features.py,sha256=dZ_cJTztcU3wPIUKptwZzb7hdv9mo27wXfWgolkJa1k,3944
702
702
  flywheel/models/zipfile_info.py,sha256=8ivqs0rTQaiC8KirTaK_WqSGkLvCndI_58dylOBKwa4,5243
703
703
  flywheel/models/zipfile_member_info.py,sha256=zAg9wRUeYXbz6bvXdo4xYFHtvv9eRSCjvyaTrQ3zvN4,6346
704
- flywheel_sdk-20.1.0.dist-info/LICENSE.txt,sha256=F_Wp8b8L-2vc2xxcRr402gN1gg-2y0p2oG8aSj3hdMA,1057
705
- flywheel_sdk-20.1.0.dist-info/METADATA,sha256=00XF6AWbTQvDSpz2khTEVgiiQzXE1g5LxQ8fwRXWdCc,1094
706
- flywheel_sdk-20.1.0.dist-info/WHEEL,sha256=rF4EZyR2XVS6irmOHQIJx2SUqXLZKRMUrjsg8UwN-XQ,109
707
- flywheel_sdk-20.1.0.dist-info/top_level.txt,sha256=BQ1fXyhiudo2To7zMNcPOOGa6qtZuhx0V_I7CO-vU6w,9
708
- flywheel_sdk-20.1.0.dist-info/RECORD,,
704
+ flywheel_sdk-20.1.4.dist-info/licenses/LICENSE.txt,sha256=F_Wp8b8L-2vc2xxcRr402gN1gg-2y0p2oG8aSj3hdMA,1057
705
+ flywheel_sdk-20.1.4.dist-info/METADATA,sha256=qc7dXshPNEEijIwB6RVDznYboenGa9sk5WGIrEnNE3c,1116
706
+ flywheel_sdk-20.1.4.dist-info/WHEEL,sha256=MAQBAzGbXNI3bUmkDsiV_duv8i-gcdnLzw7cfUFwqhU,109
707
+ flywheel_sdk-20.1.4.dist-info/top_level.txt,sha256=BQ1fXyhiudo2To7zMNcPOOGa6qtZuhx0V_I7CO-vU6w,9
708
+ flywheel_sdk-20.1.4.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.8.2)
2
+ Generator: setuptools (78.1.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py2-none-any
5
5
  Tag: py3-none-any