cloud-files 4.29.0__py3-none-any.whl → 4.30.1__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.29.0
3
+ Version: 4.30.1
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
@@ -20,33 +20,33 @@ Requires-Python: >=3.7,<4.0
20
20
  Description-Content-Type: text/markdown
21
21
  License-File: LICENSE
22
22
  License-File: AUTHORS
23
- Requires-Dist: boto3 >=1.4.7
23
+ Requires-Dist: boto3 (>=1.4.7)
24
24
  Requires-Dist: brotli
25
25
  Requires-Dist: crc32c
26
- Requires-Dist: chardet >=3.0.4
26
+ Requires-Dist: chardet (>=3.0.4)
27
27
  Requires-Dist: click
28
- Requires-Dist: deflate >=0.2.0
28
+ Requires-Dist: deflate (>=0.2.0)
29
29
  Requires-Dist: gevent
30
- Requires-Dist: google-auth >=1.10.0
31
- Requires-Dist: google-cloud-core >=1.1.0
32
- Requires-Dist: google-cloud-storage >=1.31.1
33
- Requires-Dist: google-crc32c >=1.0.0
30
+ Requires-Dist: google-auth (>=1.10.0)
31
+ Requires-Dist: google-cloud-core (>=1.1.0)
32
+ Requires-Dist: google-cloud-storage (>=1.31.1)
33
+ Requires-Dist: google-crc32c (>=1.0.0)
34
34
  Requires-Dist: orjson
35
35
  Requires-Dist: pathos
36
- Requires-Dist: protobuf >=3.3.0
37
- Requires-Dist: requests >=2.22.0
38
- Requires-Dist: six >=1.14.0
39
- Requires-Dist: tenacity >=4.10.0
36
+ Requires-Dist: protobuf (>=3.3.0)
37
+ Requires-Dist: requests (>=2.22.0)
38
+ Requires-Dist: six (>=1.14.0)
39
+ Requires-Dist: tenacity (>=4.10.0)
40
40
  Requires-Dist: tqdm
41
- Requires-Dist: urllib3 >=1.26.3
41
+ Requires-Dist: urllib3 (>=1.26.3)
42
42
  Requires-Dist: zstandard
43
- Requires-Dist: rsa >=4.7.2
43
+ Requires-Dist: rsa (>=4.7.2)
44
44
  Requires-Dist: fasteners
45
45
  Provides-Extra: numpy
46
46
  Requires-Dist: numpy ; extra == 'numpy'
47
47
  Provides-Extra: test
48
48
  Requires-Dist: pytest ; extra == 'test'
49
- Requires-Dist: moto >=5 ; extra == 'test'
49
+ Requires-Dist: moto (>=5) ; extra == 'test'
50
50
 
