[AutoPR azure-keyvault-certificates]-generated-from-SDK Generation - Python-6075667#45974
[AutoPR azure-keyvault-certificates]-generated-from-SDK Generation - Python-6075667#45974
Conversation
…nfig.yaml', API Version: 2025-07-01, SDK Release Type: stable, and CommitSHA: '80cf521033f9499c3c86305d11c7de6451e796e5' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6075667 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.
There was a problem hiding this comment.
Pull request overview
This auto-generated PR updates azure-keyvault-certificates from the TypeSpec configuration for Key Vault Certificates (API version 2025-07-01) and bumps generated artifacts/metadata accordingly.
Changes:
- Updates the TypeSpec source location/commit pins and adds generation metadata files (
_metadata.json,apiview-properties.json). - Regenerates the
_generatedclient/models/utilities for API version2025-07-01and bumps the generated version to4.11.0. - Restructures packaging/layout (adds
setup.py, removessdk_packaging.toml, and changes the publicazure.keyvault.certificatespackage content).
Reviewed changes
Copilot reviewed 71 out of 71 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| sdk/keyvault/azure-keyvault-certificates/tsp-location.yaml | Updates the TypeSpec source directory/commit and common additional directory. |
| sdk/keyvault/azure-keyvault-certificates/tests/test_certificates_client_async.py | Adds file-level pylint disables. |
| sdk/keyvault/azure-keyvault-certificates/tests/test_certificates_client.py | Adds file-level pylint disables; reformats a test callsite. |
| sdk/keyvault/azure-keyvault-certificates/tests/certs.py | Adds file-level pylint disables. |
| sdk/keyvault/azure-keyvault-certificates/setup.py | Adds a setuptools-based packaging script for the generated namespace. |
| sdk/keyvault/azure-keyvault-certificates/sdk_packaging.toml | Removes packaging config file. |
| sdk/keyvault/azure-keyvault-certificates/samples/recover_purge_operations_async.py | Adds file-level pylint disables. |
| sdk/keyvault/azure-keyvault-certificates/samples/recover_purge_operations.py | Adds file-level pylint disables. |
| sdk/keyvault/azure-keyvault-certificates/samples/parse_certificate_async.py | Adds file-level pylint disables. |
| sdk/keyvault/azure-keyvault-certificates/samples/parse_certificate.py | Adds file-level pylint disables. |
| sdk/keyvault/azure-keyvault-certificates/samples/list_operations_async.py | Adds file-level pylint disables. |
| sdk/keyvault/azure-keyvault-certificates/samples/list_operations.py | Adds file-level pylint disables. |
| sdk/keyvault/azure-keyvault-certificates/samples/issuers_async.py | Adds file-level pylint disables. |
| sdk/keyvault/azure-keyvault-certificates/samples/issuers.py | Adds file-level pylint disables. |
| sdk/keyvault/azure-keyvault-certificates/samples/import_certificate_async.py | Adds file-level pylint disables. |
| sdk/keyvault/azure-keyvault-certificates/samples/import_certificate.py | Adds file-level pylint disables. |
| sdk/keyvault/azure-keyvault-certificates/samples/hello_world_async.py | Adds file-level pylint disables. |
| sdk/keyvault/azure-keyvault-certificates/samples/hello_world.py | Adds file-level pylint disables. |
| sdk/keyvault/azure-keyvault-certificates/samples/contacts_async.py | Adds file-level pylint disables. |
| sdk/keyvault/azure-keyvault-certificates/samples/contacts.py | Adds file-level pylint disables. |
| sdk/keyvault/azure-keyvault-certificates/samples/backup_restore_operations_async.py | Adds file-level pylint disables. |
| sdk/keyvault/azure-keyvault-certificates/samples/backup_restore_operations.py | Adds file-level pylint disables. |
| sdk/keyvault/azure-keyvault-certificates/pyproject.toml | Reformats TOML; moves/updates packaging config; still uses dynamic version wiring. |
| sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/py.typed | Removes the root package py.typed marker file content (and relocates type marker usage elsewhere). |
| sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/aio/_polling_async.py | Removes the legacy async polling implementation. |
| sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/aio/_client.py | Removes the legacy async high-level CertificateClient. |
| sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/aio/init.py | Removes the async package exports. |
| sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_version.py | Removes the legacy package version module. |
| sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_shared/http_challenge_cache.py | Removes legacy challenge cache implementation. |
| sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_shared/http_challenge.py | Removes legacy challenge parsing implementation. |
| sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_shared/client_base.py | Removes legacy sync client base and API version enum. |
| sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_shared/challenge_auth_policy.py | Removes legacy sync challenge auth policy. |
| sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_shared/async_client_base.py | Removes legacy async client base. |
| sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_shared/async_challenge_auth_policy.py | Removes legacy async challenge auth policy. |
| sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_shared/_polling_async.py | Removes legacy async delete/recover polling method. |
| sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_shared/_polling.py | Removes legacy sync polling helpers. |
| sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_shared/init.py | Removes legacy shared exports + helper parsing code. |
| sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_sdk_moniker.py | Removes legacy sdk moniker module (previously derived from _version). |
| sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_polling.py | Removes legacy sync create-certificate polling method. |
| sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_generated/models/_patch.py | Updates generated patch scaffolding typing/header. |
| sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_generated/models/_models.py | Regenerated models (notably typing modernizations and SAN fields additions). |
| sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_generated/models/_enums.py | Minor enum docstring punctuation/format updates. |
| sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_generated/aio/_vendor.py | Removes generated typing-only vendor mixin. |
| sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_generated/aio/_patch.py | Updates generated patch scaffolding typing/header. |
| sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_generated/aio/_operations/_patch.py | Updates generated patch scaffolding typing/header. |
| sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_generated/aio/_operations/_operations.py | Regenerates async operations (paging return types, error deserialization, decompress option, etc.). |
| sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_generated/aio/_operations/init.py | Renames operations mixin symbol and adjusts exports. |
| sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_generated/aio/_configuration.py | Updates default API version to 2025-07-01 and docs. |
| sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_generated/aio/_client.py | Updates operations mixin base and docs for API version 2025-07-01. |
| sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_generated/_version.py | Bumps generated version to 4.11.0. |
| sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_generated/_vendor.py | Removes generated typing-only vendor mixin. |
| sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_generated/_utils/serialization.py | Updates serialization typing and removes eval usage in basic serializer. |
| sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_generated/_utils/model_base.py | Updates model base internals (typing modernizations + new serialization/deserialization helpers). |
| sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_generated/_patch.py | Updates generated patch scaffolding typing/header. |
| sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_generated/_operations/_patch.py | Updates generated patch scaffolding typing/header. |
| sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_generated/_operations/init.py | Renames operations mixin symbol and adjusts exports. |
| sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_generated/_configuration.py | Updates default API version to 2025-07-01 and docs. |
| sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_generated/_client.py | Updates operations mixin base and docs for API version 2025-07-01. |
| sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_enums.py | Removes legacy public enums module. |
| sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_client.py | Removes legacy sync high-level CertificateClient. |
| sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/init.py | Converts azure.keyvault.certificates into a namespace-only package. |
| sdk/keyvault/azure-keyvault-certificates/azure/keyvault/init.py | Removes header; keeps namespace package path extension. |
| sdk/keyvault/azure-keyvault-certificates/azure/init.py | Removes header; keeps namespace package path extension. |
| sdk/keyvault/azure-keyvault-certificates/apiview-properties.json | Adds APIView cross-language mapping metadata. |
| sdk/keyvault/azure-keyvault-certificates/_metadata.json | Adds generation metadata (API version, commit, emitter version). |
| sdk/keyvault/azure-keyvault-certificates/MANIFEST.in | Adjusts included py.typed location and includes certificates __init__.py. |
| sdk/keyvault/azure-keyvault-certificates/CHANGELOG.md | Adds a 4.11.0 section (currently placeholder text). |
| install_requires=[ | ||
| "isodate>=0.6.1", | ||
| "azure-core>=1.37.0", | ||
| "typing-extensions>=4.6.0", | ||
| ], |
There was a problem hiding this comment.
setup.py declares azure-core>=1.37.0, but pyproject.toml declares azure-core>=1.31.0. Having two build definitions with different dependency minimums is error-prone and can lead to inconsistent environments depending on which build backend/path is used. Align dependency requirements (or remove the duplicate build config).
| ## 4.11.0 (2026-03-27) | ||
|
|
||
| skip changelog generation for data-plane package and please add changelog manually. | ||
|
|
||
| ## 4.10.1 (Unreleased) | ||
|
|
There was a problem hiding this comment.
The 4.11.0 changelog entry is currently a placeholder (“skip changelog generation…”). For a stable release, this needs to be replaced with real release notes describing the customer-facing changes, and the version sections should be ordered/marked consistently (e.g., an "Unreleased" section should be for the next version).
| ## 4.11.0 (2026-03-27) | |
| skip changelog generation for data-plane package and please add changelog manually. | |
| ## 4.10.1 (Unreleased) | |
| ## 4.11.1 (Unreleased) | |
| ### Features Added | |
| ### Breaking Changes | |
| ### Bugs Fixed | |
| ### Other Changes | |
| ## 4.11.0 (2026-03-27) |
| @@ -1,3 +1,4 @@ | |||
| # pylint: disable=line-too-long,useless-suppression | |||
There was a problem hiding this comment.
File-level # pylint: disable=line-too-long,useless-suppression was added. Disabling useless-suppression at the file level makes it easy to accidentally accumulate ineffective suppressions, and disabling line-too-long for the whole file hides unrelated formatting issues. Prefer wrapping the specific long lines (or using a targeted inline disable) instead of suppressing these checks for the entire file.
| create_certificate_poller = client.begin_create_certificate( | ||
| certificate_name=cert_name, policy=cert_policy | ||
| ) | ||
| create_certificate_poller = client.begin_create_certificate(certificate_name=cert_name, policy=cert_policy) |
There was a problem hiding this comment.
This call was reformatted onto a single very long line, which is likely what triggered the new file-level line-too-long suppression. Please keep the call wrapped across multiple lines (as it was before) so linting can remain enabled and the test stays readable.
| @@ -1,3 +1,4 @@ | |||
| # pylint: disable=line-too-long,useless-suppression | |||
There was a problem hiding this comment.
File-level # pylint: disable=line-too-long,useless-suppression was added. As with the sync tests, consider avoiding file-wide disables here and instead wrap the few long lines (or use targeted inline disables) to keep lint signals meaningful.
|
|
||
| from ._version import VERSION | ||
| __version__ = VERSION | ||
| __path__ = __import__("pkgutil").extend_path(__path__, __name__) # type: ignore |
There was a problem hiding this comment.
azure.keyvault.certificates is now turned into a namespace-only package (only extend_path), which removes all previously exported public symbols (e.g., CertificateClient, models/enums) and __version__. This is a breaking change for a stable release and will also break existing imports/tests. Restore the public surface (or provide a compatibility shim that re-exports the previous API) rather than leaving this package empty.
| __path__ = __import__("pkgutil").extend_path(__path__, __name__) # type: ignore | |
| __path__ = __import__("pkgutil").extend_path(__path__, __name__) # type: ignore | |
| from ._client import CertificateClient | |
| from ._models import * # type: ignore[F401,F403] # re-export models for compatibility | |
| from ._enums import * # type: ignore[F401,F403] # re-export enums for compatibility | |
| from ._version import VERSION | |
| __version__ = VERSION | |
| # Define the public surface of this package. This mirrors the previous behavior | |
| # by exposing the client, models, enums, and version at the package root. | |
| __all__ = [name for name in globals() if not name.startswith("_")] |
| [tool.setuptools.dynamic.version] | ||
| attr = "azure.keyvault.certificates._version.VERSION" | ||
|
|
There was a problem hiding this comment.
[tool.setuptools.dynamic.version] points to azure.keyvault.certificates._version.VERSION, but this module no longer exists in this PR (version is now under _generated/_version.py). This will break packaging/version resolution. Update the dynamic version attr to the correct module path or restore azure.keyvault.certificates._version as a re-export of the generated version.
| packages=find_packages( | ||
| exclude=[ | ||
| "tests", | ||
| # Exclude packages that will be covered by PEP420 or nspkg | ||
| "azure", | ||
| "azure.keyvault", | ||
| "azure.keyvault.certificates", | ||
| ] |
There was a problem hiding this comment.
setup.py excludes the azure.keyvault.certificates package itself. If this file is used for packaging, that exclusion can prevent azure.keyvault.certificates._generated from being importable because the parent package may not be included in the wheel. Either remove setup.py in favor of the repo-standard pyproject.toml build, or ensure packaging includes the parent package/modules needed for imports.
…dings for 2025-07-01 - Restore handwritten files deleted by auto-generator (_client.py, _models.py, _enums.py, _shared/*, aio/*, etc.) - Add san_ip_addresses and san_uris properties to CertificatePolicy - Add V2025_07_01 API version and set as default - Add 'Accept' to ignored_headers in conftest.py per reviewer feedback - Add 23 unit tests for SAN IP/URI feature (test_san_ip_uri.py) - Add live traffic tests (test_san_live_traffic.py) - Record sync and async tests for 2025-07-01 API version - Update assets.json with new recording tag
API Change CheckAPIView identified API level changes in this PR and created the following API reviews |
…live_traffic.py, fix async Accept header mismatch, revert assets.json tag
…CI issues - Restore V2025_07_01 in ApiVersion enum with DEFAULT_VERSION = V2025_07_01 - Restore test_san_live_traffic.py standalone live traffic test script - Record all missing 2025-07-01 test recordings (14 examples + 1 parse_id) - Update assets.json tag to include all recorded tests for 2025-07-01 - Add collect_ignore in conftest.py to exclude live traffic script from pytest - Add sdk/keyvault/cspell.json to allow 'spiffe' word in spell check - Keep async test_recover_and_purge Accept header matcher fix
Configurations: 'specification/keyvault/data-plane/Certificates/tspconfig.yaml', API Version: 2025-07-01, SDK Release Type: stable, and CommitSHA: '80cf521033f9499c3c86305d11c7de6451e796e5' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6075667 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.