Skip to content

Commit f53fe56

Browse files
authored
[python] switch response type to ItemPaged (#3088)
* Update dependencies (2025-05-15 10:00:00) * Regenerate for typespec-python (2025-05-15 10:04:49) * Regenerate for autorest.python (2025-05-15 10:21:28) * update dep --------- Co-authored-by: AutoPrFromHttpClientPython <AutoPrFromHttpClientPython>
1 parent ca4e4a2 commit f53fe56

File tree

123 files changed

+638
-653
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

123 files changed

+638
-653
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+
Fix response type of paging operations from `Iterable` to `ItemPaged`

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": "~0.11.3",
32+
"@typespec/http-client-python": "~0.12.0-dev.3",
3333
"@autorest/system-requirements": "~1.0.2",
3434
"fs-extra": "~11.2.0",
3535
"tsx": "~4.19.1"

packages/autorest.python/samples/specification/directives/generated/azure/directives/sample/_operations/_operations.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
# --------------------------------------------------------------------------
88
from collections.abc import MutableMapping
99
from io import IOBase
10-
from typing import Any, Callable, Dict, IO, Iterable, Iterator, Optional, TypeVar, Union, cast, overload
10+
from typing import Any, Callable, Dict, IO, Iterator, Optional, TypeVar, Union, cast, overload
1111

1212
from my.library import CustomDefaultPollingMethod, CustomPager, CustomPoller
1313

@@ -22,6 +22,7 @@
2222
StreamConsumedError,
2323
map_error,
2424
)
25+
from azure.core.paging import ItemPaged
2526
from azure.core.pipeline import PipelineResponse
2627
from azure.core.polling import NoPolling, PollingMethod
2728
from azure.core.rest import HttpRequest, HttpResponse
@@ -274,7 +275,7 @@ def get_long_running_output(pipeline_response):
274275
return CustomPoller[JSON](self._client, raw_result, get_long_running_output, polling_method) # type: ignore
275276

276277
@distributed_trace
277-
def basic_paging(self, **kwargs: Any) -> Iterable[JSON]:
278+
def basic_paging(self, **kwargs: Any) -> ItemPaged[JSON]:
278279
"""A simple paging operation.
279280
280281
:return: An iterator like instance of JSON object

packages/autorest.python/samples/specification/directives/generated/azure/directives/sample/aio/_operations/_operations.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@
88
# --------------------------------------------------------------------------
99
from collections.abc import MutableMapping
1010
from io import IOBase
11-
from typing import Any, AsyncIterable, AsyncIterator, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload
11+
from typing import Any, AsyncIterator, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload
1212

1313
from my.library.aio import AsyncCustomDefaultPollingMethod, AsyncCustomPager, AsyncCustomPoller
1414

1515
from azure.core import AsyncPipelineClient
16-
from azure.core.async_paging import AsyncList
16+
from azure.core.async_paging import AsyncItemPaged, AsyncList
1717
from azure.core.exceptions import (
1818
ClientAuthenticationError,
1919
HttpResponseError,
@@ -250,7 +250,7 @@ def get_long_running_output(pipeline_response):
250250
)
251251

252252
@distributed_trace
253-
def basic_paging(self, **kwargs: Any) -> AsyncIterable[JSON]:
253+
def basic_paging(self, **kwargs: Any) -> AsyncItemPaged[JSON]:
254254
"""A simple paging operation.
255255
256256
:return: An iterator like instance of JSON object

packages/autorest.python/samples/specification/multiapi/generated/azure/multiapi/sample/_operations_mixin.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
# --------------------------------------------------------------------------
1111
from ._utils.serialization import Serializer, Deserializer
1212
from io import IOBase
13-
from typing import Any, IO, Iterable, Iterator, Optional, Union
13+
from typing import Any, IO, Iterator, Optional, Union
1414

