cloud-files 4.25.0__py3-none-any.whl → 4.26.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cloud-files
3
- Version: 4.25.0
3
+ Version: 4.26.0
4
4
  Summary: Fast access to cloud storage and local FS.
5
5
  Home-page: https://github.com/seung-lab/cloud-files/
6
6
  Author: William Silversmith
@@ -7,7 +7,7 @@ cloudfiles/exceptions.py,sha256=H2IcMlZoy2Bsn-6wCPwyLDjg66LZCyxtcf3s_p21FDw,770
7
7
  cloudfiles/gcs.py,sha256=_njJ7TpqwrHCjPHRGkBN5alCrCWKM2m9qdy5DhxMZ7U,3718
8
8
  cloudfiles/interfaces.py,sha256=Qqhjv2GIVw3ibaTgPpiGK97i7aBDgU9O0bBuOiLI2KM,36117
9
9
  cloudfiles/lib.py,sha256=fEqL5APu_WQhl2yxqQbwE7msHdu7U8pstAJw6LgoKO0,5142
10
- cloudfiles/paths.py,sha256=tqR9XnRdAKopTJqSM6V5xrMo1xfmBdl9b5DpBLZnoB0,9998
10
+ cloudfiles/paths.py,sha256=WHuMbVtKk9nm9akfNF9dgH94awnrWXVIo5mbCvtc0LQ,10302
11
11
  cloudfiles/resumable_tools.py,sha256=pK-VcoPjQ2BjGjvlvH4dDCBf6lNsqHG-weiBgxVFbzA,5838
12
12
  cloudfiles/scheduler.py,sha256=DqDANmOpB3NdzFgJDNMMibRIkCrXQqIh2XGL8GWoc9c,3668
13
13
  cloudfiles/secrets.py,sha256=3BSV2Hn8FGGn4QCs5FP3eGs4WEs5cIXRBsXuF0eIgIY,4918
@@ -16,11 +16,11 @@ cloudfiles/typing.py,sha256=f3ZYkNfN9poxhGu5j-P0KCxjCCqSn9HAg5KiIPkjnCg,416
16
16
  cloudfiles_cli/LICENSE,sha256=Jna4xYE8CCQmaxjr5Fs-wmUBnIQJ1DGcNn9MMjbkprk,1538
17
17
  cloudfiles_cli/__init__.py,sha256=Wftt3R3F21QsHtWqx49ODuqT9zcSr0em7wk48kcH0WM,29
18
18
  cloudfiles_cli/cloudfiles_cli.py,sha256=eETIOK4QyztQcpA4ZRny21SobLtcrPDlzZ_JaKBmmmA,28449
