azure-storage-blob 12.19.1__py3-none-any.whl → 12.20.0b1__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 (57) hide show
  1. azure/storage/blob/__init__.py +7 -5
  2. azure/storage/blob/_blob_client.py +12 -4
  3. azure/storage/blob/_blob_service_client.py +4 -3
  4. azure/storage/blob/_container_client.py +28 -12
  5. azure/storage/blob/_download.py +3 -3
  6. azure/storage/blob/_encryption.py +254 -165
  7. azure/storage/blob/_generated/_azure_blob_storage.py +21 -3
  8. azure/storage/blob/_generated/_configuration.py +4 -11
  9. azure/storage/blob/_generated/_serialization.py +41 -49
  10. azure/storage/blob/_generated/aio/_azure_blob_storage.py +23 -3
  11. azure/storage/blob/_generated/aio/_configuration.py +4 -11
  12. azure/storage/blob/_generated/aio/operations/_append_blob_operations.py +24 -58
  13. azure/storage/blob/_generated/aio/operations/_blob_operations.py +123 -306
  14. azure/storage/blob/_generated/aio/operations/_block_blob_operations.py +37 -86
  15. azure/storage/blob/_generated/aio/operations/_container_operations.py +98 -289
  16. azure/storage/blob/_generated/aio/operations/_page_blob_operations.py +51 -150
  17. azure/storage/blob/_generated/aio/operations/_service_operations.py +49 -125
  18. azure/storage/blob/_generated/models/_models_py3.py +31 -31
  19. azure/storage/blob/_generated/operations/_append_blob_operations.py +25 -59
  20. azure/storage/blob/_generated/operations/_blob_operations.py +123 -306
  21. azure/storage/blob/_generated/operations/_block_blob_operations.py +39 -88
  22. azure/storage/blob/_generated/operations/_container_operations.py +100 -291
  23. azure/storage/blob/_generated/operations/_page_blob_operations.py +52 -151
  24. azure/storage/blob/_generated/operations/_service_operations.py +50 -126
  25. azure/storage/blob/_models.py +3 -4
  26. azure/storage/blob/_serialize.py +1 -0
  27. azure/storage/blob/_shared/authentication.py +1 -1
  28. azure/storage/blob/_shared/avro/avro_io.py +0 -6
  29. azure/storage/blob/_shared/avro/avro_io_async.py +0 -6
  30. azure/storage/blob/_shared/avro/datafile.py +0 -4
  31. azure/storage/blob/_shared/avro/datafile_async.py +0 -4
  32. azure/storage/blob/_shared/avro/schema.py +4 -4
  33. azure/storage/blob/_shared/base_client.py +72 -87
  34. azure/storage/blob/_shared/base_client_async.py +115 -27
  35. azure/storage/blob/_shared/models.py +112 -20
  36. azure/storage/blob/_shared/parser.py +7 -6
  37. azure/storage/blob/_shared/policies.py +96 -66
  38. azure/storage/blob/_shared/policies_async.py +48 -21
  39. azure/storage/blob/_shared/response_handlers.py +14 -16
  40. azure/storage/blob/_shared/shared_access_signature.py +2 -3
  41. azure/storage/blob/_shared_access_signature.py +37 -27
  42. azure/storage/blob/_upload_helpers.py +4 -7
  43. azure/storage/blob/_version.py +1 -1
  44. azure/storage/blob/aio/__init__.py +2 -2
  45. azure/storage/blob/aio/_blob_client_async.py +16 -5
  46. azure/storage/blob/aio/_blob_service_client_async.py +3 -1
  47. azure/storage/blob/aio/_container_client_async.py +25 -8
  48. azure/storage/blob/aio/_download_async.py +9 -9
  49. azure/storage/blob/aio/_encryption_async.py +72 -0
  50. azure/storage/blob/aio/_upload_helpers.py +8 -10
  51. {azure_storage_blob-12.19.1.dist-info → azure_storage_blob-12.20.0b1.dist-info}/METADATA +9 -9
  52. azure_storage_blob-12.20.0b1.dist-info/RECORD +81 -0
  53. {azure_storage_blob-12.19.1.dist-info → azure_storage_blob-12.20.0b1.dist-info}/WHEEL +1 -1
  54. azure/storage/blob/_generated/py.typed +0 -1
  55. azure_storage_blob-12.19.1.dist-info/RECORD +0 -81
  56. {azure_storage_blob-12.19.1.dist-info → azure_storage_blob-12.20.0b1.dist-info}/LICENSE +0 -0
  57. {azure_storage_blob-12.19.1.dist-info → azure_storage_blob-12.20.0b1.dist-info}/top_level.txt +0 -0
@@ -136,7 +136,7 @@ class _AsyncChunkIterator(object):
136
136
  self._current_content = content
137
137
  self._iter_downloader = downloader
138
138
  self._iter_chunks = None
139
- self._complete = (size == 0)
139
+ self._complete = size == 0
140
140
 
141
141
  def __len__(self):
142
142
  return self.size
@@ -528,11 +528,11 @@ class StorageStreamDownloader(Generic[T]): # pylint: disable=too-many-instance-
528
528
  except HttpResponseError as error:
529
529
  process_storage_error(error)
530
530
  try:
531
- next_chunk = next(dl_tasks)
531
+ for _ in range(0, len(done)):
532
+ next_chunk = next(dl_tasks)
533
+ running_futures.add(asyncio.ensure_future(downloader.process_chunk(next_chunk)))
532
534
  except StopIteration:
533
535
  break
534
- else:
535
- running_futures.add(asyncio.ensure_future(downloader.process_chunk(next_chunk)))
536
536
 
