Skip to content

Commit 9a4fd79

Browse files
authored
Bump new version 0.45.3 (#3103)
* Update dependencies (2025-06-23 07:59:46) * Regenerate for typespec-python (2025-06-23 08:04:27) * add changelog * Update dependencies (2025-06-23 09:18:04) * Regenerate for typespec-python (2025-06-23 09:22:44) * bump version * bump dep * Update CHANGELOG.md --------- Co-authored-by: AutoPrFromHttpClientPython <AutoPrFromHttpClientPython>
1 parent c6e330d commit 9a4fd79

15 files changed

Lines changed: 117 additions & 19 deletions

File tree

packages/autorest.python/CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Release
22

3+
## 6.35.3
4+
5+
### Bump dependencies
6+
7+
- Regular release
8+
39
## 6.35.2
410

511
No changes, version bump only.

packages/autorest.python/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@autorest/python",
3-
"version": "6.35.2",
3+
"version": "6.35.3",
44
"description": "The Python extension for generators in AutoRest.",
55
"scripts": {
66
"start": "node ./scripts/run-python3.js ./scripts/start.py",
@@ -29,7 +29,7 @@
2929
},
3030
"homepage": "https://github.com/Azure/autorest.python/blob/main/README.md",
3131
"dependencies": {
32-
"@typespec/http-client-python": "~0.12.2",
32+
"@typespec/http-client-python": "~0.12.3",
3333
"@autorest/system-requirements": "~1.0.2",
3434
"fs-extra": "~11.2.0",
3535
"tsx": "~4.19.1"

packages/typespec-python/CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
# Release
22

3+
## 0.45.3
4+
5+
### Bump dependencies
6+
7+
- [#3103](https://github.com/Azure/autorest.python/pull/3103) Add support for `validate-versioning` flag, so users can toggle whether they get api versioning validation
8+
- [#3103](https://github.com/Azure/autorest.python/pull/3103) Validate api versions by looking at ordering of api versions from spec
9+
10+
311
## 0.45.2
412

513
No changes, version bump only.

packages/typespec-python/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@azure-tools/typespec-python",
3-
"version": "0.45.2",
3+
"version": "0.45.3",
44
"author": "Microsoft Corporation",
55
"description": "TypeSpec emitter for Python SDKs",
66
"homepage": "https://github.com/Azure/autorest.python",
@@ -67,7 +67,7 @@
6767
"js-yaml": "~4.1.0",
6868
"semver": "~7.6.2",
6969
"tsx": "~4.19.1",
70-
"@typespec/http-client-python": "~0.12.2",
70+
"@typespec/http-client-python": "~0.12.3",
7171
"fs-extra": "~11.2.0"
7272
},
7373
"devDependencies": {

packages/typespec-python/test/azure/generated/azure-payload-pageable/specs/azure/payload/pageable/_validation.py

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,22 @@
1010
def api_version_validation(**kwargs):
1111
params_added_on = kwargs.pop("params_added_on", {})
1212
method_added_on = kwargs.pop("method_added_on", "")
13+
api_versions_list = kwargs.pop("api_versions_list", [])
14+
15+
def _index_with_default(value: str, default: int = -1) -> int:
16+
"""Get the index of value in lst, or return default if not found.
17+
18+
:param value: The value to search for in the api_versions_list.
19+
:type value: str
20+
:param default: The default value to return if the value is not found.
21+
:type default: int
22+
:return: The index of the value in the list, or the default value if not found.
23+
:rtype: int
24+
"""
25+
try:
26+
return api_versions_list.index(value)
27+
except ValueError:
28+
return default
1329

1430
def decorator(func):
1531
@functools.wraps(func)
@@ -21,7 +37,7 @@ def wrapper(*args, **kwargs):
2137
except AttributeError:
2238
return func(*args, **kwargs)
2339

24-
if method_added_on > client_api_version:
40+
if _index_with_default(method_added_on) > _index_with_default(client_api_version):
2541
raise ValueError(
2642
f"'{func.__name__}' is not available in API version "
2743
f"{client_api_version}. Pass service API version {method_added_on} or newer to your client."
@@ -31,7 +47,7 @@ def wrapper(*args, **kwargs):
3147
parameter: api_version
3248
for api_version, parameters in params_added_on.items()
3349
for parameter in parameters
34-
if parameter in kwargs and api_version > client_api_version
50+
if parameter in kwargs and _index_with_default(api_version) > _index_with_default(client_api_version)
3551
}
3652
if unsupported:
3753
raise ValueError(

packages/typespec-python/test/azure/generated/resiliency-srv-driven2/resiliency/srv/driven2/_operations/_operations.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ class ResiliencyServiceDrivenClientOperationsMixin( # pylint: disable=name-too-
9898
@distributed_trace
9999
@api_version_validation(
100100
method_added_on="v2",
101+
api_versions_list=["v2"],
101102
)
102103
def add_operation(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements
103104
"""Added operation.
@@ -149,6 +150,7 @@ def add_operation(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-
149150
@distributed_trace
150151
@api_version_validation(
151152
params_added_on={"v2": ["new_parameter"]},
153+
api_versions_list=["v1", "v2"],
152154
)
153155
def from_none(self, *, new_parameter: Optional[str] = None, **kwargs: Any) -> bool:
154156
"""Test that grew up from accepting no parameters to an optional input parameter.
@@ -204,6 +206,7 @@ def from_none(self, *, new_parameter: Optional[str] = None, **kwargs: Any) -> bo
204206
@distributed_trace
205207
@api_version_validation(
206208
params_added_on={"v2": ["new_parameter"]},
209+
api_versions_list=["v1", "v2"],
207210
)
208211
def from_one_required( # pylint: disable=inconsistent-return-statements
209212
self, *, parameter: str, new_parameter: Optional[str] = None, **kwargs: Any
@@ -264,6 +267,7 @@ def from_one_required( # pylint: disable=inconsistent-return-statements
264267
@distributed_trace
265268
@api_version_validation(
266269
params_added_on={"v2": ["new_parameter"]},
270+
api_versions_list=["v1", "v2"],
267271
)
268272
def from_one_optional( # pylint: disable=inconsistent-return-statements
269273
self, *, parameter: Optional[str] = None, new_parameter: Optional[str] = None, **kwargs: Any

packages/typespec-python/test/azure/generated/resiliency-srv-driven2/resiliency/srv/driven2/_validation.py

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,22 @@
1010
def api_version_validation(**kwargs):
1111
params_added_on = kwargs.pop("params_added_on", {})
1212
method_added_on = kwargs.pop("method_added_on", "")
13+
api_versions_list = kwargs.pop("api_versions_list", [])
14+
15+
def _index_with_default(value: str, default: int = -1) -> int:
16+
"""Get the index of value in lst, or return default if not found.
17+
18+
:param value: The value to search for in the api_versions_list.
19+
:type value: str
20+
:param default: The default value to return if the value is not found.
21+
:type default: int
22+
:return: The index of the value in the list, or the default value if not found.
23+
:rtype: int
24+
"""
25+
try:
26+
return api_versions_list.index(value)
27+
except ValueError:
28+
return default
1329

1430
def decorator(func):
1531
@functools.wraps(func)
@@ -21,7 +37,7 @@ def wrapper(*args, **kwargs):
2137
except AttributeError:
2238
return func(*args, **kwargs)
2339

24-
if method_added_on > client_api_version:
40+
if _index_with_default(method_added_on) > _index_with_default(client_api_version):
2541
raise ValueError(
2642
f"'{func.__name__}' is not available in API version "
2743
f"{client_api_version}. Pass service API version {method_added_on} or newer to your client."
@@ -31,7 +47,7 @@ def wrapper(*args, **kwargs):
3147
parameter: api_version
3248
for api_version, parameters in params_added_on.items()
3349
for parameter in parameters
34-
if parameter in kwargs and api_version > client_api_version
50+
if parameter in kwargs and _index_with_default(api_version) > _index_with_default(client_api_version)
3551
}
3652
if unsupported:
3753
raise ValueError(

packages/typespec-python/test/azure/generated/resiliency-srv-driven2/resiliency/srv/driven2/aio/_operations/_operations.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ class ResiliencyServiceDrivenClientOperationsMixin( # pylint: disable=name-too-
4343
@distributed_trace_async
4444
@api_version_validation(
4545
method_added_on="v2",
46+
api_versions_list=["v2"],
4647
)
4748
async def add_operation(self, **kwargs: Any) -> None:
4849
"""Added operation.
@@ -94,6 +95,7 @@ async def add_operation(self, **kwargs: Any) -> None:
9495
@distributed_trace_async
9596
@api_version_validation(
9697
params_added_on={"v2": ["new_parameter"]},
98+
api_versions_list=["v1", "v2"],
9799
)
98100
async def from_none(self, *, new_parameter: Optional[str] = None, **kwargs: Any) -> bool:
99101
"""Test that grew up from accepting no parameters to an optional input parameter.
@@ -149,6 +151,7 @@ async def from_none(self, *, new_parameter: Optional[str] = None, **kwargs: Any)
149151
@distributed_trace_async
150152
@api_version_validation(
151153
params_added_on={"v2": ["new_parameter"]},
154+
api_versions_list=["v1", "v2"],
152155
)
153156
async def from_one_required(self, *, parameter: str, new_parameter: Optional[str] = None, **kwargs: Any) -> None:
154157
"""Operation that grew up from accepting one required parameter to accepting a required parameter
@@ -207,6 +210,7 @@ async def from_one_required(self, *, parameter: str, new_parameter: Optional[str
207210
@distributed_trace_async
208211
@api_version_validation(
209212
params_added_on={"v2": ["new_parameter"]},
213+
api_versions_list=["v1", "v2"],
210214
)
211215
async def from_one_optional(
212216
self, *, parameter: Optional[str] = None, new_parameter: Optional[str] = None, **kwargs: Any

packages/typespec-python/test/azure/generated/versioning-added/versioning/added/_validation.py

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,22 @@
1010
def api_version_validation(**kwargs):
1111
params_added_on = kwargs.pop("params_added_on", {})
1212
method_added_on = kwargs.pop("method_added_on", "")
13+
api_versions_list = kwargs.pop("api_versions_list", [])
14+
15+
def _index_with_default(value: str, default: int = -1) -> int:
16+
"""Get the index of value in lst, or return default if not found.
17+
18+
:param value: The value to search for in the api_versions_list.
19+
:type value: str
20+
:param default: The default value to return if the value is not found.
21+
:type default: int
22+
:return: The index of the value in the list, or the default value if not found.
23+
:rtype: int
24+
"""
25+
try:
26+
return api_versions_list.index(value)
27+
except ValueError:
28+
return default
1329

1430
def decorator(func):
1531
@functools.wraps(func)
@@ -21,7 +37,7 @@ def wrapper(*args, **kwargs):
2137
except AttributeError:
2238
return func(*args, **kwargs)
2339

24-
if method_added_on > client_api_version:
40+
if _index_with_default(method_added_on) > _index_with_default(client_api_version):
2541
raise ValueError(
2642
f"'{func.__name__}' is not available in API version "
2743
f"{client_api_version}. Pass service API version {method_added_on} or newer to your client."
@@ -31,7 +47,7 @@ def wrapper(*args, **kwargs):
3147
parameter: api_version
3248
for api_version, parameters in params_added_on.items()
3349
for parameter in parameters
34-
if parameter in kwargs and api_version > client_api_version
50+
if parameter in kwargs and _index_with_default(api_version) > _index_with_default(client_api_version)
3551
}
3652
if unsupported:
3753
raise ValueError(

packages/typespec-python/test/azure/generated/versioning-added/versioning/added/aio/operations/_operations.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@ async def v2_in_interface(
113113
@api_version_validation(
114114
method_added_on="v2",
115115
params_added_on={"v2": ["content_type", "accept"]},
116+
api_versions_list=["v2"],
116117
)
117118
async def v2_in_interface(self, body: Union[_models.ModelV2, JSON, IO[bytes]], **kwargs: Any) -> _models.ModelV2:
118119
"""v2_in_interface.
@@ -244,6 +245,7 @@ async def v1(
244245
@distributed_trace_async
245246
@api_version_validation(
246247
params_added_on={"v2": ["header_v2"]},
248+
api_versions_list=["v1", "v2"],
247249
)
248250
async def v1(
249251
self, body: Union[_models.ModelV1, JSON, IO[bytes]], *, header_v2: str, **kwargs: Any
@@ -366,6 +368,7 @@ async def v2(self, body: IO[bytes], *, content_type: str = "application/json", *
366368
@api_version_validation(
367369
method_added_on="v2",
368370
params_added_on={"v2": ["content_type", "accept"]},
371+
api_versions_list=["v2"],
369372
)
370373
async def v2(self, body: Union[_models.ModelV2, JSON, IO[bytes]], **kwargs: Any) -> _models.ModelV2:
371374
"""v2.

0 commit comments

Comments
 (0)