1515
from azure.core.paging import ItemPaged
1616
from azure.core.polling import LROPoller
@@ -53,7 +53,7 @@ def begin_test_lro_and_paging(
5353
client_request_id: Optional[str] = None,
5454
test_lro_and_paging_options: Optional[_models.TestLroAndPagingOptions] = None,
5555
**kwargs: Any
56-
) -> LROPoller[Iterable["_models.Product"]]:
56+
) -> LROPoller[ItemPaged["_models.Product"]]:
5757
"""A long-running paging operation that includes a nextLink that has 10 pages.
5858
5959
:param client_request_id: Default value is None.
@@ -152,7 +152,7 @@ def test_one( # pylint: disable=inconsistent-return-statements
152152
def test_paging(
153153
self,
154154
**kwargs: Any
155-
) -> Iterable["_models.ModelThree"]:
155+
) -> ItemPaged["_models.ModelThree"]:
156156
"""Returns ModelThree with optionalProperty 'paged'.
157157
158158
:return: An iterator like instance of either ModelThree or the result of cls(response)

packages/autorest.python/samples/specification/multiapi/generated/azure/multiapi/sample/aio/_operations_mixin.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
# --------------------------------------------------------------------------
1111
from .._utils.serialization import Serializer, Deserializer
1212
from io import IOBase
13-
from typing import Any, AsyncIterable, AsyncIterator, IO, Optional, Union
13+
from typing import Any, AsyncIterator, IO, Optional, Union
1414

1515
from azure.core.async_paging import AsyncItemPaged
1616
from azure.core.polling import AsyncLROPoller
@@ -54,7 +54,7 @@ async def begin_test_lro_and_paging(
5454
client_request_id: Optional[str] = None,
5555
test_lro_and_paging_options: Optional[_models.TestLroAndPagingOptions] = None,
5656
**kwargs: Any
57-
) -> AsyncLROPoller[AsyncIterable["_models.Product"]]:
57+
) -> AsyncLROPoller[AsyncItemPaged["_models.Product"]]:
5858
"""A long-running paging operation that includes a nextLink that has 10 pages.
5959
6060
:param client_request_id: Default value is None.
@@ -153,7 +153,7 @@ async def test_one(
153153
def test_paging(
154154
self,
155155
**kwargs: Any
156-
) -> AsyncIterable["_models.ModelThree"]:
156+
) -> AsyncItemPaged["_models.ModelThree"]:
157157
"""Returns ModelThree with optionalProperty 'paged'.
158158
159159
:return: An iterator like instance of either ModelThree or the result of cls(response)