537
537
  if running_futures:
538
538
  # Wait for the remaining downloads to finish
@@ -606,10 +606,10 @@ class StorageStreamDownloader(Generic[T]): # pylint: disable=too-many-instance-
606
606
  self._encoding = encoding
607
607
  return await self.readall()
608
608
 
609
- async def readinto(self, stream: IO[T]) -> int:
609
+ async def readinto(self, stream: IO[bytes]) -> int:
610
610
  """Download the contents of this blob to a stream.
611
611
 
612
- :param IO[T] stream:
612
+ :param IO[bytes] stream:
613
613
  The stream to download to. This can be an open file-handle,
614
614
  or any writable stream. The stream must be seekable if the download
615
615
  uses more than one parallel connection.
@@ -684,11 +684,11 @@ class StorageStreamDownloader(Generic[T]): # pylint: disable=too-many-instance-
684
684
  except HttpResponseError as error:
685
685
  process_storage_error(error)
686
686
  try:
687
- next_chunk = next(dl_tasks)
687
+ for _ in range(0, len(done)):
688
+ next_chunk = next(dl_tasks)
689
+ running_futures.add(asyncio.ensure_future(downloader.process_chunk(next_chunk)))
688
690
  except StopIteration:
689
691
  break
690
- else:
691
- running_futures.add(asyncio.ensure_future(downloader.process_chunk(next_chunk)))
692
692
 
693
693
  if running_futures:
694
694
  # Wait for the remaining downloads to finish
@@ -0,0 +1,72 @@
1
+ # -------------------------------------------------------------------------
2
+ # Copyright (c) Microsoft Corporation. All rights reserved.
3
+ # Licensed under the MIT License. See License.txt in the project root for
4
+ # license information.
5
+ # --------------------------------------------------------------------------
6
+
7
+ import inspect
8
+ import sys
9
+ from io import BytesIO
10
+ from typing import IO
11
+
12
+ from .._encryption import _GCM_REGION_DATA_LENGTH, encrypt_data_v2
13
+
14
+
15
+ class GCMBlobEncryptionStream:
16
+ """
17
+ An async stream that performs AES-GCM encryption on the given data as
18
+ it's streamed. Data is read and encrypted in regions. The stream
19
+ will use the same encryption key and will generate a guaranteed unique
20
+ nonce for each encryption region.
21
+ """
22
+ def __init__(
23
+ self, content_encryption_key: bytes,
24
+ data_stream: IO[bytes],
25
+ ) -> None:
26
+ """
27
+ :param bytes content_encryption_key: The encryption key to use.
28
+ :param IO[bytes] data_stream: The data stream to read data from.
29
+ """
30
+ self.content_encryption_key = content_encryption_key
31
+ self.data_stream = data_stream
32
+
33
+ self.offset = 0
34
+ self.current = b''
35
+ self.nonce_counter = 0
36
+
37
+ async def read(self, size: int = -1) -> bytes:
38
+ """
39
+ Read data from the stream. Specify -1 to read all available data.
40
+
41
+ :param int size: The amount of data to read. Defaults to -1 for all data.
42
+ :return: The bytes read.
43
+ :rtype: bytes
44
+ """
45
+ result = BytesIO()
46
+ remaining = sys.maxsize if size == -1 else size
47
+
48
+ while remaining > 0:
49
+ # Start by reading from current
50
+ if len(self.current) > 0:
51
+ read = min(remaining, len(self.current))
52
+ result.write(self.current[:read])
53
+
54
+ self.current = self.current[read:]
55
+ self.offset += read
56
+ remaining -= read
57
+
58
+ if remaining > 0:
59
+ # Read one region of data and encrypt it
60
+ data = self.data_stream.read(_GCM_REGION_DATA_LENGTH)
61
+ if inspect.isawaitable(data):
62
+ data = await data
63
+
64
+ if len(data) == 0:
65
+ # No more data to read
66
+ break
67
+
68
+ self.current = encrypt_data_v2(data, self.nonce_counter, self.content_encryption_key)
69
+ # IMPORTANT: Must increment the nonce each time.
70
+ self.nonce_counter += 1
71
+
72
+ return result.getvalue()
@@ -23,8 +23,8 @@ from .._generated.models import (
23
23
  AppendPositionAccessConditions,
24
24
  ModifiedAccessConditions,
25
25
  )
26
+ from ._encryption_async import GCMBlobEncryptionStream
26
27
  from .._encryption import (
27
- GCMBlobEncryptionStream,
28
28
  encrypt_blob,
29
29
  get_adjusted_upload_size,
30
30
  get_blob_encryptor_and_padder,
@@ -40,7 +40,6 @@ if TYPE_CHECKING:
40
40
 
41
41
  async def upload_block_blob( # pylint: disable=too-many-locals, too-many-statements
42
42
  client=None,
43
- data=None,
44
43
  stream=None,
45
44
  length=None,
46
45
  overwrite=None,
@@ -68,17 +67,16 @@ async def upload_block_blob( # pylint: disable=too-many-locals, too-many-statem
68
67
 
69
68
  # Do single put if the size is smaller than config.max_single_put_size
70
69
  if adjusted_count is not None and (adjusted_count <= blob_settings.max_single_put_size):
71
- try:
72
- data = data.read(length)
73
- if inspect.isawaitable(data):
74
- data = await data
75
- if not isinstance(data, bytes):
76
- raise TypeError('Blob data should be of type bytes.')
77
- except AttributeError:
78
- pass
70
+ data = stream.read(length)
71
+ if inspect.isawaitable(data):
72
+ data = await data
73
+ if not isinstance(data, bytes):
74
+ raise TypeError('Blob data should be of type bytes.')
75
+
79
76
  if encryption_options.get('key'):
80
77
  encryption_data, data = encrypt_blob(data, encryption_options['key'], encryption_options['version'])
81
78
  headers['x-ms-meta-encryptiondata'] = encryption_data
79
+
82
80
  response = await client.upload(
83
81
  body=data,
84
82
  content_length=adjusted_count,
@@ -1,31 +1,31 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: azure-storage-blob
3
- Version: 12.19.1
3
+ Version: 12.20.0b1
4
4
  Summary: Microsoft Azure Blob Storage Client Library for Python
5
5
  Home-page: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/storage/azure-storage-blob
6
6
  Author: Microsoft Corporation
7
7
  Author-email: ascl@microsoft.com
8
8
  License: MIT License
9
9
  Keywords: azure,azure sdk
10
- Classifier: Development Status :: 5 - Production/Stable
10
+ Classifier: Development Status :: 4 - Beta
11
11
  Classifier: Programming Language :: Python
12
12
  Classifier: Programming Language :: Python :: 3 :: Only
13
13
  Classifier: Programming Language :: Python :: 3
14
- Classifier: Programming Language :: Python :: 3.7
15
14
  Classifier: Programming Language :: Python :: 3.8
16
15
  Classifier: Programming Language :: Python :: 3.9
17
16
  Classifier: Programming Language :: Python :: 3.10
18
17
  Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
19
  Classifier: License :: OSI Approved :: MIT License
20
- Requires-Python: >=3.7
20
+ Requires-Python: >=3.8
21
21
  Description-Content-Type: text/markdown
22
22
  License-File: LICENSE
23
- Requires-Dist: azure-core <2.0.0,>=1.28.0
23
+ Requires-Dist: azure-core >=1.28.0
24
24
  Requires-Dist: cryptography >=2.1.4
25
- Requires-Dist: typing-extensions >=4.3.0
25
+ Requires-Dist: typing-extensions >=4.6.0
26
26
  Requires-Dist: isodate >=0.6.1
27
27
  Provides-Extra: aio
28
- Requires-Dist: azure-core[aio] <2.0.0,>=1.28.0 ; extra == 'aio'
28
+ Requires-Dist: azure-core[aio] >=1.28.0 ; extra == 'aio'
29
29
 
30
30
  # Azure Storage Blobs client library for Python
31
31
  Azure Blob storage is Microsoft's object storage solution for the cloud. Blob storage is optimized for storing massive amounts of unstructured data, such as text or binary data.
@@ -49,7 +49,7 @@ Blob storage is ideal for:
49
49
  ## Getting started
50
50
 
51
51
  ### Prerequisites
52
- * Python 3.7 or later is required to use this package. For more details, please read our page on [Azure SDK for Python version support policy](https://github.com/Azure/azure-sdk-for-python/wiki/Azure-SDKs-Python-version-support-policy).
52
+ * Python 3.8 or later is required to use this package. For more details, please read our page on [Azure SDK for Python version support policy](https://github.com/Azure/azure-sdk-for-python/wiki/Azure-SDKs-Python-version-support-policy).
53
53
  * You must have an [Azure subscription](https://azure.microsoft.com/free/) and an
54
54
  [Azure storage account](https://docs.microsoft.com/azure/storage/common/storage-account-overview) to use this package.
55
55
 
@@ -258,7 +258,7 @@ container_client = ContainerClient.from_connection_string(conn_str="<connection_
258
258
  container_client.create_container()
259
259
  ```
260
260
 
261
- Use the async client to upload a blob
261
+ Use the async client to create a container
262
262
 
263
263
  ```python
264
264
  from azure.storage.blob.aio import ContainerClient
@@ -0,0 +1,81 @@
1
+ azure/storage/blob/__init__.py,sha256=j7mkp5ud3H4a1C6UBGoUpFAEJq5_1mg2BD8BX-UFn1I,10385
2
+ azure/storage/blob/_blob_client.py,sha256=Z7UANeW80ve-OLMTVjgpSpi3W-v_-XUXE3xjjECdIis,236830
3
+ azure/storage/blob/_blob_service_client.py,sha256=M6y9MSG2xBw2SOkS9H3VBhA9_3gOKnpFcAyuWldvgNI,40938
4
+ azure/storage/blob/_container_client.py,sha256=CPyPgRcUMHSJXe48a1KpcrxjAlbUNAren1bJ3bBEj_g,95511
5
+ azure/storage/blob/_deserialize.py,sha256=HwoxR0gZmCPAHOGuVH_Zf5Zd4bPlPnEFT9Tcm2R4DJU,8876
6
+ azure/storage/blob/_download.py,sha256=rVqZ3av2lmDoqYlHJY3THzSAIuJkJfuK9xf3uv3dbm4,32439
7
+ azure/storage/blob/_encryption.py,sha256=tYMxIgtPZrPcalCHWDdse0WOBB0zQtps67HSFdmE4FA,46982
8
+ azure/storage/blob/_lease.py,sha256=4l_Y0WVwc7RyUjfRHFbVvtbdBcPchjnlZJDmcj6BANY,18749
9
+ azure/storage/blob/_list_blobs_helper.py,sha256=ccWZaWHPiSKxlnEyd6Qe-caVVFmYSrd7u-YO6Tv4PHI,14791
10
+ azure/storage/blob/_models.py,sha256=pJjLrX-bLqeLU9BjokvLfihh4z51rHSimGta_pOFMr4,56949
11
+ azure/storage/blob/_quick_query_helper.py,sha256=D5TlBTUVf5C8NxQjG4B5hdyHCPcQDkp27qyIonqZPE0,6369
12
+ azure/storage/blob/_serialize.py,sha256=omJx6Ji8TIs3BeD-9dRAJyIc7VEVh-vV4detkjT_5Kg,8113
13
+ azure/storage/blob/_shared_access_signature.py,sha256=oagWkZQyV6eQCw3DQ6VtHe1EHsrNs906xxyWhxN5QpM,33217
14
+ azure/storage/blob/_upload_helpers.py,sha256=ix83D7cWryDubmOibgRCA0uODNzq4X7m-dSbADdIDd0,13831
15
+ azure/storage/blob/_version.py,sha256=1ma7QIKf-73nloy-SGWA2WdC1u7JmAqqpcIJKh2v2EM,333
16
+ azure/storage/blob/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
+ azure/storage/blob/_generated/__init__.py,sha256=J2H2yiFhRSsMCNKUI7gaYFIQ4_AAbWjPtzXdOsHFQFI,835
18
+ azure/storage/blob/_generated/_azure_blob_storage.py,sha256=6GXduWBEa3XVdCyacuIHlT-FldUj33ZYMmKyYar87pE,5716
19
+ azure/storage/blob/_generated/_configuration.py,sha256=NOjdl0zuOrkiWy6VFesKoxRJJR5_NixLyWf1cwkR_d0,2566
20
+ azure/storage/blob/_generated/_patch.py,sha256=sPWmWHgf_Hdx9esBYyE8rVm0CcbmDQh40ZSugcQg7YY,1530
21
+ azure/storage/blob/_generated/_serialization.py,sha256=vQIv-wuCQabtiIq2DXOr7-InGADqxlXTGNEKv9OlDPs,78873
22
+ azure/storage/blob/_generated/_vendor.py,sha256=e3w-rd6okoiCIB8rNMtF0fehAYFWNlshwiwTsIRkEH4,778
23
+ azure/storage/blob/_generated/aio/__init__.py,sha256=J2H2yiFhRSsMCNKUI7gaYFIQ4_AAbWjPtzXdOsHFQFI,835
24
+ azure/storage/blob/_generated/aio/_azure_blob_storage.py,sha256=tpdObKnEvBw4E_-rUOWUM6zQ8DiWWVVul1qBKyQPG4E,5859
25
+ azure/storage/blob/_generated/aio/_configuration.py,sha256=sP0mR7uzrGoWePA681w_uGplK3nRNMSZxCHMLFybLms,2576
26
+ azure/storage/blob/_generated/aio/_patch.py,sha256=sPWmWHgf_Hdx9esBYyE8rVm0CcbmDQh40ZSugcQg7YY,1530
27
+ azure/storage/blob/_generated/aio/operations/__init__.py,sha256=a5HiO2T3KzSSX8reO6fCwbKcwXqd0A6GIeF4t63XmTA,1181
28
+ azure/storage/blob/_generated/aio/operations/_append_blob_operations.py,sha256=mNhm5JjYaYyL420usQ8At9yBtic47aVJ_P_OjsbUp58,37198
29
+ azure/storage/blob/_generated/aio/operations/_blob_operations.py,sha256=H1vf2cWNvK9U5f2sJfM-QEE_iGFuDiEPNhN5WordKNg,165432
30
+ azure/storage/blob/_generated/aio/operations/_block_blob_operations.py,sha256=M6dqhcTPziXG1JZpJynW5KQdmuo0n-JK3H-3d7o97D4,60485
31
+ azure/storage/blob/_generated/aio/operations/_container_operations.py,sha256=17bdNM-BpmJgfR-7ZnRT4um_Mz3uf5lpcfLxciQqt88,89325
32
+ azure/storage/blob/_generated/aio/operations/_page_blob_operations.py,sha256=n_M15k1TArkmQNaIhb2Xd_ew7MAL8DjWy8agpjxzqwA,74837
33
+ azure/storage/blob/_generated/aio/operations/_patch.py,sha256=1SvcsuOv1jiGgnGbfnBlSvC7cC44hn2mkc4BEvrsiLM,791
34
+ azure/storage/blob/_generated/aio/operations/_service_operations.py,sha256=sMUqROnNeyf5g2xcg21AQiX8fjyNyUKrWFg378xHaLE,34667
35
+ azure/storage/blob/_generated/models/__init__.py,sha256=qOh_WzGPNB7Do1XSXfRosHQJ94zx1G5dVXpZdkNKLuM,6303
36
+ azure/storage/blob/_generated/models/_azure_blob_storage_enums.py,sha256=o1I_SPnUKEsx2Aec-goLDw6eqZMyTVqFxg7tKpSYg0I,13049
37
+ azure/storage/blob/_generated/models/_models_py3.py,sha256=JXhdrOvO8VKo_Vhz-cqnXI1gfDf6nkrcBDC7Cz0rL_s,110612
38
+ azure/storage/blob/_generated/models/_patch.py,sha256=1SvcsuOv1jiGgnGbfnBlSvC7cC44hn2mkc4BEvrsiLM,791
39
+ azure/storage/blob/_generated/operations/__init__.py,sha256=a5HiO2T3KzSSX8reO6fCwbKcwXqd0A6GIeF4t63XmTA,1181
40
+ azure/storage/blob/_generated/operations/_append_blob_operations.py,sha256=vG_mPjjrfWnt2b2RJWU93yl8OEpMsz_urjBJMXnpIwg,55869
41
+ azure/storage/blob/_generated/operations/_blob_operations.py,sha256=i0Wnl1sC1gRhWzBPGQrctPTLTHP_5t8BS6JafR8AZcw,231262
42
+ azure/storage/blob/_generated/operations/_block_blob_operations.py,sha256=abnijLYHFwGPM2dXGeNPiFSf_JV2jC59zlic59uhpn8,91288
43
+ azure/storage/blob/_generated/operations/_container_operations.py,sha256=NYX82TB4tUyJTQwQy-s6WA1tI-6CVPYzxOM8k2VtE6M,126601
44
+ azure/storage/blob/_generated/operations/_page_blob_operations.py,sha256=o1jFdgm13W-zKpHB0QS1GwYFshJUAYgm82-vzmYEJaM,112235
45
+ azure/storage/blob/_generated/operations/_patch.py,sha256=1SvcsuOv1jiGgnGbfnBlSvC7cC44hn2mkc4BEvrsiLM,791
46
+ azure/storage/blob/_generated/operations/_service_operations.py,sha256=bUIVTpGA8Of_TYHlGYiVjyKl7Pd7Fa8n5k4kewXCR9E,48175
47
+ azure/storage/blob/_shared/__init__.py,sha256=Ohb4NSCuB9VXGEqjU2o9VZ5L98-a7c8KWZvrujnSFk8,1477
48
+ azure/storage/blob/_shared/authentication.py,sha256=ZMx-AgJ9Cac79IBC4bvFHUtkP_XJ5g6CMRo2YVOcP2M,7187
49
+ azure/storage/blob/_shared/base_client.py,sha256=OT_L_9G9kZu5l4iTvxokXMYW0hln0rmOVqHnxTatdes,18500
50
+ azure/storage/blob/_shared/base_client_async.py,sha256=mfNgLZZjqRGu2hTyUBDuxrXZCXK6qw_VhTEwyAfbIEo,11811
51
+ azure/storage/blob/_shared/constants.py,sha256=0TnhBNEaZpVq0vECmLoXWSzCajtn9WOlfOfzbMApRb4,620
52
+ azure/storage/blob/_shared/models.py,sha256=Z3c50xrqhArRulmtJA8QjCALbF9Iqu7zQmuxdtlrU3k,24850
53
+ azure/storage/blob/_shared/parser.py,sha256=ACpdtwf6lhzmA0ukT3PmxpGVpimVXTy_mMSdixC55R8,1955
54
+ azure/storage/blob/_shared/policies.py,sha256=SmwPXODNO-I2RsAbxCd3_ZlJ8fVAxM3lx0KbV5N43zU,30816
55
+ azure/storage/blob/_shared/policies_async.py,sha256=PD060JU3rVszEW-TM7ZiSZjTLI2Sdk5swh5dI06zgr0,12613
56
+ azure/storage/blob/_shared/request_handlers.py,sha256=0G9eyzMY_8BlLfHA6jbJF75ENcu3xqZ33bHfSRi9HTM,9755
57
+ azure/storage/blob/_shared/response_handlers.py,sha256=yGBdN5kgPyLUBFaegKG-8q1nvLrh45J7Ccj1q1Q5H68,8909
58
+ azure/storage/blob/_shared/shared_access_signature.py,sha256=nvUirN6ZbnrZYlhovLNF0qofxxCEzHgkQw5emLdJegA,10608
59
+ azure/storage/blob/_shared/uploads.py,sha256=f-xbbwYkOGZWr0iTaRJwTyo-XXa0AWdWYNH_CTBnd0M,22158
60
+ azure/storage/blob/_shared/uploads_async.py,sha256=xc2IM6eLAieNIlRt3kfmiX1xT6sxEVSmva19p0ZYXiY,16783
61
+ azure/storage/blob/_shared/avro/__init__.py,sha256=Ch-mWS2_vgonM9LjVaETdaW51OL6LfG23X-0tH2AFjw,310
62
+ azure/storage/blob/_shared/avro/avro_io.py,sha256=no2kWFVYxClP11e5fUypgDBW0YQcF9RgyuEy6rfgD6M,16054
63
+ azure/storage/blob/_shared/avro/avro_io_async.py,sha256=ui6Fw9wGVC6UjpvCj7r4wlp9i7XncNrukUN6TcZ_c5o,16195
64
+ azure/storage/blob/_shared/avro/datafile.py,sha256=Mj_f7BoHjkgpMrSR1g9-RDwDv7V82Jogh2YlN-0Z8I0,8459
65
+ azure/storage/blob/_shared/avro/datafile_async.py,sha256=JCUs5I3crsrFqeHenZ_fQLGj7Z2VSBjzKcI__5fd37I,7292
66
+ azure/storage/blob/_shared/avro/schema.py,sha256=Z9qcHIEBDbXxkBBs_HYbEWHlZtAbvT302mfWCYDpADI,36201
67
+ azure/storage/blob/aio/__init__.py,sha256=yH_iNDYcQ8cEu9TEXGL4dJGY0WM_r30nNQe60_8mAXs,7912
68
+ azure/storage/blob/aio/_blob_client_async.py,sha256=b1PVh9bb7GI48feQ_idbNh_5WPUk9sRxHjtyK0gbe3o,167276
69
+ azure/storage/blob/aio/_blob_service_client_async.py,sha256=qh1fcTIrmf3HijWtSv3iFsFu4rzAZP2l40szThP7fw4,38150
70
+ azure/storage/blob/aio/_container_client_async.py,sha256=etnlmMWUbI-4mDRxEbjRG0Zm0yBSSNJfs1qhtBVPWVM,77887
71
+ azure/storage/blob/aio/_download_async.py,sha256=mj3wkZZNjDNBJhEJGvPjjm_EZXDB-S4y_N0XhYLXhl0,29504
72
+ azure/storage/blob/aio/_encryption_async.py,sha256=spbWeycNMj38H5ynZ03FRtRu0L0tnl1lQn5UJT6HMAY,2518
73
+ azure/storage/blob/aio/_lease_async.py,sha256=ZBNV868_FFEY2zyJ-gl_wVBxkXNh6PalRWR0PwzLXuQ,18437
74
+ azure/storage/blob/aio/_list_blobs_helper.py,sha256=JXrgZb2R3JhNO4P58kzpruRF52nek4JmAixfyaQQNYA,11269
75
+ azure/storage/blob/aio/_models.py,sha256=k9vJ9GNp1IKfcSBwL1kj8aXq3gm_RYgRtK7_yJm-MTU,7684
76
+ azure/storage/blob/aio/_upload_helpers.py,sha256=A1L97uaz4fnZ805vYRHYm8ypIDLamuRf5BJIvdNe_nU,13053
77
+ azure_storage_blob-12.20.0b1.dist-info/LICENSE,sha256=_VMkgdgo4ToLE8y1mOAjOKNhd0BnWoYu5r3BVBto6T0,1073
78
+ azure_storage_blob-12.20.0b1.dist-info/METADATA,sha256=x0WsZ8F1GoD5f-SRd_1_yusRJnp96mbMUFZqpvws-Q8,26241
79
+ azure_storage_blob-12.20.0b1.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
80
+ azure_storage_blob-12.20.0b1.dist-info/top_level.txt,sha256=S7DhWV9m80TBzAhOFjxDUiNbKszzoThbnrSz5MpbHSQ,6
81
+ azure_storage_blob-12.20.0b1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.42.0)
2
+ Generator: bdist_wheel (0.43.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1 +0,0 @@
1
- # Marker file for PEP 561.
@@ -1,81 +0,0 @@
1
- azure/storage/blob/__init__.py,sha256=sDTaFCWfRO7YvOXyOCqyA20geR5Qc_8BSjF3PyZC3qU,10363
2
- azure/storage/blob/_blob_client.py,sha256=zSSyOEDvqdfYgRPSygQIjCXv3nCBx30rwIhWX36UKm4,236372
3
- azure/storage/blob/_blob_service_client.py,sha256=VhnrY6Xtb4b2tDo4rsxLBDHI4etjsWt6qBzdbP6Th1M,40822
4
- azure/storage/blob/_container_client.py,sha256=NGCwOkLQ19cXfLqhLdt8P6U0a_sUqrSfyRBFBNNNBCY,94858
5
- azure/storage/blob/_deserialize.py,sha256=HwoxR0gZmCPAHOGuVH_Zf5Zd4bPlPnEFT9Tcm2R4DJU,8876
6
- azure/storage/blob/_download.py,sha256=rGizGq5Mk5fF4I5Md-3O7Eoj0-A6OgMQ06xjLqMRxiE,32433
7
- azure/storage/blob/_encryption.py,sha256=YNtDRbyP7EI8jD1i6Kitz00_lRNyEeWcy-6GfOg9G4s,43167
8
- azure/storage/blob/_lease.py,sha256=4l_Y0WVwc7RyUjfRHFbVvtbdBcPchjnlZJDmcj6BANY,18749
9
- azure/storage/blob/_list_blobs_helper.py,sha256=ccWZaWHPiSKxlnEyd6Qe-caVVFmYSrd7u-YO6Tv4PHI,14791
10
- azure/storage/blob/_models.py,sha256=ejDwLc05_loYsvzjErFc1Ebcz2USv5j30HTagze6rgE,57012
11
- azure/storage/blob/_quick_query_helper.py,sha256=D5TlBTUVf5C8NxQjG4B5hdyHCPcQDkp27qyIonqZPE0,6369
12
- azure/storage/blob/_serialize.py,sha256=VnEtDxPBJQok_cBIrx3CWXGUnbSNO5qG6MX62hqT3Wo,8095
13
- azure/storage/blob/_shared_access_signature.py,sha256=i8N986mFZZepmZDDavmdDCBevXMRcKWL7gbHey_AUXI,33051
14
- azure/storage/blob/_upload_helpers.py,sha256=mLLm-k5yefa_7IkyiSAS1D1sh0DgZirO4AezvgkgRgg,13932
15
- azure/storage/blob/_version.py,sha256=2JMTAjY1S1PzXlo_5EmGSJ8-rUlY-jAQYU10BJ8qD6E,331
16
- azure/storage/blob/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
- azure/storage/blob/_generated/__init__.py,sha256=J2H2yiFhRSsMCNKUI7gaYFIQ4_AAbWjPtzXdOsHFQFI,835
18
- azure/storage/blob/_generated/_azure_blob_storage.py,sha256=hiHiNSJj3bbXvke7eYn3CCAgXIhMQUt_QhmXCM8yVnc,4804
19
- azure/storage/blob/_generated/_configuration.py,sha256=XpknWk-QKRt1ssnKaQGMI4NwAXioIr1smbbsD-1TQZg,2843
20
- azure/storage/blob/_generated/_patch.py,sha256=sPWmWHgf_Hdx9esBYyE8rVm0CcbmDQh40ZSugcQg7YY,1530
21
- azure/storage/blob/_generated/_serialization.py,sha256=CKPwDpdXUvOK3xxOQKRMRDgPTzrM1URIeDpHX9-tiBY,79289
22
- azure/storage/blob/_generated/_vendor.py,sha256=e3w-rd6okoiCIB8rNMtF0fehAYFWNlshwiwTsIRkEH4,778
23
- azure/storage/blob/_generated/py.typed,sha256=dcrsqJrcYfTX-ckLFJMTaj6mD8aDe2u0tkQG-ZYxnEg,26
24
- azure/storage/blob/_generated/aio/__init__.py,sha256=J2H2yiFhRSsMCNKUI7gaYFIQ4_AAbWjPtzXdOsHFQFI,835
25
- azure/storage/blob/_generated/aio/_azure_blob_storage.py,sha256=tDqk6Cn3I4nU6cpa24vNDm9Sk7rVy-qpMGhwTOHdE2k,4933
26
- azure/storage/blob/_generated/aio/_configuration.py,sha256=sP81s-hdqX6VQSdFzU-bbY06XnFNP-EMbMgrjIo1adE,2853
27
- azure/storage/blob/_generated/aio/_patch.py,sha256=sPWmWHgf_Hdx9esBYyE8rVm0CcbmDQh40ZSugcQg7YY,1530
28
- azure/storage/blob/_generated/aio/operations/__init__.py,sha256=a5HiO2T3KzSSX8reO6fCwbKcwXqd0A6GIeF4t63XmTA,1181
29
- azure/storage/blob/_generated/aio/operations/_append_blob_operations.py,sha256=RRBTOVBCJuDXw-5q5TOnYZml5ilZLPmVKsUEJ1yWyhk,38881
30
- azure/storage/blob/_generated/aio/operations/_blob_operations.py,sha256=Pnsv-wXPsjCn5P0G8pg3iU9bHvcD8HYvh1-zWMqpAIY,175055
31
- azure/storage/blob/_generated/aio/operations/_block_blob_operations.py,sha256=Y5kqbnUkgl_45xNNRJ1wxP9D-HXfvML6CGpOfGMdAXY,62964
32
- azure/storage/blob/_generated/aio/operations/_container_operations.py,sha256=ob7Oi--RvoyWMkV-Stv62V9x87CILMA0Mov-e0kuEAc,99614
33
- azure/storage/blob/_generated/aio/operations/_page_blob_operations.py,sha256=VL-uuwE7jULSV9Jr2yhyGqq2pOQhpjP5jqIh0cj8Vg4,80318
34
- azure/storage/blob/_generated/aio/operations/_patch.py,sha256=1SvcsuOv1jiGgnGbfnBlSvC7cC44hn2mkc4BEvrsiLM,791
35
- azure/storage/blob/_generated/aio/operations/_service_operations.py,sha256=HKEH0ms2Xx8xcNV45-ZEUfogfvfV1CHDjkZLguCXxGc,38596
36
- azure/storage/blob/_generated/models/__init__.py,sha256=qOh_WzGPNB7Do1XSXfRosHQJ94zx1G5dVXpZdkNKLuM,6303
37
- azure/storage/blob/_generated/models/_azure_blob_storage_enums.py,sha256=o1I_SPnUKEsx2Aec-goLDw6eqZMyTVqFxg7tKpSYg0I,13049
38
- azure/storage/blob/_generated/models/_models_py3.py,sha256=jsBFtTaHTZgpFHZXQVwkY_5nQ1gJJX9QZ-Hx_lUYgN0,110581
39
- azure/storage/blob/_generated/models/_patch.py,sha256=1SvcsuOv1jiGgnGbfnBlSvC7cC44hn2mkc4BEvrsiLM,791
40
- azure/storage/blob/_generated/operations/__init__.py,sha256=a5HiO2T3KzSSX8reO6fCwbKcwXqd0A6GIeF4t63XmTA,1181
41
- azure/storage/blob/_generated/operations/_append_blob_operations.py,sha256=zKUoybHLJk9wyd0pq27S0ZdT_Z5WVz9y1FhbjD3CGwI,57545
42
- azure/storage/blob/_generated/operations/_blob_operations.py,sha256=vQSh4YPfnS6AeSMkHWcqgrEbH6w38zlpd-RnNmokDFw,240883
43
- azure/storage/blob/_generated/operations/_block_blob_operations.py,sha256=EUulga0mv4KGtLYyEkwwd2pkPSUZ42_sBLhADtGQedg,93753
44
- azure/storage/blob/_generated/operations/_container_operations.py,sha256=yVvNAHqZA9s6V_LWerAOqg0EKyQJVcNBjBjcv8rrWAc,136849
45
- azure/storage/blob/_generated/operations/_page_blob_operations.py,sha256=IUhGHvMw7cpLMB_TTNJFWluZLkIzjypgWwByhREF888,117709
46
- azure/storage/blob/_generated/operations/_patch.py,sha256=1SvcsuOv1jiGgnGbfnBlSvC7cC44hn2mkc4BEvrsiLM,791
47
- azure/storage/blob/_generated/operations/_service_operations.py,sha256=COKPwNmcvmoAI_Rem1_ynp34dBOKnBhijIZQ0sW3a9M,52096
48
- azure/storage/blob/_shared/__init__.py,sha256=Ohb4NSCuB9VXGEqjU2o9VZ5L98-a7c8KWZvrujnSFk8,1477
49
- azure/storage/blob/_shared/authentication.py,sha256=Bgl4lWePRiXA2Dx5Qf0CUSFb7UQ7_vzM9gisWxsptR8,7187
50
- azure/storage/blob/_shared/base_client.py,sha256=YH2mBLSD2xoJfWKvLyTwSH7baNGZatL21hNh5QrQ3yM,18403
51
- azure/storage/blob/_shared/base_client_async.py,sha256=_qvSKs2NajFDCxJfIu9qKQTe4_kSFZOft4LrG59DhZg,7286
52
- azure/storage/blob/_shared/constants.py,sha256=0TnhBNEaZpVq0vECmLoXWSzCajtn9WOlfOfzbMApRb4,620
53
- azure/storage/blob/_shared/models.py,sha256=cBt-61Ifk2-GPdIb6Z4UdV2SNLahguQyFgPJAYPzmzA,21083
54
- azure/storage/blob/_shared/parser.py,sha256=0lDtA9jtfN4Skj41dAjOSX1FEKFeRwNmdnWqwh1NAMQ,1875
55
- azure/storage/blob/_shared/policies.py,sha256=BWHdSetLGgT3LsTLbXSGPzuNVDfIwWsitErfRh-lA60,29614
56
- azure/storage/blob/_shared/policies_async.py,sha256=rUaMJuKfrQiwUVuxvZB64UZ6eLUhlfO0PBIey9Zx1HE,11708
57
- azure/storage/blob/_shared/request_handlers.py,sha256=0G9eyzMY_8BlLfHA6jbJF75ENcu3xqZ33bHfSRi9HTM,9755
58
- azure/storage/blob/_shared/response_handlers.py,sha256=DxzytsUiD6P2lacJhFg0u4XTTpnOQfWCF0EmKCQ9H80,8814
59
- azure/storage/blob/_shared/shared_access_signature.py,sha256=5NlUOW0v-7pbRy3msNxom43219EmT-paDylC2-p5QGA,10675
60
- azure/storage/blob/_shared/uploads.py,sha256=f-xbbwYkOGZWr0iTaRJwTyo-XXa0AWdWYNH_CTBnd0M,22158
61
- azure/storage/blob/_shared/uploads_async.py,sha256=xc2IM6eLAieNIlRt3kfmiX1xT6sxEVSmva19p0ZYXiY,16783
62
- azure/storage/blob/_shared/avro/__init__.py,sha256=Ch-mWS2_vgonM9LjVaETdaW51OL6LfG23X-0tH2AFjw,310
63
- azure/storage/blob/_shared/avro/avro_io.py,sha256=vKcmSZE_dnKHTBP9gaANEsvw0mNmAAkUwmX8lCRsgxA,16212
64
- azure/storage/blob/_shared/avro/avro_io_async.py,sha256=SVGg6MObwkfclwcETpLAt_sN1L3ZqYzl7gPkGzau82Y,16353
65
- azure/storage/blob/_shared/avro/datafile.py,sha256=kW92_jqKSJBXLsDkW9nex9X_to1lHI3d9vYvC70bP1o,8535
66
- azure/storage/blob/_shared/avro/datafile_async.py,sha256=jbf50A1yzJCHZS1-eoKzQW5KdzJ9uQGhlOi8QoKuRb8,7368
67
- azure/storage/blob/_shared/avro/schema.py,sha256=QJDiJRsUpPi92a4Ph4JtCeB6pbigI8qsvIlTuSPci78,36285
68
- azure/storage/blob/aio/__init__.py,sha256=jLt4Iw2zIGyfyTXpN7SXfxDmxq-OhdEFF_YElWLDACQ,7922
69
- azure/storage/blob/aio/_blob_client_async.py,sha256=Wk1k_rdOM8BHB1TRprB_H2SaWOCwlkiCinhRvTPQHQI,166671
70
- azure/storage/blob/aio/_blob_service_client_async.py,sha256=u0tjP8vx4FRUs5v_4oOdOEQNGXnNYtKu8k4BrLXI5Lg,38008
71
- azure/storage/blob/aio/_container_client_async.py,sha256=ZSvp0i7GCvarexBe1CddgGAgfSwngaSef6MjPnEpBmM,77150
72
- azure/storage/blob/aio/_download_async.py,sha256=XQWYGr_wOVQqMqohF2WUdpS2nq_VeLg4vkGEKSQZQys,29426
73
- azure/storage/blob/aio/_lease_async.py,sha256=ZBNV868_FFEY2zyJ-gl_wVBxkXNh6PalRWR0PwzLXuQ,18437
74
- azure/storage/blob/aio/_list_blobs_helper.py,sha256=JXrgZb2R3JhNO4P58kzpruRF52nek4JmAixfyaQQNYA,11269
75
- azure/storage/blob/aio/_models.py,sha256=k9vJ9GNp1IKfcSBwL1kj8aXq3gm_RYgRtK7_yJm-MTU,7684
76
- azure/storage/blob/aio/_upload_helpers.py,sha256=K_srGMkhxm7wU8C309QHLRFoZXR6Qt6LS9v9T3pGMdQ,13135
77
- azure_storage_blob-12.19.1.dist-info/LICENSE,sha256=_VMkgdgo4ToLE8y1mOAjOKNhd0BnWoYu5r3BVBto6T0,1073
78
- azure_storage_blob-12.19.1.dist-info/METADATA,sha256=4QG_2FCEnc8YGcASzUJSjRNzLwNuBfcLH7uUm69Gims,26260
79
- azure_storage_blob-12.19.1.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
80
- azure_storage_blob-12.19.1.dist-info/top_level.txt,sha256=S7DhWV9m80TBzAhOFjxDUiNbKszzoThbnrSz5MpbHSQ,6
81
- azure_storage_blob-12.19.1.dist-info/RECORD,,