51
51
  [![PyPI version](https://badge.fury.io/py/cloud-files.svg)](https://badge.fury.io/py/cloud-files) [![Test Suite](https://github.com/seung-lab/cloud-files/workflows/Test%20Suite/badge.svg)](https://github.com/seung-lab/cloud-files/actions?query=workflow%3A%22Test+Suite%22)
52
52
 
@@ -1,12 +1,13 @@
1
1
  cloudfiles/__init__.py,sha256=pLB4CcV2l3Jgv_ni1520Np1pfzFj8Cpr87vNxFT3rNI,493
2
- cloudfiles/cloudfiles.py,sha256=kkzKwqbeqne-g8fMLQ4Qag3WHROoKQftEN7CoUlp3mY,49157
2
+ cloudfiles/buckets.py,sha256=eRAYdDfvVpNyJyK5ryDRMwgNJUeEuFBJ6doWU2JkAcA,74
3
+ cloudfiles/cloudfiles.py,sha256=hoEzz0TnLwU2cUQUXud8NslHRdnsJ8qPAktljMmq7wI,49231
3
4
  cloudfiles/compression.py,sha256=pqYdpu5vfFv-094BpfZ2pgRjVu7ESM9pAZC09P6E8bY,6150
4
5
  cloudfiles/connectionpools.py,sha256=aL8RiSjRepECfgAFmJcz80aJFKbou7hsbuEgugDKwB8,4814
5
6
  cloudfiles/exceptions.py,sha256=H2IcMlZoy2Bsn-6wCPwyLDjg66LZCyxtcf3s_p21FDw,770
6
- cloudfiles/gcs.py,sha256=_njJ7TpqwrHCjPHRGkBN5alCrCWKM2m9qdy5DhxMZ7U,3718
7
+ cloudfiles/gcs.py,sha256=unqu5KxGKaPq6N4QeHSpCDdtnK1BzPOAerTZ8FLt2_4,3820
7
8
  cloudfiles/interfaces.py,sha256=lD5hUNTJDkxSnIVRG6my5exEDN72Cqt3VwPfHmYaNDo,37074
8
9
  cloudfiles/lib.py,sha256=YOoaEkKtkXc9FdpNnC4FbZJVG1ujbyoxN07WKdUOJcs,5200
9
- cloudfiles/paths.py,sha256=RnZDDYGUKD6KBFYERgg46WQU8AO-aKlV9klfGcWvOQc,11399
10
+ cloudfiles/paths.py,sha256=VFgqrOqI7lTZ2EE7Ktg6I343TVXYEhn8GHTfJZZ9giE,11435
10
11
  cloudfiles/resumable_tools.py,sha256=NyuSoGh1SaP5akrHCpd9kgy2-JruEWrHW9lvJxV7jpE,6711
11
12
  cloudfiles/scheduler.py,sha256=DqDANmOpB3NdzFgJDNMMibRIkCrXQqIh2XGL8GWoc9c,3668
12
13
  cloudfiles/secrets.py,sha256=791b5a8nWSBYtlleGzKeoYIR5jl-FI1bw6INRM4Wy-0,5295
@@ -15,11 +16,11 @@ cloudfiles/typing.py,sha256=f3ZYkNfN9poxhGu5j-P0KCxjCCqSn9HAg5KiIPkjnCg,416
15
16
  cloudfiles_cli/LICENSE,sha256=Jna4xYE8CCQmaxjr5Fs-wmUBnIQJ1DGcNn9MMjbkprk,1538
16
17
  cloudfiles_cli/__init__.py,sha256=Wftt3R3F21QsHtWqx49ODuqT9zcSr0em7wk48kcH0WM,29
17
18
  cloudfiles_cli/cloudfiles_cli.py,sha256=HGlX8oyIL7XASl57KXMlVQunF7pA_MVbMq-lpPA90LY,33911
18
- cloud_files-4.29.0.dist-info/AUTHORS,sha256=BFVmobgAhaVFI5fqbuqAY5XmBQxe09ZZAsAOTy87hKQ,318
19
- cloud_files-4.29.0.dist-info/LICENSE,sha256=Jna4xYE8CCQmaxjr5Fs-wmUBnIQJ1DGcNn9MMjbkprk,1538
20
- cloud_files-4.29.0.dist-info/METADATA,sha256=RXb-6Haql_UlezObf6UNWzrO4Ng5CsuMtCEJ1tbBgT8,27046
21
- cloud_files-4.29.0.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
22
- cloud_files-4.29.0.dist-info/entry_points.txt,sha256=xlirb1FVhn1mbcv4IoyMEGumDqKOA4VMVd3drsRQxIg,51
23
- cloud_files-4.29.0.dist-info/pbr.json,sha256=PTOoErqIO3mXz8vni4r9bHwM8yaRZ_dD2Mma3rRz-00,46
24
- cloud_files-4.29.0.dist-info/top_level.txt,sha256=xPyrST3okJbsmdCF5IC2gYAVxg_aD5AYVTnNo8UuoZU,26
25
- cloud_files-4.29.0.dist-info/RECORD,,
19
+ cloud_files-4.30.1.dist-info/AUTHORS,sha256=BFVmobgAhaVFI5fqbuqAY5XmBQxe09ZZAsAOTy87hKQ,318
20
+ cloud_files-4.30.1.dist-info/LICENSE,sha256=Jna4xYE8CCQmaxjr5Fs-wmUBnIQJ1DGcNn9MMjbkprk,1538
21
+ cloud_files-4.30.1.dist-info/METADATA,sha256=-uWzHABEfL8wGAXtqU_z1kwYaHhdderpjZt1t1OdsWU,27074
22
+ cloud_files-4.30.1.dist-info/WHEEL,sha256=ewwEueio1C2XeHTvT17n8dZUJgOvyCWCt0WVNLClP9o,92
23
+ cloud_files-4.30.1.dist-info/entry_points.txt,sha256=xlirb1FVhn1mbcv4IoyMEGumDqKOA4VMVd3drsRQxIg,51
24
+ cloud_files-4.30.1.dist-info/pbr.json,sha256=J6tATEq4Y4coNC-s7I5rqUNxO7xdQseNE5wrzRs2DxY,46
25
+ cloud_files-4.30.1.dist-info/top_level.txt,sha256=xPyrST3okJbsmdCF5IC2gYAVxg_aD5AYVTnNo8UuoZU,26
26
+ cloud_files-4.30.1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.43.0)
2
+ Generator: bdist_wheel (0.37.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -0,0 +1 @@
1
+ {"git_version": "ce90720", "is_release": true}
cloudfiles/buckets.py ADDED
@@ -0,0 +1,10 @@
1
+
2
+
3
+
4
+
5
+
6
+ class Bucket:
7
+ def __init__(self, cloudpath, secrets=None):
8
+ pass
9
+
10
+
cloudfiles/cloudfiles.py CHANGED
@@ -242,6 +242,8 @@ class CloudFiles:
242
242
  if use_https:
243
243
  cloudpath = paths.to_https_protocol(cloudpath)
244
244
 
245
+ cloudpath = paths.normalize(cloudpath)
246
+
245
247
  self.cloudpath = cloudpath
246
248
  self.progress = progress
247
249
  self.secrets = secrets
@@ -588,6 +590,7 @@ class CloudFiles:
588
590
  cache_control=cache_control,
589
591
  storage_class=storage_class,
590
592
  compress=file_compress,
593
+ skip_compress=True,
591
594
  )
592
595
  return
593
596
 
cloudfiles/gcs.py CHANGED
@@ -78,14 +78,18 @@ def composite_upload(
78
78
  cache_control:Optional[str] = None,
79
79
  storage_class:Optional[str] = None,
80
80
  compress:CompressType = None,
81
+ skip_compress:bool = False,
81
82
  ) -> int:
82
83
  from .cloudfiles import CloudFiles, CloudFile
83
84
 
84
85
  content_encoding = compression.normalize_encoding(compress)
85
86
  if isinstance(handle, bytes):
86
- handle = io.BytesIO(
87
- compression.compress(handle, compress)
88
- )
87
+ if skip_compress:
88
+ handle = io.BytesIO(handle)
89
+ else:
90
+ handle = io.BytesIO(
91
+ compression.compress(handle, compress)
92
+ )
89
93
  content_encoding = compression.normalize_encoding(compress)
90
94
 
91
95
  path = paths.extract(cloudpath)
cloudfiles/paths.py CHANGED
@@ -159,6 +159,7 @@ for alias, host in OFFICIAL_ALIASES.items():
159
159
 
160
160
  ## Other Path Library Functions
161
161
 
162
+ @lru_cache(maxsize=10, typed=False)
162
163
  def normalize(path):
163
164
  fmt, proto, endpoint, cloudpath, alias = extract_format_protocol(
164
165
  path, allow_defaults=False
@@ -1 +0,0 @@
1
- {"git_version": "be87fb6", "is_release": true}