Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
c95ab39
generated samples & tests
kashifkhan Nov 10, 2025
bf3f61c
remove setup.py and replace with pyproject.toml
kashifkhan Nov 10, 2025
f8de977
initial generated client
kashifkhan Nov 10, 2025
278cc66
delete old generated files
kashifkhan Nov 10, 2025
ce7aff3
update patch for proper imports
kashifkhan Nov 10, 2025
7c38bfa
new regen
kashifkhan Nov 10, 2025
35b3549
port ops patch from old code
kashifkhan Nov 10, 2025
a119add
sync import fixes
kashifkhan Nov 10, 2025
2955fc5
fix async import
kashifkhan Nov 10, 2025
2a9b71a
fix param order in base client
kashifkhan Nov 10, 2025
e4f759b
fix endpoint
kashifkhan Nov 10, 2025
ff89af5
fix endpoints
kashifkhan Nov 10, 2025
bc08272
fix endpoint ref
kashifkhan Nov 10, 2025
35cb39b
fix other endpoint
kashifkhan Nov 10, 2025
dc558ac
fix patch to use the right deserializer
kashifkhan Nov 11, 2025
8ef2cb8
operations after regen
kashifkhan Nov 11, 2025
f280edf
update after regen
kashifkhan Nov 11, 2025
1b90b30
updated sample
kashifkhan Nov 11, 2025
eeda445
point to the right config endpoint
kashifkhan Nov 11, 2025
734a673
new regen
kashifkhan Nov 19, 2025
c1d9f05
fix import
kashifkhan Nov 19, 2025
afc7822
add await
kashifkhan Nov 19, 2025
7b6d6eb
fix kwarg name
kashifkhan Nov 19, 2025
b10dfac
fix async route
kashifkhan Nov 19, 2025
6ea6938
update to right model
kashifkhan Nov 19, 2025
4f64484
fix async list repo name
kashifkhan Dec 2, 2025
eace984
fix async manifest list
kashifkhan Dec 3, 2025
446fb45
point to right model
kashifkhan Dec 3, 2025
9ea0bc4
formatting and regen
kashifkhan Dec 3, 2025
234d9b7
fix async routes
kashifkhan Dec 3, 2025
927ac90
fix for empty result
kashifkhan Dec 3, 2025
99fb8b1
handle empty list
kashifkhan Dec 3, 2025
9fe5f4a
fix unit tests
kashifkhan Dec 5, 2025
896fa41
regen for streaming on chunk
kashifkhan Jan 7, 2026
2521578
update assets.json to point to new recordings
kashifkhan Jan 12, 2026
c5904a1
update cspell
kashifkhan Jan 13, 2026
1242c92
pylint fixes
kashifkhan Jan 13, 2026
d6ff763
formatting
kashifkhan Jan 13, 2026
c3a3be9
more formatting
kashifkhan Jan 13, 2026
3d1c5be
mypy fixes
kashifkhan Jan 13, 2026
141c803
more pylint issues
kashifkhan Jan 13, 2026
d2b1bba
fix mypy and pylint issues
kashifkhan Jan 14, 2026
33687a3
fix indentation issues
kashifkhan Jan 14, 2026
51f0a52
black fixes
kashifkhan Jan 14, 2026
4e27e8d
mypy
kashifkhan Jan 14, 2026
dbb345b
fix docs issue
kashifkhan Jan 14, 2026
a33fcee
sphix fix
kashifkhan Jan 14, 2026
0c98841
remove changes
kashifkhan Jan 14, 2026
aa04d8a
regen updates after tsp updates
kashifkhan Jan 24, 2026
d5508cf
mypy fixes
kashifkhan Jan 26, 2026
d68f7b3
mypy and pylint fixes
kashifkhan Jan 26, 2026
48f88bd
black
kashifkhan Jan 26, 2026
6c4b300
fixes
kashifkhan Jan 26, 2026
f6dc028
await async tests
kashifkhan Jan 26, 2026
215ac1e
regenerated, black format
kashifkhan Jan 27, 2026
1a4d296
regen gen tests
kashifkhan Jan 27, 2026
f9741a4
update snippets
kashifkhan Jan 27, 2026
2b39a60
fix snippets
kashifkhan Jan 27, 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
7 changes: 6 additions & 1 deletion .vscode/cspell.json
Original file line number Diff line number Diff line change
Expand Up @@ -954,7 +954,12 @@
"udpated",
"cncf",
"oras",
"rootfs"
"rootfs",
"GOARCH",
"armv",
"nouploadcache",
"newimg",
""
]
},
{
Expand Down
4 changes: 2 additions & 2 deletions sdk/containerregistry/azure-containerregistry/MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
include *.md
include azure/__init__.py
include LICENSE
include azure/containerregistry/py.typed
recursive-include tests *.py
recursive-include samples *.py *.md
include azure/containerregistry/py.typed
include azure/__init__.py
4 changes: 2 additions & 2 deletions sdk/containerregistry/azure-containerregistry/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -141,9 +141,9 @@ with ContainerRegistryClient(self.endpoint, self.credential) as client:
manifest_count += 1
if manifest_count > 3:
# Make sure will have the permission to delete the manifest later
client.update_manifest_properties(repository, manifest.digest, can_write=True, can_delete=True)
client.update_manifest_properties(repository, manifest.digest, can_write=True, can_delete=True) # type: ignore[arg-type]
print(f"Deleting {repository}:{manifest.digest}")
client.delete_manifest(repository, manifest.digest)
client.delete_manifest(repository, manifest.digest) # type: ignore[arg-type]
```

<!-- END SNIPPET -->
Expand Down
3 changes: 3 additions & 0 deletions sdk/containerregistry/azure-containerregistry/_metadata.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"apiVersion": "2021-07-01"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
{
"CrossLanguagePackageId": "ContainerRegistryService",
"CrossLanguageDefinitionId": {
"azure.containerregistry.models.AcrAccessToken": "ContainerRegistryService.AcrAccessToken",
"azure.containerregistry.models.AcrErrorInfo": "ContainerRegistryService.AcrErrorInfo",
"azure.containerregistry.models.AcrErrors": "ContainerRegistryService.AcrErrors",
"azure.containerregistry.models.AcrManifests": "ContainerRegistryService.AcrManifests",
"azure.containerregistry.models.AcrRefreshToken": "ContainerRegistryService.AcrRefreshToken",
"azure.containerregistry.models.Annotations": "ContainerRegistryService.Annotations",
"azure.containerregistry.models.ArtifactManifestPlatform": "ContainerRegistryService.ArtifactManifestPlatform",
"azure.containerregistry.models.ArtifactManifestProperties": "ContainerRegistryService.ArtifactManifestProperties",
"azure.containerregistry.models.ArtifactTagProperties": "ContainerRegistryService.ArtifactTagProperties",
"azure.containerregistry.models.ContainerRepositoryProperties": "ContainerRegistryService.ContainerRepositoryProperties",
"azure.containerregistry.models.DeleteRepositoryResult": "ContainerRegistryService.DeleteRepositoryResult",
"azure.containerregistry.models.Descriptor": "ContainerRegistryService.Descriptor",
"azure.containerregistry.models.FsLayer": "ContainerRegistryService.FsLayer",
"azure.containerregistry.models.History": "ContainerRegistryService.History",
"azure.containerregistry.models.ImageSignature": "ContainerRegistryService.ImageSignature",
"azure.containerregistry.models.JWK": "ContainerRegistryService.JWK",
"azure.containerregistry.models.JWKHeader": "ContainerRegistryService.JWKHeader",
"azure.containerregistry.models.Manifest": "ContainerRegistryService.Manifest",
"azure.containerregistry.models.ManifestAttributesBase": "ContainerRegistryService.ManifestAttributesBase",
"azure.containerregistry.models.ManifestListAttributes": "ContainerRegistryService.ManifestListAttributes",
"azure.containerregistry.models.ManifestWrapper": "ContainerRegistryService.ManifestWrapper",
"azure.containerregistry.models.ManifestWriteableProperties": "ContainerRegistryService.ManifestWriteableProperties",
"azure.containerregistry.models.MultipartBodyParameter": "ContainerRegistryService.MultipartBodyParameter",
"azure.containerregistry.models.Platform": "ContainerRegistryService.Platform",
"azure.containerregistry.models.RepositoryWriteableProperties": "ContainerRegistryService.RepositoryWriteableProperties",
"azure.containerregistry.models.TagAttributesBase": "ContainerRegistryService.TagAttributesBase",
"azure.containerregistry.models.TagList": "ContainerRegistryService.TagList",
"azure.containerregistry.models.TagWriteableProperties": "ContainerRegistryService.TagWriteableProperties",
"azure.containerregistry.models.ArtifactTagOrder": "ContainerRegistryService.ArtifactTagOrder",
"azure.containerregistry.models.ArtifactArchitecture": "ContainerRegistryService.ArtifactArchitecture",
"azure.containerregistry.models.ArtifactOperatingSystem": "ContainerRegistryService.ArtifactOperatingSystem",
"azure.containerregistry.models.ArtifactManifestOrder": "ContainerRegistryService.ArtifactManifestOrder",
"azure.containerregistry.models.PostContentSchemaGrantType": "ContainerRegistryService.PostContentSchemaGrantType",
"azure.containerregistry.models.TokenGrantType": "ContainerRegistryService.TokenGrantType",
"azure.containerregistry.operations.ContainerRegistryOperations.check_docker_v2_support": "ContainerRegistryService.ContainerRegistry.checkDockerV2Support",
"azure.containerregistry.aio.operations.ContainerRegistryOperations.check_docker_v2_support": "ContainerRegistryService.ContainerRegistry.checkDockerV2Support",
"azure.containerregistry.operations.ContainerRegistryOperations.get_manifest": "ContainerRegistryService.ContainerRegistry.getManifest",
"azure.containerregistry.aio.operations.ContainerRegistryOperations.get_manifest": "ContainerRegistryService.ContainerRegistry.getManifest",
"azure.containerregistry.operations.ContainerRegistryOperations.create_manifest": "ContainerRegistryService.ContainerRegistry.createManifest",
"azure.containerregistry.aio.operations.ContainerRegistryOperations.create_manifest": "ContainerRegistryService.ContainerRegistry.createManifest",
"azure.containerregistry.operations.ContainerRegistryOperations.delete_manifest": "ContainerRegistryService.ContainerRegistry.deleteManifest",
"azure.containerregistry.aio.operations.ContainerRegistryOperations.delete_manifest": "ContainerRegistryService.ContainerRegistry.deleteManifest",
"azure.containerregistry.operations.ContainerRegistryOperations.get_repositories": "ContainerRegistryService.ContainerRegistry.getRepositories",
"azure.containerregistry.aio.operations.ContainerRegistryOperations.get_repositories": "ContainerRegistryService.ContainerRegistry.getRepositories",
"azure.containerregistry.operations.ContainerRegistryOperations.get_properties": "ContainerRegistryService.ContainerRegistry.getProperties",
"azure.containerregistry.aio.operations.ContainerRegistryOperations.get_properties": "ContainerRegistryService.ContainerRegistry.getProperties",
"azure.containerregistry.operations.ContainerRegistryOperations.delete_repository": "ContainerRegistryService.ContainerRegistry.deleteRepository",
"azure.containerregistry.aio.operations.ContainerRegistryOperations.delete_repository": "ContainerRegistryService.ContainerRegistry.deleteRepository",
"azure.containerregistry.operations.ContainerRegistryOperations.update_properties": "ContainerRegistryService.ContainerRegistry.updateProperties",
"azure.containerregistry.aio.operations.ContainerRegistryOperations.update_properties": "ContainerRegistryService.ContainerRegistry.updateProperties",
"azure.containerregistry.operations.ContainerRegistryOperations.get_tags": "ContainerRegistryService.ContainerRegistry.getTags",
"azure.containerregistry.aio.operations.ContainerRegistryOperations.get_tags": "ContainerRegistryService.ContainerRegistry.getTags",
"azure.containerregistry.operations.ContainerRegistryOperations.get_tag_properties": "ContainerRegistryService.ContainerRegistry.getTagProperties",
"azure.containerregistry.aio.operations.ContainerRegistryOperations.get_tag_properties": "ContainerRegistryService.ContainerRegistry.getTagProperties",
"azure.containerregistry.operations.ContainerRegistryOperations.update_tag_attributes": "ContainerRegistryService.ContainerRegistry.updateTagAttributes",
"azure.containerregistry.aio.operations.ContainerRegistryOperations.update_tag_attributes": "ContainerRegistryService.ContainerRegistry.updateTagAttributes",
"azure.containerregistry.operations.ContainerRegistryOperations.delete_tag": "ContainerRegistryService.ContainerRegistry.deleteTag",
"azure.containerregistry.aio.operations.ContainerRegistryOperations.delete_tag": "ContainerRegistryService.ContainerRegistry.deleteTag",
"azure.containerregistry.operations.ContainerRegistryOperations.get_manifests": "ContainerRegistryService.ContainerRegistry.getManifests",
"azure.containerregistry.aio.operations.ContainerRegistryOperations.get_manifests": "ContainerRegistryService.ContainerRegistry.getManifests",
"azure.containerregistry.operations.ContainerRegistryOperations.get_manifest_properties": "ContainerRegistryService.ContainerRegistry.getManifestProperties",
"azure.containerregistry.aio.operations.ContainerRegistryOperations.get_manifest_properties": "ContainerRegistryService.ContainerRegistry.getManifestProperties",
"azure.containerregistry.operations.ContainerRegistryOperations.update_manifest_properties": "ContainerRegistryService.ContainerRegistry.updateManifestProperties",
"azure.containerregistry.aio.operations.ContainerRegistryOperations.update_manifest_properties": "ContainerRegistryService.ContainerRegistry.updateManifestProperties",
"azure.containerregistry.operations.ContainerRegistryBlobOperations.get_blob": "ContainerRegistryService.ContainerRegistryBlob.getBlob",
"azure.containerregistry.aio.operations.ContainerRegistryBlobOperations.get_blob": "ContainerRegistryService.ContainerRegistryBlob.getBlob",
"azure.containerregistry.operations.ContainerRegistryBlobOperations.check_blob_exists": "ContainerRegistryService.ContainerRegistryBlob.checkBlobExists",
"azure.containerregistry.aio.operations.ContainerRegistryBlobOperations.check_blob_exists": "ContainerRegistryService.ContainerRegistryBlob.checkBlobExists",
"azure.containerregistry.operations.ContainerRegistryBlobOperations.delete_blob": "ContainerRegistryService.ContainerRegistryBlob.deleteBlob",
"azure.containerregistry.aio.operations.ContainerRegistryBlobOperations.delete_blob": "ContainerRegistryService.ContainerRegistryBlob.deleteBlob",
"azure.containerregistry.operations.ContainerRegistryBlobOperations.mount_blob": "ContainerRegistryService.ContainerRegistryBlob.mountBlob",
"azure.containerregistry.aio.operations.ContainerRegistryBlobOperations.mount_blob": "ContainerRegistryService.ContainerRegistryBlob.mountBlob",
"azure.containerregistry.operations.ContainerRegistryBlobOperations.get_upload_status": "ContainerRegistryService.ContainerRegistryBlob.getUploadStatus",
"azure.containerregistry.aio.operations.ContainerRegistryBlobOperations.get_upload_status": "ContainerRegistryService.ContainerRegistryBlob.getUploadStatus",
"azure.containerregistry.operations.ContainerRegistryBlobOperations.upload_chunk": "ContainerRegistryService.ContainerRegistryBlob.uploadChunk",
"azure.containerregistry.aio.operations.ContainerRegistryBlobOperations.upload_chunk": "ContainerRegistryService.ContainerRegistryBlob.uploadChunk",
"azure.containerregistry.operations.ContainerRegistryBlobOperations.complete_upload": "ContainerRegistryService.ContainerRegistryBlob.completeUpload",
"azure.containerregistry.aio.operations.ContainerRegistryBlobOperations.complete_upload": "ContainerRegistryService.ContainerRegistryBlob.completeUpload",
"azure.containerregistry.operations.ContainerRegistryBlobOperations.cancel_upload": "ContainerRegistryService.ContainerRegistryBlob.cancelUpload",
"azure.containerregistry.aio.operations.ContainerRegistryBlobOperations.cancel_upload": "ContainerRegistryService.ContainerRegistryBlob.cancelUpload",
"azure.containerregistry.operations.ContainerRegistryBlobOperations.start_upload": "ContainerRegistryService.ContainerRegistryBlob.startUpload",
"azure.containerregistry.aio.operations.ContainerRegistryBlobOperations.start_upload": "ContainerRegistryService.ContainerRegistryBlob.startUpload",
"azure.containerregistry.operations.ContainerRegistryBlobOperations.get_chunk": "ContainerRegistryService.ContainerRegistryBlob.getChunk",
"azure.containerregistry.aio.operations.ContainerRegistryBlobOperations.get_chunk": "ContainerRegistryService.ContainerRegistryBlob.getChunk",
"azure.containerregistry.operations.ContainerRegistryBlobOperations.check_chunk_exists": "ContainerRegistryService.ContainerRegistryBlob.checkChunkExists",
"azure.containerregistry.aio.operations.ContainerRegistryBlobOperations.check_chunk_exists": "ContainerRegistryService.ContainerRegistryBlob.checkChunkExists",
"azure.containerregistry.operations.AuthenticationOperations.exchange_aad_access_token_for_acr_refresh_token": "ContainerRegistryService.Authentication.exchangeAadAccessTokenForAcrRefreshToken",
"azure.containerregistry.aio.operations.AuthenticationOperations.exchange_aad_access_token_for_acr_refresh_token": "ContainerRegistryService.Authentication.exchangeAadAccessTokenForAcrRefreshToken",
"azure.containerregistry.operations.AuthenticationOperations.exchange_acr_refresh_token_for_acr_access_token": "ContainerRegistryService.Authentication.exchangeAcrRefreshTokenForAcrAccessToken",
"azure.containerregistry.aio.operations.AuthenticationOperations.exchange_acr_refresh_token_for_acr_access_token": "ContainerRegistryService.Authentication.exchangeAcrRefreshTokenForAcrAccessToken",
"azure.containerregistry.operations.AuthenticationOperations.get_acr_access_token_from_login": "ContainerRegistryService.Authentication.getAcrAccessTokenFromLogin",
"azure.containerregistry.aio.operations.AuthenticationOperations.get_acr_access_token_from_login": "ContainerRegistryService.Authentication.getAcrAccessTokenFromLogin"
}
}
2 changes: 1 addition & 1 deletion sdk/containerregistry/azure-containerregistry/assets.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
"AssetsRepo": "Azure/azure-sdk-assets",
"AssetsRepoPrefixPath": "python",
"TagPrefix": "python/containerregistry/azure-containerregistry",
"Tag": "python/containerregistry/azure-containerregistry_55d84769d4"
"Tag": "python/containerregistry/azure-containerregistry_98be10d599"
}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__path__ = __import__("pkgutil").extend_path(__path__, __name__)
__path__ = __import__("pkgutil").extend_path(__path__, __name__) # type: ignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,39 +2,31 @@
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# Code generated by Microsoft (R) AutoRest Code Generator.
# Code generated by Microsoft (R) Python Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
# pylint: disable=wrong-import-position

from ._container_registry_client import ContainerRegistryClient
from ._generated.models import (
ArtifactManifestOrder,
ArtifactTagOrder,
)
from ._models import (
ArtifactArchitecture,
ArtifactOperatingSystem,
ArtifactManifestProperties,
RepositoryProperties,
ArtifactTagProperties,
GetManifestResult,
DigestValidationError,
)
from ._download_stream import DownloadBlobStream
from typing import TYPE_CHECKING

if TYPE_CHECKING:
from ._patch import * # pylint: disable=unused-wildcard-import

from ._client import ContainerRegistryClient # type: ignore
from ._version import VERSION

__version__ = VERSION

try:
from ._patch import __all__ as _patch_all
from ._patch import *
except ImportError:
_patch_all = []
from ._patch import patch_sdk as _patch_sdk

__all__ = [
"ArtifactArchitecture",
"ArtifactOperatingSystem",
"ContainerRegistryClient",
"ArtifactManifestOrder",
"ArtifactManifestProperties",
"RepositoryProperties",
"ArtifactTagOrder",
"ArtifactTagProperties",
"GetManifestResult",
"DownloadBlobStream",
"DigestValidationError",
]
__all__.extend([p for p in _patch_all if p not in __all__]) # pyright: ignore

_patch_sdk()
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
from azure.core.credentials import TokenCredential, AccessToken

from ._exchange_client import ExchangeClientAuthenticationPolicy
from ._generated import ContainerRegistry
from ._generated.models import TokenGrantType
from ._generated.operations._patch import AuthenticationOperations
from ._client import ContainerRegistryClient as ContainerRegistry
from .models import TokenGrantType
from .operations import AuthenticationOperations
from ._helpers import _parse_challenge
from ._user_agent import USER_AGENT

Expand Down Expand Up @@ -38,8 +38,8 @@ def __init__( # pylint: disable=missing-client-constructor-parameter-credential
endpoint = "https://" + endpoint
self._endpoint = endpoint
self._client = ContainerRegistry(
endpoint=endpoint,
credential=AnonymousAccessCredential(),
url=endpoint,
sdk_moniker=USER_AGENT,
authentication_policy=ExchangeClientAuthenticationPolicy(),
**kwargs
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

from ._authentication_policy import ContainerRegistryChallengePolicy
from ._anonymous_exchange_client import AnonymousAccessCredential
from ._generated import ContainerRegistry
from ._client import ContainerRegistryClient as ContainerRegistry
from ._user_agent import USER_AGENT

ClientType = TypeVar("ClientType", bound="ContainerRegistryBaseClient")
Expand All @@ -39,8 +39,8 @@ class ContainerRegistryBaseClient(object):
def __init__(self, endpoint: str, credential: Optional[TokenCredential], **kwargs: Any) -> None:
self._auth_policy = ContainerRegistryChallengePolicy(credential, endpoint, **kwargs)
self._client = ContainerRegistry(
endpoint=endpoint,
credential=credential or AnonymousAccessCredential(),
url=endpoint,
sdk_moniker=USER_AGENT,
authentication_policy=self._auth_policy,
**kwargs
Expand Down
Loading
Loading