From 9fb357e18aa800fd21d62ecb31690abcb65502af Mon Sep 17 00:00:00 2001 From: Stainless Bot <107565488+stainless-bot@users.noreply.github.com> Date: Wed, 20 Dec 2023 14:53:18 -0500 Subject: [PATCH 1/2] chore(internal): minor updates to pagination (#236) --- src/finch/pagination.py | 100 ++++++++++++---------------------------- 1 file changed, 30 insertions(+), 70 deletions(-) diff --git a/src/finch/pagination.py b/src/finch/pagination.py index cd513eb1..f1b6e37a 100644 --- a/src/finch/pagination.py +++ b/src/finch/pagination.py @@ -30,10 +30,7 @@ class SyncSinglePage(BaseSyncPage[ModelT], BasePage[ModelT], Generic[ModelT]): @override def _get_page_items(self) -> List[ModelT]: - items = self.items - if not items: - return [] - return items + return self.items @override def next_page_info(self) -> None: @@ -58,10 +55,7 @@ class AsyncSinglePage(BaseAsyncPage[ModelT], BasePage[ModelT], Generic[ModelT]): @override def _get_page_items(self) -> List[ModelT]: - items = self.items - if not items: - return [] - return items + return self.items @override def next_page_info(self) -> None: @@ -86,10 +80,7 @@ class SyncResponsesPage(BaseSyncPage[ModelT], BasePage[ModelT], Generic[ModelT]) @override def _get_page_items(self) -> List[ModelT]: - responses = self.responses - if not responses: - return [] - return responses + return self.responses @override def next_page_info(self) -> None: @@ -105,10 +96,7 @@ class AsyncResponsesPage(BaseAsyncPage[ModelT], BasePage[ModelT], Generic[ModelT @override def _get_page_items(self) -> List[ModelT]: - responses = self.responses - if not responses: - return [] - return responses + return self.responses @override def next_page_info(self) -> None: @@ -125,29 +113,22 @@ class SyncIndividualsPage(BaseSyncPage[ModelT], BasePage[ModelT], Generic[ModelT @override def _get_page_items(self) -> List[ModelT]: - individuals = self.individuals - if not individuals: - return [] - return individuals + return self.individuals @override def next_page_info(self) -> Optional[PageInfo]: - offset = None - if self.paging is not None: # pyright: ignore[reportUnnecessaryComparison] - offset = self.paging.offset + offset = self.paging.offset if offset is None: return None - length = len(self._get_page_items()) + length = len(self.individuals) current_count = offset + length - count = None - if self.paging is not None: # pyright: ignore[reportUnnecessaryComparison] - count = self.paging.count - if count is None: + total_count = self.paging.count + if total_count is None: return None - if current_count < count: + if current_count < total_count: return PageInfo(params={"offset": current_count}) return None @@ -159,97 +140,76 @@ class AsyncIndividualsPage(BaseAsyncPage[ModelT], BasePage[ModelT], Generic[Mode @override def _get_page_items(self) -> List[ModelT]: - individuals = self.individuals - if not individuals: - return [] - return individuals + return self.individuals @override def next_page_info(self) -> Optional[PageInfo]: - offset = None - if self.paging is not None: # pyright: ignore[reportUnnecessaryComparison] - offset = self.paging.offset + offset = self.paging.offset if offset is None: return None - length = len(self._get_page_items()) + length = len(self.individuals) current_count = offset + length - count = None - if self.paging is not None: # pyright: ignore[reportUnnecessaryComparison] - count = self.paging.count - if count is None: + total_count = self.paging.count + if total_count is None: return None - if current_count < count: + if current_count < total_count: return PageInfo(params={"offset": current_count}) return None class SyncPage(BaseSyncPage[ModelT], BasePage[ModelT], Generic[ModelT]): - data: List[ModelT] paging: Paging + data: List[ModelT] @override def _get_page_items(self) -> List[ModelT]: - data = self.data - if not data: - return [] - return data + return self.data @override def next_page_info(self) -> Optional[PageInfo]: - offset = None - if self.paging is not None: # pyright: ignore[reportUnnecessaryComparison] - offset = self.paging.offset + offset = self.paging.offset if offset is None: return None - length = len(self._get_page_items()) + length = len(self.data) current_count = offset + length - count = None - if self.paging is not None: # pyright: ignore[reportUnnecessaryComparison] - count = self.paging.count - if count is None: + total_count = self.paging.count + if total_count is None: return None - if current_count < count: + if current_count < total_count: return PageInfo(params={"offset": current_count}) return None class AsyncPage(BaseAsyncPage[ModelT], BasePage[ModelT], Generic[ModelT]): - data: List[ModelT] paging: Paging + data: List[ModelT] @override def _get_page_items(self) -> List[ModelT]: - data = self.data - if not data: - return [] - return data + return self.data @override def next_page_info(self) -> Optional[PageInfo]: - offset = None - if self.paging is not None: # pyright: ignore[reportUnnecessaryComparison] - offset = self.paging.offset + offset = self.paging.offset if offset is None: return None - length = len(self._get_page_items()) + length = len(self.data) current_count = offset + length - count = None - if self.paging is not None: # pyright: ignore[reportUnnecessaryComparison] - count = self.paging.count - if count is None: + total_count = self.paging.count + if total_count is None: return None - if current_count < count: + if current_count < total_count: return PageInfo(params={"offset": current_count}) return None From 36e400af4b3aeb5aa9d06d49cefebd2182d04e74 Mon Sep 17 00:00:00 2001 From: Stainless Bot <107565488+stainless-bot@users.noreply.github.com> Date: Wed, 20 Dec 2023 14:53:36 -0500 Subject: [PATCH 2/2] release: 0.9.4 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 8 ++++++++ pyproject.toml | 2 +- src/finch/_version.py | 2 +- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index b69f4371..600678b7 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.9.3" + ".": "0.9.4" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index c7e67f4e..7b48bb9a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 0.9.4 (2023-12-20) + +Full Changelog: [v0.9.3...v0.9.4](https://github.com/Finch-API/finch-api-python/compare/v0.9.3...v0.9.4) + +### Chores + +* **internal:** minor updates to pagination ([#236](https://github.com/Finch-API/finch-api-python/issues/236)) ([9fb357e](https://github.com/Finch-API/finch-api-python/commit/9fb357e18aa800fd21d62ecb31690abcb65502af)) + ## 0.9.3 (2023-12-19) Full Changelog: [v0.9.2...v0.9.3](https://github.com/Finch-API/finch-api-python/compare/v0.9.2...v0.9.3) diff --git a/pyproject.toml b/pyproject.toml index b49a3256..673dbd21 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "finch-api" -version = "0.9.3" +version = "0.9.4" description = "The official Python library for the Finch API" readme = "README.md" license = "Apache-2.0" diff --git a/src/finch/_version.py b/src/finch/_version.py index 68fc6d2a..69e0ec9e 100644 --- a/src/finch/_version.py +++ b/src/finch/_version.py @@ -1,4 +1,4 @@ # File generated from our OpenAPI spec by Stainless. __title__ = "finch" -__version__ = "0.9.3" # x-release-please-version +__version__ = "0.9.4" # x-release-please-version