packages/autorest.python/samples/specification/multiapi/generated/azure/multiapi/sample/v1/_metadata.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,8 @@
9595
"operation_group_one": "OperationGroupOneOperations"
9696
},
9797
"operation_mixins": {
98-
"sync_imports": "{\"conditional\": {\"stdlib\": {\"typing\": [\"Any\", \"Iterable\"]}}, \"regular\": {\"stdlib\": {\"typing\": [\"IO\", \"Iterator\", \"Optional\", \"Union\"], \"io\": [\"IOBase\"]}, \"sdkcore\": {\"azure.core.polling\": [\"LROPoller\"], \"azure.core.paging\": [\"ItemPaged\"]}, \"local\": {\".\": [[\"models\", \"_models\"]]}}}",
99-
"async_imports": "{\"conditional\": {\"stdlib\": {\"typing\": [\"Any\", \"AsyncIterable\"]}}, \"regular\": {\"stdlib\": {\"typing\": [\"AsyncIterator\", \"IO\", \"Optional\", \"Union\"], \"io\": [\"IOBase\"]}, \"sdkcore\": {\"azure.core.polling\": [\"AsyncLROPoller\"], \"azure.core.async_paging\": [\"AsyncItemPaged\"]}, \"local\": {\"..\": [[\"models\", \"_models\"]]}}}",
98+
"sync_imports": "{\"conditional\": {\"stdlib\": {\"typing\": [\"Any\"]}, \"sdkcore\": {\"azure.core.paging\": [\"ItemPaged\"]}}, \"regular\": {\"stdlib\": {\"typing\": [\"IO\", \"Iterator\", \"Optional\", \"Union\"], \"io\": [\"IOBase\"]}, \"sdkcore\": {\"azure.core.polling\": [\"LROPoller\"], \"azure.core.paging\": [\"ItemPaged\"]}, \"local\": {\".\": [[\"models\", \"_models\"]]}}}",
99+
"async_imports": "{\"conditional\": {\"stdlib\": {\"typing\": [\"Any\"]}, \"sdkcore\": {\"azure.core.async_paging\": [\"AsyncItemPaged\"]}}, \"regular\": {\"stdlib\": {\"typing\": [\"AsyncIterator\", \"IO\", \"Optional\", \"Union\"], \"io\": [\"IOBase\"]}, \"sdkcore\": {\"azure.core.polling\": [\"AsyncLROPoller\"], \"azure.core.async_paging\": [\"AsyncItemPaged\"]}, \"local\": {\"..\": [[\"models\", \"_models\"]]}}}",
100100
"sync_mixin_typing_definitions": "",
101101
"async_mixin_typing_definitions": "",
102102
"operations": {
@@ -154,13 +154,13 @@
154154
},
155155
"begin_test_lro_and_paging" : {
156156
"sync": {
157-
"signature": "def begin_test_lro_and_paging(\n self,\n client_request_id: Optional[str] = None,\n test_lro_and_paging_options: Optional[_models.TestLroAndPagingOptions] = None,\n **kwargs: Any\n) -\u003e LROPoller[Iterable[\"_models.Product\"]]:\n",
157+
"signature": "def begin_test_lro_and_paging(\n self,\n client_request_id: Optional[str] = None,\n test_lro_and_paging_options: Optional[_models.TestLroAndPagingOptions] = None,\n **kwargs: Any\n) -\u003e LROPoller[ItemPaged[\"_models.Product\"]]:\n",
158158
"doc": "\"\"\"A long-running paging operation that includes a nextLink that has 10 pages.\n\n:param client_request_id: Default value is None.\n:type client_request_id: str\n:param test_lro_and_paging_options: Parameter group. Default value is None.\n:type test_lro_and_paging_options: ~azure.multiapi.sample.v1.models.TestLroAndPagingOptions\n:return: An instance of LROPoller that returns an iterator like instance of either PagingResult\n or the result of cls(response)\n:rtype:\n ~azure.core.polling.LROPoller[~azure.core.paging.ItemPaged[~azure.multiapi.sample.v1.models.Product]]\n:raises ~azure.core.exceptions.HttpResponseError:\n\"\"\"",
159159
"call": "client_request_id, test_lro_and_paging_options, **kwargs"
160160
},
161161
"async": {
162162
"coroutine": true,
163-
"signature": "async def begin_test_lro_and_paging(\n self,\n client_request_id: Optional[str] = None,\n test_lro_and_paging_options: Optional[_models.TestLroAndPagingOptions] = None,\n **kwargs: Any\n) -\u003e AsyncLROPoller[AsyncIterable[\"_models.Product\"]]:\n",
163+
"signature": "async def begin_test_lro_and_paging(\n self,\n client_request_id: Optional[str] = None,\n test_lro_and_paging_options: Optional[_models.TestLroAndPagingOptions] = None,\n **kwargs: Any\n) -\u003e AsyncLROPoller[AsyncItemPaged[\"_models.Product\"]]:\n",
164164
"doc": "\"\"\"A long-running paging operation that includes a nextLink that has 10 pages.\n\n:param client_request_id: Default value is None.\n:type client_request_id: str\n:param test_lro_and_paging_options: Parameter group. Default value is None.\n:type test_lro_and_paging_options: ~azure.multiapi.sample.v1.models.TestLroAndPagingOptions\n:return: An instance of LROPoller that returns an iterator like instance of either PagingResult\n or the result of cls(response)\n:rtype:\n ~azure.core.polling.AsyncLROPoller[~azure.core.async_paging.AsyncItemPaged[~azure.multiapi.sample.v1.models.Product]]\n:raises ~azure.core.exceptions.HttpResponseError:\n\"\"\"",
165165
"call": "client_request_id, test_lro_and_paging_options, **kwargs"
166166
}

packages/autorest.python/samples/specification/multiapi/generated/azure/multiapi/sample/v1/aio/operations/_multiapi_service_client_operations.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
# --------------------------------------------------------------------------
99
from collections.abc import MutableMapping
1010
from io import IOBase
11-
from typing import Any, AsyncIterable, AsyncIterator, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload
11+
from typing import Any, AsyncIterator, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload
1212
import urllib.parse
1313

1414
from azure.core import AsyncPipelineClient
@@ -322,7 +322,7 @@ async def begin_test_lro_and_paging(
322322
client_request_id: Optional[str] = None,
323323
test_lro_and_paging_options: Optional[_models.TestLroAndPagingOptions] = None,
324324
**kwargs: Any
325-
) -> AsyncLROPoller[AsyncIterable["_models.Product"]]:
325+
) -> AsyncLROPoller[AsyncItemPaged["_models.Product"]]:
326326
"""A long-running paging operation that includes a nextLink that has 10 pages.
327327
328328
:param client_request_id: Default value is None.
@@ -435,13 +435,13 @@ async def internal_get_next(next_link=None):
435435
else:
436436
polling_method = polling
437437
if cont_token:
438-
return AsyncLROPoller[AsyncIterable["_models.Product"]].from_continuation_token(
438+
return AsyncLROPoller[AsyncItemPaged["_models.Product"]].from_continuation_token(
439439
polling_method=polling_method,
440440
continuation_token=cont_token,
441441
client=self._client,
442442
deserialization_callback=get_long_running_output,
443443
)
444-
return AsyncLROPoller[AsyncIterable["_models.Product"]](
444+
return AsyncLROPoller[AsyncItemPaged["_models.Product"]](
445445
self._client, raw_result, get_long_running_output, polling_method # type: ignore
446446
)
447447

packages/autorest.python/samples/specification/multiapi/generated/azure/multiapi/sample/v1/operations/_multiapi_service_client_operations.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
# --------------------------------------------------------------------------
88
from collections.abc import MutableMapping
99
from io import IOBase
10-
from typing import Any, Callable, Dict, IO, Iterable, Iterator, Optional, TypeVar, Union, cast, overload
10+
from typing import Any, Callable, Dict, IO, Iterator, Optional, TypeVar, Union, cast, overload
1111
import urllib.parse
1212

1313
from azure.core import PipelineClient
@@ -398,7 +398,7 @@ def begin_test_lro_and_paging(
398398
client_request_id: Optional[str] = None,
399399
test_lro_and_paging_options: Optional[_models.TestLroAndPagingOptions] = None,
400400
**kwargs: Any
401-
) -> LROPoller[Iterable["_models.Product"]]:
401+
) -> LROPoller[ItemPaged["_models.Product"]]:
402402
"""A long-running paging operation that includes a nextLink that has 10 pages.
403403
404404
:param client_request_id: Default value is None.
@@ -511,13 +511,13 @@ def internal_get_next(next_link=None):
511511
else:
512512
polling_method = polling
513513
if cont_token:
514-
return LROPoller[Iterable["_models.Product"]].from_continuation_token(
514+
return LROPoller[ItemPaged["_models.Product"]].from_continuation_token(
515515
polling_method=polling_method,
516516
continuation_token=cont_token,
517517
client=self._client,
518518
deserialization_callback=get_long_running_output,
519519
)
520-
return LROPoller[Iterable["_models.Product"]](
520+
return LROPoller[ItemPaged["_models.Product"]](
521521
self._client, raw_result, get_long_running_output, polling_method # type: ignore
522522
)
523523

packages/autorest.python/samples/specification/multiapi/generated/azure/multiapi/sample/v3/_metadata.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -96,20 +96,20 @@
9696
"operation_group_two": "OperationGroupTwoOperations"
9797
},
9898
"operation_mixins": {
99-
"sync_imports": "{\"conditional\": {\"stdlib\": {\"typing\": [\"Any\", \"Iterable\"]}}, \"regular\": {\"sdkcore\": {\"azure.core.paging\": [\"ItemPaged\"]}, \"stdlib\": {\"typing\": [\"Optional\"]}, \"local\": {\".\": [[\"models\", \"_models\"]]}}}",
100-
"async_imports": "{\"conditional\": {\"stdlib\": {\"typing\": [\"Any\", \"AsyncIterable\"]}}, \"regular\": {\"sdkcore\": {\"azure.core.async_paging\": [\"AsyncItemPaged\"]}, \"stdlib\": {\"typing\": [\"Optional\"]}, \"local\": {\"..\": [[\"models\", \"_models\"]]}}}",
99+
"sync_imports": "{\"conditional\": {\"stdlib\": {\"typing\": [\"Any\"]}, \"sdkcore\": {\"azure.core.paging\": [\"ItemPaged\"]}}, \"regular\": {\"sdkcore\": {\"azure.core.paging\": [\"ItemPaged\"]}, \"stdlib\": {\"typing\": [\"Optional\"]}, \"local\": {\".\": [[\"models\", \"_models\"]]}}}",
100+
"async_imports": "{\"conditional\": {\"stdlib\": {\"typing\": [\"Any\"]}, \"sdkcore\": {\"azure.core.async_paging\": [\"AsyncItemPaged\"]}}, \"regular\": {\"sdkcore\": {\"azure.core.async_paging\": [\"AsyncItemPaged\"]}, \"stdlib\": {\"typing\": [\"Optional\"]}, \"local\": {\"..\": [[\"models\", \"_models\"]]}}}",
101101
"sync_mixin_typing_definitions": "",
102102
"async_mixin_typing_definitions": "",
103103
"operations": {
104104
"test_paging" : {
105105
"sync": {
106-
"signature": "def test_paging(\n self,\n **kwargs: Any\n) -\u003e Iterable[\"_models.ModelThree\"]:\n",
106+
"signature": "def test_paging(\n self,\n **kwargs: Any\n) -\u003e ItemPaged[\"_models.ModelThree\"]:\n",
107107
"doc": "\"\"\"Returns ModelThree with optionalProperty \u0027paged\u0027.\n\n:return: An iterator like instance of either ModelThree or the result of cls(response)\n:rtype: ~azure.core.paging.ItemPaged[~azure.multiapi.sample.v3.models.ModelThree]\n:raises ~azure.core.exceptions.HttpResponseError:\n\"\"\"",
108108
"call": "**kwargs"
109109
},
110110
"async": {
111111
"coroutine": false,
112-
"signature": "def test_paging(\n self,\n **kwargs: Any\n) -\u003e AsyncIterable[\"_models.ModelThree\"]:\n",
112+
"signature": "def test_paging(\n self,\n **kwargs: Any\n) -\u003e AsyncItemPaged[\"_models.ModelThree\"]:\n",
113113
"doc": "\"\"\"Returns ModelThree with optionalProperty \u0027paged\u0027.\n\n:return: An iterator like instance of either ModelThree or the result of cls(response)\n:rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.multiapi.sample.v3.models.ModelThree]\n:raises ~azure.core.exceptions.HttpResponseError:\n\"\"\"",
114114
"call": "**kwargs"
115115
}

0 commit comments

Comments
 (0)