19
- cloud_files-4.25.0.dist-info/AUTHORS,sha256=7E2vC894bbLPO_kvUuEB2LFZZbIxZn23HabxH7x0Hgo,266
20
- cloud_files-4.25.0.dist-info/LICENSE,sha256=Jna4xYE8CCQmaxjr5Fs-wmUBnIQJ1DGcNn9MMjbkprk,1538
21
- cloud_files-4.25.0.dist-info/METADATA,sha256=wXrUnPFfMt3vMXfcxvqMpOB6fVsHRV1cEhDgFr4LdqQ,26804
22
- cloud_files-4.25.0.dist-info/WHEEL,sha256=ewwEueio1C2XeHTvT17n8dZUJgOvyCWCt0WVNLClP9o,92
23
- cloud_files-4.25.0.dist-info/entry_points.txt,sha256=xlirb1FVhn1mbcv4IoyMEGumDqKOA4VMVd3drsRQxIg,51
24
- cloud_files-4.25.0.dist-info/pbr.json,sha256=v8YZnfyUynJ66Bxxf0b3fjSVxyAmHqmTI4XJ4BP25pg,46
25
- cloud_files-4.25.0.dist-info/top_level.txt,sha256=xPyrST3okJbsmdCF5IC2gYAVxg_aD5AYVTnNo8UuoZU,26
26
- cloud_files-4.25.0.dist-info/RECORD,,
19
+ cloud_files-4.26.0.dist-info/AUTHORS,sha256=7E2vC894bbLPO_kvUuEB2LFZZbIxZn23HabxH7x0Hgo,266
20
+ cloud_files-4.26.0.dist-info/LICENSE,sha256=Jna4xYE8CCQmaxjr5Fs-wmUBnIQJ1DGcNn9MMjbkprk,1538
21
+ cloud_files-4.26.0.dist-info/METADATA,sha256=-Rsfl3gNmmS8zSMTI7FHTYZ8TEuhzWgF0UKhxoBCdRk,26804
22
+ cloud_files-4.26.0.dist-info/WHEEL,sha256=ewwEueio1C2XeHTvT17n8dZUJgOvyCWCt0WVNLClP9o,92
23
+ cloud_files-4.26.0.dist-info/entry_points.txt,sha256=xlirb1FVhn1mbcv4IoyMEGumDqKOA4VMVd3drsRQxIg,51
24
+ cloud_files-4.26.0.dist-info/pbr.json,sha256=Q1hsyLUlpIPjOyXcpmmGewWq1Difl_oiqt8EjJXRGOE,46
25
+ cloud_files-4.26.0.dist-info/top_level.txt,sha256=xPyrST3okJbsmdCF5IC2gYAVxg_aD5AYVTnNo8UuoZU,26
26
+ cloud_files-4.26.0.dist-info/RECORD,,
@@ -0,0 +1 @@
1
+ {"git_version": "3ae7c76", "is_release": true}
cloudfiles/paths.py CHANGED
@@ -29,7 +29,12 @@ BASE_ALLOWED_PROTOCOLS = [
29
29
  'http', 'https', 'mem'
30
30
  ]
31
31
  ALLOWED_PROTOCOLS = list(BASE_ALLOWED_PROTOCOLS)
32
- ALLOWED_FORMATS = [ 'graphene', 'precomputed', 'boss', 'n5' ]
32
+ ALLOWED_FORMATS = [
33
+ 'graphene', 'precomputed', 'boss',
34
+ 'n5', 'zarr', 'zarr2', 'zarr3',
35
+ 'brainmaps', 'deepzoom', 'nggraph',
36
+ 'render', 'vtk', 'nifti', 'dvid',
37
+ ]
33
38
 
34
39
  def update_aliases_from_file():
35
40
  global ALIASES_FROM_FILE
@@ -147,11 +152,16 @@ for alias, host in OFFICIAL_ALIASES.items():
147
152
  ## Other Path Library Functions
148
153
 
149
154
  def normalize(path):
150
- proto = get_protocol(path)
155
+ fmt, proto, endpoint, cloudpath, alias = extract_format_protocol(
156
+ path, allow_defaults=False
157
+ )
158
+
151
159
  if proto is None:
152
160
  proto = "file"
153
- path = toabs(path)
154
- return f"file://{path}"
161
+ cloudpath = toabs(cloudpath)
162
+ fmt = f"{fmt}://" if fmt else ""
163
+ path = f"{fmt}{proto}://{cloudpath}"
164
+
155
165
  return path
156
166
 
157
167
  def dirname(path):
@@ -264,7 +274,7 @@ def pop_protocol(cloudpath):
264
274
 
265
275
  return (protocol, cloudpath)
266
276
 
267
- def extract_format_protocol(cloudpath:str) -> tuple:
277
+ def extract_format_protocol(cloudpath:str, allow_defaults=True) -> tuple:
268
278
  error = UnsupportedProtocolError(cloudpath_error(cloudpath))
269
279
 
270
280
  alias, cloudpath = resolve_alias(cloudpath)
@@ -276,7 +286,9 @@ def extract_format_protocol(cloudpath:str) -> tuple:
276
286
  groups = m.groups()
277
287
  cloudpath = re.sub(CLOUDPATH_REGEXP, '', cloudpath, count=1)
278
288
 
279
- fmt = m.group('fmt') or 'precomputed'
289
+ fmt = m.group('fmt')
290
+ if not fmt and allow_defaults:
291
+ fmt = 'precomputed'
280
292
  proto = m.group('proto')
281
293
  endpoint = None
282
294
 
@@ -1 +0,0 @@
1
- {"git_version": "7dcc163", "is_release": true}