Skip to content

Commit 46445df

Browse files
authored
[python] Fall back to wire type for unknown encode (#3337)
* Update dependencies * Update dependencies (2026-02-10 01:15:05) * Regenerate for typespec-python (2026-02-10 01:20:24) * Update dependencies * Add changelog * Update dependencies (2026-02-10 02:55:57) * Regenerate for typespec-python (2026-02-10 03:01:21) * Update dependencies * Update dependencies (2026-02-10 05:07:01) --------- Co-authored-by: AutoPrFromHttpClientPython <AutoPrFromHttpClientPython>
1 parent e8aaa68 commit 46445df

File tree

21 files changed

+238
-231
lines changed

21 files changed

+238
-231
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
changeKind: fix
3+
packages:
4+
- "@autorest/python"
5+
- "@azure-tools/typespec-python"
6+
---
7+
8+
Fall back to wire type for unknown or unsupported encode

packages/autorest.python/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
},
3030
"homepage": "https://github.com/Azure/autorest.python/blob/main/README.md",
3131
"dependencies": {
32-
"@typespec/http-client-python": "https://artprodcus3.artifacts.visualstudio.com/A0fb41ef4-5012-48a9-bf39-4ee3de03ee35/29ec6040-b234-4e31-b139-33dc4287b756/_apis/artifact/cGlwZWxpbmVhcnRpZmFjdDovL2F6dXJlLXNkay9wcm9qZWN0SWQvMjllYzYwNDAtYjIzNC00ZTMxLWIxMzktMzNkYzQyODdiNzU2L2J1aWxkSWQvNTg1MzAwNi9hcnRpZmFjdE5hbWUvYnVpbGRfYXJ0aWZhY3RzX3B5dGhvbg2/content?format=file&subPath=%2Fpackages%2Ftypespec-http-client-python-0.27.0.tgz",
32+
"@typespec/http-client-python": "https://artprodcus3.artifacts.visualstudio.com/A0fb41ef4-5012-48a9-bf39-4ee3de03ee35/29ec6040-b234-4e31-b139-33dc4287b756/_apis/artifact/cGlwZWxpbmVhcnRpZmFjdDovL2F6dXJlLXNkay9wcm9qZWN0SWQvMjllYzYwNDAtYjIzNC00ZTMxLWIxMzktMzNkYzQyODdiNzU2L2J1aWxkSWQvNTg1ODA3NS9hcnRpZmFjdE5hbWUvYnVpbGRfYXJ0aWZhY3RzX3B5dGhvbg2/content?format=file&subPath=%2Fpackages%2Ftypespec-http-client-python-0.27.0.tgz",
3333
"@autorest/system-requirements": "~1.0.2",
3434
"fs-extra": "~11.2.0",
3535
"tsx": "~4.19.1"

packages/typespec-python/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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": "https://artprodcus3.artifacts.visualstudio.com/A0fb41ef4-5012-48a9-bf39-4ee3de03ee35/29ec6040-b234-4e31-b139-33dc4287b756/_apis/artifact/cGlwZWxpbmVhcnRpZmFjdDovL2F6dXJlLXNkay9wcm9qZWN0SWQvMjllYzYwNDAtYjIzNC00ZTMxLWIxMzktMzNkYzQyODdiNzU2L2J1aWxkSWQvNTg1MzAwNi9hcnRpZmFjdE5hbWUvYnVpbGRfYXJ0aWZhY3RzX3B5dGhvbg2/content?format=file&subPath=%2Fpackages%2Ftypespec-http-client-python-0.27.0.tgz",
70+
"@typespec/http-client-python": "https://artprodcus3.artifacts.visualstudio.com/A0fb41ef4-5012-48a9-bf39-4ee3de03ee35/29ec6040-b234-4e31-b139-33dc4287b756/_apis/artifact/cGlwZWxpbmVhcnRpZmFjdDovL2F6dXJlLXNkay9wcm9qZWN0SWQvMjllYzYwNDAtYjIzNC00ZTMxLWIxMzktMzNkYzQyODdiNzU2L2J1aWxkSWQvNTg1ODA3NS9hcnRpZmFjdE5hbWUvYnVpbGRfYXJ0aWZhY3RzX3B5dGhvbg2/content?format=file&subPath=%2Fpackages%2Ftypespec-http-client-python-0.27.0.tgz",
7171
"fs-extra": "~11.2.0"
7272
},
7373
"devDependencies": {

packages/typespec-python/test/azure/generated/azure-encode-duration/generated_tests/test_duration.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class TestDuration(DurationClientTestBase):
1717
def test_duration_constant(self, duration_endpoint):
1818
client = self.create_client(endpoint=duration_endpoint)
1919
response = client.duration_constant(
20-
body={"input": "1 day, 0:00:00"},
20+
body={"input": "str"},
2121
)
2222

2323
# please add some check logic here by yourself

packages/typespec-python/test/azure/generated/azure-encode-duration/generated_tests/test_duration_async.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class TestDurationAsync(DurationClientTestBaseAsync):
1818
async def test_duration_constant(self, duration_endpoint):
1919
client = self.create_async_client(endpoint=duration_endpoint)
2020
response = await client.duration_constant(
21-
body={"input": "1 day, 0:00:00"},
21+
body={"input": "str"},
2222
)
2323

2424
# please add some check logic here by yourself

packages/typespec-python/test/azure/generated/azure-encode-duration/specs/azure/encode/duration/models/_models.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
# --------------------------------------------------------------------------
88
# pylint: disable=useless-super-delegation
99

10-
import datetime
1110
from typing import Any, Mapping, overload
1211

1312
from .._utils.model_base import Model as _Model, rest_field
@@ -17,17 +16,17 @@ class DurationModel(_Model):
1716
"""DurationModel.
1817
1918
:ivar input: Required.
20-
:vartype input: ~datetime.timedelta
19+
:vartype input: str
2120
"""
2221

23-
input: datetime.timedelta = rest_field(visibility=["read", "create", "update", "delete", "query"])
22+
input: str = rest_field(visibility=["read", "create", "update", "delete", "query"])
2423
"""Required."""
2524

2625
@overload
2726
def __init__(
2827
self,
2928
*,
30-
input: datetime.timedelta,
29+
input: str,
3130
) -> None: ...
3231

3332
@overload

packages/typespec-python/test/azure/generated/encode-duration/encode/duration/aio/operations/_operations.py

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -429,11 +429,11 @@ async def float64_seconds(self, *, input: float, **kwargs: Any) -> None:
429429
return cls(pipeline_response, None, {}) # type: ignore
430430

431431
@distributed_trace_async
432-
async def int32_milliseconds(self, *, input: datetime.timedelta, **kwargs: Any) -> None:
432+
async def int32_milliseconds(self, *, input: int, **kwargs: Any) -> None:
433433
"""int32_milliseconds.
434434
435435
:keyword input: Required.
436-
:paramtype input: ~datetime.timedelta
436+
:paramtype input: int
437437
:return: None
438438
:rtype: None
439439
:raises ~azure.core.exceptions.HttpResponseError:
@@ -476,11 +476,11 @@ async def int32_milliseconds(self, *, input: datetime.timedelta, **kwargs: Any)
476476
return cls(pipeline_response, None, {}) # type: ignore
477477

478478
@distributed_trace_async
479-
async def int32_milliseconds_larger_unit(self, *, input: datetime.timedelta, **kwargs: Any) -> None:
479+
async def int32_milliseconds_larger_unit(self, *, input: int, **kwargs: Any) -> None:
480480
"""int32_milliseconds_larger_unit.
481481
482482
:keyword input: Required.
483-
:paramtype input: ~datetime.timedelta
483+
:paramtype input: int
484484
:return: None
485485
:rtype: None
486486
:raises ~azure.core.exceptions.HttpResponseError:
@@ -523,11 +523,11 @@ async def int32_milliseconds_larger_unit(self, *, input: datetime.timedelta, **k
523523
return cls(pipeline_response, None, {}) # type: ignore
524524

525525
@distributed_trace_async
526-
async def float_milliseconds(self, *, input: datetime.timedelta, **kwargs: Any) -> None:
526+
async def float_milliseconds(self, *, input: float, **kwargs: Any) -> None:
527527
"""float_milliseconds.
528528
529529
:keyword input: Required.
530-
:paramtype input: ~datetime.timedelta
530+
:paramtype input: float
531531
:return: None
532532
:rtype: None
533533
:raises ~azure.core.exceptions.HttpResponseError:
@@ -570,11 +570,11 @@ async def float_milliseconds(self, *, input: datetime.timedelta, **kwargs: Any)
570570
return cls(pipeline_response, None, {}) # type: ignore
571571

572572
@distributed_trace_async
573-
async def float_milliseconds_larger_unit(self, *, input: datetime.timedelta, **kwargs: Any) -> None:
573+
async def float_milliseconds_larger_unit(self, *, input: float, **kwargs: Any) -> None:
574574
"""float_milliseconds_larger_unit.
575575
576576
:keyword input: Required.
577-
:paramtype input: ~datetime.timedelta
577+
:paramtype input: float
578578
:return: None
579579
:rtype: None
580580
:raises ~azure.core.exceptions.HttpResponseError:
@@ -617,11 +617,11 @@ async def float_milliseconds_larger_unit(self, *, input: datetime.timedelta, **k
617617
return cls(pipeline_response, None, {}) # type: ignore
618618

619619
@distributed_trace_async
620-
async def float64_milliseconds(self, *, input: datetime.timedelta, **kwargs: Any) -> None:
620+
async def float64_milliseconds(self, *, input: float, **kwargs: Any) -> None:
621621
"""float64_milliseconds.
622622
623623
:keyword input: Required.
624-
:paramtype input: ~datetime.timedelta
624+
:paramtype input: float
625625
:return: None
626626
:rtype: None
627627
:raises ~azure.core.exceptions.HttpResponseError:
@@ -711,11 +711,11 @@ async def int32_seconds_array(self, *, input: list[int], **kwargs: Any) -> None:
711711
return cls(pipeline_response, None, {}) # type: ignore
712712

713713
@distributed_trace_async
714-
async def int32_milliseconds_array(self, *, input: list[datetime.timedelta], **kwargs: Any) -> None:
714+
async def int32_milliseconds_array(self, *, input: list[int], **kwargs: Any) -> None:
715715
"""int32_milliseconds_array.
716716
717717
:keyword input: Required.
718-
:paramtype input: list[~datetime.timedelta]
718+
:paramtype input: list[int]
719719
:return: None
720720
:rtype: None
721721
:raises ~azure.core.exceptions.HttpResponseError:
@@ -2908,11 +2908,11 @@ async def float64_seconds(self, *, duration: float, **kwargs: Any) -> None:
29082908
return cls(pipeline_response, None, {}) # type: ignore
29092909

29102910
@distributed_trace_async
2911-
async def int32_milliseconds(self, *, duration: datetime.timedelta, **kwargs: Any) -> None:
2911+
async def int32_milliseconds(self, *, duration: int, **kwargs: Any) -> None:
29122912
"""int32_milliseconds.
29132913
29142914
:keyword duration: Required.
2915-
:paramtype duration: ~datetime.timedelta
2915+
:paramtype duration: int
29162916
:return: None
29172917
:rtype: None
29182918
:raises ~azure.core.exceptions.HttpResponseError:
@@ -2955,11 +2955,11 @@ async def int32_milliseconds(self, *, duration: datetime.timedelta, **kwargs: An
29552955
return cls(pipeline_response, None, {}) # type: ignore
29562956

29572957
@distributed_trace_async
2958-
async def int32_milliseconds_larger_unit(self, *, duration: datetime.timedelta, **kwargs: Any) -> None:
2958+
async def int32_milliseconds_larger_unit(self, *, duration: int, **kwargs: Any) -> None:
29592959
"""int32_milliseconds_larger_unit.
29602960
29612961
:keyword duration: Required.
2962-
:paramtype duration: ~datetime.timedelta
2962+
:paramtype duration: int
29632963
:return: None
29642964
:rtype: None
29652965
:raises ~azure.core.exceptions.HttpResponseError:
@@ -3002,11 +3002,11 @@ async def int32_milliseconds_larger_unit(self, *, duration: datetime.timedelta,
30023002
return cls(pipeline_response, None, {}) # type: ignore
30033003

30043004
@distributed_trace_async
3005-
async def float_milliseconds(self, *, duration: datetime.timedelta, **kwargs: Any) -> None:
3005+
async def float_milliseconds(self, *, duration: float, **kwargs: Any) -> None:
30063006
"""float_milliseconds.
30073007
30083008
:keyword duration: Required.
3009-
:paramtype duration: ~datetime.timedelta
3009+
:paramtype duration: float
30103010
:return: None
30113011
:rtype: None
30123012
:raises ~azure.core.exceptions.HttpResponseError:
@@ -3049,11 +3049,11 @@ async def float_milliseconds(self, *, duration: datetime.timedelta, **kwargs: An
30493049
return cls(pipeline_response, None, {}) # type: ignore
30503050

30513051
@distributed_trace_async
3052-
async def float_milliseconds_larger_unit(self, *, duration: datetime.timedelta, **kwargs: Any) -> None:
3052+
async def float_milliseconds_larger_unit(self, *, duration: float, **kwargs: Any) -> None:
30533053
"""float_milliseconds_larger_unit.
30543054
30553055
:keyword duration: Required.
3056-
:paramtype duration: ~datetime.timedelta
3056+
:paramtype duration: float
30573057
:return: None
30583058
:rtype: None
30593059
:raises ~azure.core.exceptions.HttpResponseError:
@@ -3096,11 +3096,11 @@ async def float_milliseconds_larger_unit(self, *, duration: datetime.timedelta,
30963096
return cls(pipeline_response, None, {}) # type: ignore
30973097

30983098
@distributed_trace_async
3099-
async def float64_milliseconds(self, *, duration: datetime.timedelta, **kwargs: Any) -> None:
3099+
async def float64_milliseconds(self, *, duration: float, **kwargs: Any) -> None:
31003100
"""float64_milliseconds.
31013101
31023102
:keyword duration: Required.
3103-
:paramtype duration: ~datetime.timedelta
3103+
:paramtype duration: float
31043104
:return: None
31053105
:rtype: None
31063106
:raises ~azure.core.exceptions.HttpResponseError:
@@ -3143,11 +3143,11 @@ async def float64_milliseconds(self, *, duration: datetime.timedelta, **kwargs:
31433143
return cls(pipeline_response, None, {}) # type: ignore
31443144

31453145
@distributed_trace_async
3146-
async def int32_milliseconds_array(self, *, duration: list[datetime.timedelta], **kwargs: Any) -> None:
3146+
async def int32_milliseconds_array(self, *, duration: list[int], **kwargs: Any) -> None:
31473147
"""int32_milliseconds_array.
31483148
31493149
:keyword duration: Required.
3150-
:paramtype duration: list[~datetime.timedelta]
3150+
:paramtype duration: list[int]
31513151
:return: None
31523152
:rtype: None
31533153
:raises ~azure.core.exceptions.HttpResponseError:

packages/typespec-python/test/azure/generated/encode-duration/encode/duration/models/_models.py

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -45,17 +45,17 @@ class Float64MillisecondsDurationProperty(_Model):
4545
"""Float64MillisecondsDurationProperty.
4646
4747
:ivar value: Required.
48-
:vartype value: ~datetime.timedelta
48+
:vartype value: float
4949
"""
5050

51-
value: datetime.timedelta = rest_field(visibility=["read", "create", "update", "delete", "query"])
51+
value: float = rest_field(visibility=["read", "create", "update", "delete", "query"])
5252
"""Required."""
5353

5454
@overload
5555
def __init__(
5656
self,
5757
*,
58-
value: datetime.timedelta,
58+
value: float,
5959
) -> None: ...
6060

6161
@overload
@@ -101,17 +101,17 @@ class FloatMillisecondsDurationArrayProperty(_Model):
101101
"""FloatMillisecondsDurationArrayProperty.
102102
103103
:ivar value: Required.
104-
:vartype value: list[~datetime.timedelta]
104+
:vartype value: list[float]
105105
"""
106106

107-
value: list[datetime.timedelta] = rest_field(visibility=["read", "create", "update", "delete", "query"])
107+
value: list[float] = rest_field(visibility=["read", "create", "update", "delete", "query"])
108108
"""Required."""
109109

110110
@overload
111111
def __init__(
112112
self,
113113
*,
114-
value: list[datetime.timedelta],
114+
value: list[float],
115115
) -> None: ...
116116

117117
@overload
@@ -129,17 +129,17 @@ class FloatMillisecondsDurationProperty(_Model):
129129
"""FloatMillisecondsDurationProperty.
130130
131131
:ivar value: Required.
132-
:vartype value: ~datetime.timedelta
132+
:vartype value: float
133133
"""
134134

135-
value: datetime.timedelta = rest_field(visibility=["read", "create", "update", "delete", "query"])
135+
value: float = rest_field(visibility=["read", "create", "update", "delete", "query"])
136136
"""Required."""
137137

138138
@overload
139139
def __init__(
140140
self,
141141
*,
142-
value: datetime.timedelta,
142+
value: float,
143143
) -> None: ...
144144

145145
@overload
@@ -157,17 +157,17 @@ class FloatMillisecondsLargerUnitDurationProperty(_Model): # pylint: disable=na
157157
"""FloatMillisecondsLargerUnitDurationProperty.
158158
159159
:ivar value: Required.
160-
:vartype value: ~datetime.timedelta
160+
:vartype value: float
161161
"""
162162

163-
value: datetime.timedelta = rest_field(visibility=["read", "create", "update", "delete", "query"])
163+
value: float = rest_field(visibility=["read", "create", "update", "delete", "query"])
164164
"""Required."""
165165

166166
@overload
167167
def __init__(
168168
self,
169169
*,
170-
value: datetime.timedelta,
170+
value: float,
171171
) -> None: ...
172172

173173
@overload
@@ -269,17 +269,17 @@ class Int32MillisecondsDurationProperty(_Model):
269269
"""Int32MillisecondsDurationProperty.
270270
271271
:ivar value: Required.
272-
:vartype value: ~datetime.timedelta
272+
:vartype value: int
273273
"""
274274

275-
value: datetime.timedelta = rest_field(visibility=["read", "create", "update", "delete", "query"])
275+
value: int = rest_field(visibility=["read", "create", "update", "delete", "query"])
276276
"""Required."""
277277

278278
@overload
279279
def __init__(
280280
self,
281281
*,
282-
value: datetime.timedelta,
282+
value: int,
283283
) -> None: ...
284284

285285
@overload
@@ -297,17 +297,17 @@ class Int32MillisecondsLargerUnitDurationProperty(_Model): # pylint: disable=na
297297
"""Int32MillisecondsLargerUnitDurationProperty.
298298
299299
:ivar value: Required.
300-
:vartype value: ~datetime.timedelta
300+
:vartype value: int
301301
"""
302302

303-
value: datetime.timedelta = rest_field(visibility=["read", "create", "update", "delete", "query"])
303+
value: int = rest_field(visibility=["read", "create", "update", "delete", "query"])
304304
"""Required."""
305305

306306
@overload
307307
def __init__(
308308
self,
309309
*,
310-
value: datetime.timedelta,
310+
value: int,
311311
) -> None: ...
312312

313313
@overload

0 commit comments

Comments
 (0)