Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
209 commits
Select commit Hold shift + click to select a range
ca88ac2
gen code
l0lawrence Feb 10, 2026
b9bb2c2
patch
l0lawrence Feb 10, 2026
0375995
imports
l0lawrence Feb 10, 2026
2343cab
async patch
l0lawrence Feb 10, 2026
04dd250
edit
l0lawrence Feb 10, 2026
05c4ae7
make models not typedDict
l0lawrence Feb 10, 2026
b7244d0
patch update
l0lawrence Feb 10, 2026
45f2ae1
update
l0lawrence Feb 10, 2026
b766a06
missed import
l0lawrence Feb 10, 2026
d69a467
import
l0lawrence Feb 10, 2026
bb29e86
conftest
l0lawrence Feb 10, 2026
ae1d4b6
models
l0lawrence Feb 11, 2026
58d4b5e
deserialize
l0lawrence Feb 11, 2026
bb4da34
order of params in stage_block()
l0lawrence Feb 11, 2026
b54cfb8
blob -> block_blob for query()
l0lawrence Feb 11, 2026
067d1df
patch updates
l0lawrence Feb 11, 2026
df3bf8a
deserilizaed
l0lawrence Feb 11, 2026
d79a511
blob clinet
l0lawrence Feb 11, 2026
418b716
client updates
l0lawrence Feb 11, 2026
8d50117
datetime
l0lawrence Feb 11, 2026
b916276
patch etag quote???
l0lawrence Feb 12, 2026
46a484b
snapshot
l0lawrence Feb 12, 2026
87fd92c
explicitly check modified access conditions is not None
l0lawrence Feb 12, 2026
1b6c906
custom range policy
l0lawrence Feb 13, 2026
293f043
model base changes**
l0lawrence Feb 13, 2026
74f076c
regen off of feature branch w/ one client + rangeHeader()
l0lawrence Feb 13, 2026
d47a25b
content-type fixes cat made
l0lawrence Feb 13, 2026
f1d5cd8
x-ms-requires-sync
l0lawrence Feb 13, 2026
bbae834
clientName the old operations
l0lawrence Feb 13, 2026
1c59a77
model base deserialization edit
l0lawrence Feb 13, 2026
2904d1f
signedidentitifers
l0lawrence Feb 13, 2026
9c07bf4
models
l0lawrence Feb 13, 2026
822f278
gen off my branch
l0lawrence Feb 13, 2026
22aa47a
regened
l0lawrence Feb 17, 2026
41db1f3
update from_generated def for blockblob dont need double decode
l0lawrence Feb 17, 2026
23e4046
run just storage Blob in CI -- will need to remove
l0lawrence Feb 18, 2026
48c0b21
TODO model eq checks
l0lawrence Feb 18, 2026
21e9878
TODO: pop decompress -- code gen
l0lawrence Feb 18, 2026
a1420e5
model base
l0lawrence Feb 18, 2026
00c6454
fixing snapshot tests
l0lawrence Feb 18, 2026
cb2db2f
models? this may not work
l0lawrence Feb 18, 2026
705573a
Merge branch 'main' into storageblob3
l0lawrence Feb 18, 2026
e20c51f
Merge branch 'storageblob3' of https://github.com/l0lawrence/azure-sd…
l0lawrence Feb 18, 2026
9828ac7
try running tests with "/"
l0lawrence Feb 18, 2026
eb7b9ee
manually edit until tsp can catch up
l0lawrence Feb 19, 2026
bcc8e74
just service ops with '/'
l0lawrence Feb 19, 2026
2d261df
Merge branch 'main' into storageblob3
l0lawrence Feb 19, 2026
7254c3f
fixing mypy/pylint
l0lawrence Feb 19, 2026
acd81a1
update modesl?
l0lawrence Feb 20, 2026
1f487b8
model base diff from autorest
l0lawrence Feb 20, 2026
df5bf3b
blobTags is jsut tags
l0lawrence Feb 20, 2026
fc646e4
patch if_match
l0lawrence Feb 20, 2026
0ce3070
manually add content-type
l0lawrence Feb 20, 2026
596a3e4
bytes issue
l0lawrence Feb 20, 2026
cfb4e65
current_page edits
l0lawrence Feb 20, 2026
2868d95
regen with clientName
l0lawrence Feb 20, 2026
cab86ee
ci.yml update
l0lawrence Feb 23, 2026
9d53b1b
Merge branch 'main' into storageblob3
l0lawrence Feb 23, 2026
6fbf728
etag
l0lawrence Feb 23, 2026
9b82899
fixing live tests
l0lawrence Feb 23, 2026
d713734
make a str
l0lawrence Feb 23, 2026
8cdeae2
dont need
l0lawrence Feb 24, 2026
3a1d412
editing deserialize.py
l0lawrence Feb 24, 2026
c2db1d8
remove
l0lawrence Feb 24, 2026
df03e2d
Merge branch 'main' into storageblob3
l0lawrence Feb 25, 2026
5c4931d
Merge branch 'main' into storageblob3
l0lawrence Mar 3, 2026
17f8748
regen w/ manual '/'
l0lawrence Mar 3, 2026
7842fdc
why did we have this?
l0lawrence Mar 3, 2026
655b886
model update
l0lawrence Mar 3, 2026
1ea2198
model order
l0lawrence Mar 3, 2026
7dbf379
update mock helper to use newer transport with backcompat
l0lawrence Mar 4, 2026
7212a3a
mypy
l0lawrence Mar 4, 2026
4951e36
patch model base
l0lawrence Mar 4, 2026
89360e0
remove header santizier
l0lawrence Mar 4, 2026
e9e269d
Merge branch 'main' into storageblob3
l0lawrence Mar 5, 2026
c1314d8
Merge branch 'storageblob3' of https://github.com/l0lawrence/azure-sd…
l0lawrence Mar 5, 2026
d15e572
update is not None's
l0lawrence Mar 5, 2026
8b98eec
model patch
l0lawrence Mar 6, 2026
885b510
skip tests
l0lawrence Mar 6, 2026
fc6aaa6
Merge branch 'main' into storageblob3
l0lawrence Mar 9, 2026
f8d6d72
update to pyproject.toml
l0lawrence Mar 9, 2026
f30a855
Merge branch 'main' into storageblob3
l0lawrence Mar 10, 2026
952296b
update
l0lawrence Mar 10, 2026
09b4dbb
wsap back
l0lawrence Mar 10, 2026
31b7d5e
remove
l0lawrence Mar 10, 2026
e86f21b
regen still with manual patches -- most recent
l0lawrence Mar 11, 2026
57f819d
mypy
l0lawrence Mar 11, 2026
9c11698
pylint passing
l0lawrence Mar 11, 2026
8c7af8e
manually made acl optional
l0lawrence Mar 11, 2026
efdaca0
bump
l0lawrence Mar 11, 2026
f722281
updating models for datalake
l0lawrence Mar 12, 2026
05dd529
make policy in policies file for easy sharing cross sdks
l0lawrence Mar 12, 2026
f27ce09
delete for now
l0lawrence Mar 12, 2026
70ab168
delete this
l0lawrence Mar 12, 2026
bfb043c
restore + regen
l0lawrence Mar 12, 2026
fe34a8b
restore
l0lawrence Mar 12, 2026
4e7dbf6
fix
l0lawrence Mar 12, 2026
6ba022a
bump
l0lawrence Mar 12, 2026
a31b10c
regen with most recent emitter + put in manual "/"
l0lawrence Mar 12, 2026
b77219b
Merge branch 'main' into storageblob3
l0lawrence Mar 12, 2026
0e0d714
update pyproject
l0lawrence Mar 12, 2026
8efe172
update pyproject
l0lawrence Mar 12, 2026
4009ecb
update again
l0lawrence Mar 12, 2026
93c7887
version fix
l0lawrence Mar 12, 2026
4016823
tmp remove /
l0lawrence Mar 12, 2026
e5cf415
shared file and conftest updates
l0lawrence Mar 12, 2026
b7f27d4
readme to match main
l0lawrence Mar 13, 2026
7977103
update changelog to main
l0lawrence Mar 13, 2026
f5f7bb2
conda bundle
l0lawrence Mar 13, 2026
0162981
this
l0lawrence Mar 13, 2026
8095223
update
l0lawrence Mar 13, 2026
c1d621e
enter line
l0lawrence Mar 13, 2026
71056ab
try updating core version?
l0lawrence Mar 13, 2026
612aa01
change stage_block ordering
l0lawrence Mar 13, 2026
62d3885
getting file-datalake closer to passing -- some questions
l0lawrence Mar 13, 2026
0162ac0
revert data-lake changes
l0lawrence Mar 13, 2026
afb67b5
Merge branch 'main' into storageblob3
l0lawrence Mar 13, 2026
221e0e9
update
l0lawrence Mar 16, 2026
6239b32
assets
l0lawrence Mar 16, 2026
1b1c716
fixing x-ms-range issue
l0lawrence Mar 16, 2026
6ace16b
try the url="/"
l0lawrence Mar 16, 2026
0042c03
service operations without "/"
l0lawrence Mar 16, 2026
b915fee
operations with slashes like i had
l0lawrence Mar 17, 2026
e599ae2
regene
l0lawrence Mar 17, 2026
dac4055
no / on service, no / in url
l0lawrence Mar 17, 2026
d3a1409
Merge branch 'main' into storageblob3
l0lawrence Mar 17, 2026
6bec206
/ changes
l0lawrence Mar 17, 2026
8d63575
do these all pass now?
l0lawrence Mar 17, 2026
4c100ce
fixing up tests
l0lawrence Mar 18, 2026
b910a2f
this
l0lawrence Mar 18, 2026
916aa62
Merge branch 'main' into storageblob3
l0lawrence Mar 18, 2026
9f35305
fix linting
l0lawrence Mar 18, 2026
7a8bd37
Merge branch 'storageblob3' of https://github.com/l0lawrence/azure-sd…
l0lawrence Mar 18, 2026
1bb804e
removing random diffs
l0lawrence Mar 18, 2026
a753dba
regen
l0lawrence Mar 18, 2026
6003ac6
manual fix
l0lawrence Mar 19, 2026
e36ef84
update patch
l0lawrence Mar 19, 2026
5160501
Merge branch 'main' into storageblob3
l0lawrence Mar 24, 2026
359fab5
update patch
l0lawrence Mar 24, 2026
7048e9a
leaky kwargs causes issues with generated functions
l0lawrence Mar 24, 2026
30dc5ac
patch for leaky kwargs too
l0lawrence Mar 24, 2026
8bbb1ae
clean up patch files
l0lawrence Mar 24, 2026
21f4482
mod conds
l0lawrence Mar 25, 2026
ee781b7
remove is not none
l0lawrence Mar 25, 2026
ff48caa
fix doc
l0lawrence Mar 25, 2026
09896ab
instead of if_match set etag/amtchconditions
l0lawrence Mar 25, 2026
8e353a6
fix imports
l0lawrence Mar 25, 2026
0783f61
update pytest skip wording
l0lawrence Mar 25, 2026
5e53c7a
updating patch
l0lawrence Mar 25, 2026
81c517d
Merge branch 'main' into storageblob3
l0lawrence Mar 25, 2026
ddfcbd3
rename
l0lawrence Mar 25, 2026
0d9fec6
Merge branch 'main' into storageblob3
l0lawrence Mar 27, 2026
dd89844
regen
l0lawrence Mar 27, 2026
90fd84c
only pass through the url once
l0lawrence Mar 27, 2026
67fd199
updating patch
l0lawrence Mar 27, 2026
16be550
cleaning up
l0lawrence Mar 27, 2026
84d39fa
Merge branch 'main' of https://github.com/Azure/azure-sdk-for-python …
l0lawrence Mar 31, 2026
26eec5a
regen stg102
l0lawrence Mar 31, 2026
aa031af
pin aiohttp
l0lawrence Mar 31, 2026
828d7b3
Address PR review: pyproject.toml deps and version defaults
l0lawrence Apr 1, 2026
42e21ec
Fix e_tag -> etag in _deserialize.py after regen
l0lawrence Apr 1, 2026
9d4ad58
first pass flattening models
l0lawrence Apr 1, 2026
4c42b50
version check
l0lawrence Apr 1, 2026
f80e124
Merge branch 'main' of https://github.com/Azure/azure-sdk-for-python …
l0lawrence Apr 1, 2026
d1179c1
remove patched models
l0lawrence Apr 1, 2026
d33d1df
regen + format
l0lawrence Apr 1, 2026
856d81f
swap order
l0lawrence Apr 1, 2026
cd7c17c
keep email address
l0lawrence Apr 2, 2026
5706a1e
flatten models in operation calls
l0lawrence Apr 2, 2026
bcca667
remove kwarg parsing from _shared file
l0lawrence Apr 2, 2026
436e23f
removing uneeded pop
l0lawrence Apr 2, 2026
0eef06f
pylint
l0lawrence Apr 2, 2026
e73ad47
Merge branch 'main' into storageblob3
l0lawrence Apr 2, 2026
b64ce60
bump version
l0lawrence Apr 2, 2026
3979658
Merge branch 'main' into storageblob3
l0lawrence Apr 6, 2026
9c2eedd
Merge branch 'main' into storageblob3
l0lawrence Apr 13, 2026
8c8e6b6
regen with new config
l0lawrence Apr 14, 2026
8a48590
Fix mypy and pylint errors in azure-storage-blob
l0lawrence Apr 14, 2026
cac55cd
Fix pylint protected-access and name-too-long warnings in storage blob
l0lawrence Apr 14, 2026
1f51ecf
pylint
l0lawrence Apr 15, 2026
27c5a99
add
l0lawrence Apr 15, 2026
9841cc3
Merge branch 'main' into storageblob3
l0lawrence Apr 16, 2026
b56492e
regen off of rust branch
l0lawrence Apr 17, 2026
06e9966
Merge branch 'main' into storageblob3
l0lawrence Apr 20, 2026
7fc2f1c
regen - fix x-ms-range
l0lawrence Apr 20, 2026
25d1f3b
formatting
l0lawrence Apr 20, 2026
6d82758
formatting
l0lawrence Apr 20, 2026
642ee4a
Fix _any_conditions to treat MatchConditions.Unconditionally as no co…
l0lawrence Apr 20, 2026
0d2d8c9
strip snapshot
l0lawrence Apr 20, 2026
c9e70eb
Merge branch 'main' into storageblob3
l0lawrence Apr 20, 2026
2b626c6
wip add backcompat model support
l0lawrence Apr 20, 2026
2333f3e
Merge branch 'main' into storageblob3
l0lawrence Apr 21, 2026
f2979d4
bandit fix
l0lawrence Apr 21, 2026
432d31d
mod _Model
l0lawrence Apr 21, 2026
42244e2
keep here
l0lawrence Apr 21, 2026
dcc91a4
this
l0lawrence Apr 21, 2026
0c163f2
fix pylint + patch
l0lawrence Apr 21, 2026
70aed14
model gen files that use nosec
l0lawrence Apr 21, 2026
67a7160
need to ensure matchcondition/etag not passed through either
l0lawrence Apr 22, 2026
9137005
Merge branch 'main' into storageblob3
l0lawrence Apr 22, 2026
405b0d1
Merge branch 'main' into storageblob3
l0lawrence Apr 27, 2026
09fc6e9
gen off of main
l0lawrence Apr 27, 2026
1257acf
Merge branch 'main' into storageblob3
l0lawrence Apr 30, 2026
00b35bd
wip changes from running against azure cli
l0lawrence May 1, 2026
5772554
wip changes from running against azure cli
l0lawrence May 1, 2026
4d4432b
regen
l0lawrence May 5, 2026
7b45ec2
Merge branch 'main' into storageblob3
l0lawrence May 6, 2026
5e8378d
Merge remote-tracking branch 'upstream/main' into storageblob3
l0lawrence May 13, 2026
9595196
[Storage Blob] Test XML deserialization perf changes
l0lawrence May 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions sdk/storage/azure-storage-blob/MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
include *.md
include azure/__init__.py
include azure/storage/__init__.py
include LICENSE
include azure/storage/blob/py.typed
recursive-include tests *.py
recursive-include samples *.py *.md
include azure/storage/blob/py.typed
include azure/__init__.py
include azure/storage/__init__.py
6 changes: 6 additions & 0 deletions sdk/storage/azure-storage-blob/_metadata.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"apiVersion": "2026-06-06",
"apiVersions": {
"Storage.Blob": "2026-06-06"
}
}
217 changes: 217 additions & 0 deletions sdk/storage/azure-storage-blob/apiview-properties.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion sdk/storage/azure-storage-blob/azure/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__path__ = __import__('pkgutil').extend_path(__path__, __name__) # type: ignore
__path__ = __import__("pkgutil").extend_path(__path__, __name__) # type: ignore
224 changes: 0 additions & 224 deletions sdk/storage/azure-storage-blob/azure/apiview-properties.json

This file was deleted.

2 changes: 1 addition & 1 deletion sdk/storage/azure-storage-blob/azure/storage/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__path__ = __import__('pkgutil').extend_path(__path__, __name__) # type: ignore
__path__ = __import__("pkgutil").extend_path(__path__, __name__) # type: ignore
134 changes: 69 additions & 65 deletions sdk/storage/azure-storage-blob/azure/storage/blob/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
AccountSasPermissions,
StorageErrorCode,
UserDelegationKey,
Services
Services,
)
from ._generated.models import RehydratePriority
from ._models import (
Expand Down Expand Up @@ -74,8 +74,10 @@
def upload_blob_to_url(
blob_url: str,
data: Union[Iterable[AnyStr], IO[AnyStr]],
credential: Optional[Union[str, Dict[str, str], "AzureNamedKeyCredential", "AzureSasCredential", "TokenCredential"]] = None, # pylint: disable=line-too-long
**kwargs: Any
credential: Optional[
Union[str, Dict[str, str], "AzureNamedKeyCredential", "AzureSasCredential", "TokenCredential"]
] = None,
**kwargs: Any,
) -> Dict[str, Any]:
"""Upload data to a given URL

Expand Down Expand Up @@ -143,8 +145,10 @@ def _download_to_stream(client: BlobClient, handle: IO[bytes], **kwargs: Any) ->
def download_blob_from_url(
blob_url: str,
output: Union[str, IO[bytes]],
credential: Optional[Union[str, Dict[str, str], "AzureNamedKeyCredential", "AzureSasCredential", "TokenCredential"]] = None, # pylint: disable=line-too-long
**kwargs: Any
credential: Optional[
Union[str, Dict[str, str], "AzureNamedKeyCredential", "AzureSasCredential", "TokenCredential"]
] = None,
**kwargs: Any,
) -> None:
"""Download the contents of a blob to a local file or stream.

Expand Down Expand Up @@ -193,72 +197,72 @@ def download_blob_from_url(
:return: None
:rtype: None
"""
overwrite = kwargs.pop('overwrite', False)
with BlobClient.from_blob_url(blob_url, credential=credential) as client: # pylint: disable=not-context-manager
if hasattr(output, 'write'):
overwrite = kwargs.pop("overwrite", False)
with BlobClient.from_blob_url(blob_url, credential=credential) as client: # pylint: disable=not-context-manager
if hasattr(output, "write"):
_download_to_stream(client, cast(IO[bytes], output), **kwargs)
else:
if not overwrite and os.path.isfile(output):
raise ValueError(f"The file '{output}' already exists.")
with open(output, 'wb') as file_handle:
with open(output, "wb") as file_handle:
_download_to_stream(client, file_handle, **kwargs)


__all__ = [
'upload_blob_to_url',
'download_blob_from_url',
'BlobServiceClient',
'ContainerClient',
'BlobClient',
'BlobType',
'BlobLeaseClient',
'StorageErrorCode',
'UserDelegationKey',
'ExponentialRetry',
'LinearRetry',
'LocationMode',
'BlockState',
'StandardBlobTier',
'PremiumPageBlobTier',
'SequenceNumberAction',
'BlobImmutabilityPolicyMode',
'ImmutabilityPolicy',
'PublicAccess',
'BlobAnalyticsLogging',
'Metrics',
'RetentionPolicy',
'StaticWebsite',
'CorsRule',
'ContainerProperties',
'BlobProperties',
'BlobPrefix',
'FilteredBlob',
'LeaseProperties',
'ContentSettings',
'CopyProperties',
'BlobBlock',
'PageRange',
'AccessPolicy',
'QuickQueryDialect',
'ContainerSasPermissions',
'BlobSasPermissions',
'ResourceTypes',
'AccountSasPermissions',
'StorageStreamDownloader',
'CustomerProvidedEncryptionKey',
'RehydratePriority',
'generate_account_sas',
'generate_container_sas',
'generate_blob_sas',
'PartialBatchErrorException',
'ContainerEncryptionScope',
'BlobQueryError',
'DelimitedJsonDialect',
'DelimitedTextDialect',
'ArrowDialect',
'ArrowType',
'BlobQueryReader',
'ObjectReplicationPolicy',
'ObjectReplicationRule',
'Services',
"upload_blob_to_url",
"download_blob_from_url",
"BlobServiceClient",
"ContainerClient",
"BlobClient",
"BlobType",
"BlobLeaseClient",
"StorageErrorCode",
"UserDelegationKey",
"ExponentialRetry",
"LinearRetry",
"LocationMode",
"BlockState",
"StandardBlobTier",
"PremiumPageBlobTier",
"SequenceNumberAction",
"BlobImmutabilityPolicyMode",
"ImmutabilityPolicy",
"PublicAccess",
"BlobAnalyticsLogging",
"Metrics",
"RetentionPolicy",
"StaticWebsite",
"CorsRule",
"ContainerProperties",
"BlobProperties",
"BlobPrefix",
"FilteredBlob",
"LeaseProperties",
"ContentSettings",
"CopyProperties",
"BlobBlock",
"PageRange",
"AccessPolicy",
"QuickQueryDialect",
"ContainerSasPermissions",
"BlobSasPermissions",
"ResourceTypes",
"AccountSasPermissions",
"StorageStreamDownloader",
"CustomerProvidedEncryptionKey",
"RehydratePriority",
"generate_account_sas",
"generate_container_sas",
"generate_blob_sas",
"PartialBatchErrorException",
"ContainerEncryptionScope",
"BlobQueryError",
"DelimitedJsonDialect",
"DelimitedTextDialect",
"ArrowDialect",
"ArrowType",
"BlobQueryReader",
"ObjectReplicationPolicy",
"ObjectReplicationRule",
"Services",
]
Loading
Loading