diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 2a8f4ff..3e9af1b 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "1.3.0" + ".": "1.4.0" } \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index d81f021..25bea02 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 59 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/nimbleway/nimbleway-fc4544a31d0d7e2b88b55127582b45dcbd8c2e969e9301196b5742092d5330f1.yml -openapi_spec_hash: 00cbc4bde85d516e72e625288396c68d +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/nimbleway/nimbleway-043980ccbddd4bbd3365e4a8d1df10f0ccbf09dfaed72d80b4a0b7cdf41f5a1a.yml +openapi_spec_hash: 0958d512de22310755bc3de1a03bfafa config_hash: a9878e098a6929e32711d66374797185 diff --git a/CHANGELOG.md b/CHANGELOG.md index 9d03993..883f37e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 1.4.0 (2026-08-23) + +Full Changelog: [v1.3.0...v1.4.0](https://github.com/Nimbleway/nimble-python/compare/v1.3.0...v1.4.0) + +### Features + +* **api:** api update ([6dd537b](https://github.com/Nimbleway/nimble-python/commit/6dd537b43e276ad1c058fdf417136e2daebd43c0)) + ## 1.3.0 (2026-08-17) Full Changelog: [v1.2.0...v1.3.0](https://github.com/Nimbleway/nimble-python/compare/v1.2.0...v1.3.0) diff --git a/pyproject.toml b/pyproject.toml index 4cb7b81..3da08a6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "nimble_python" -version = "1.3.0" +version = "1.4.0" description = "The official Python library for the nimble API" dynamic = ["readme"] license = "Apache-2.0" diff --git a/src/nimble_python/_version.py b/src/nimble_python/_version.py index 1094ccf..e0e3dd0 100644 --- a/src/nimble_python/_version.py +++ b/src/nimble_python/_version.py @@ -1,4 +1,4 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. __title__ = "nimble_python" -__version__ = "1.3.0" # x-release-please-version +__version__ = "1.4.0" # x-release-please-version diff --git a/src/nimble_python/resources/fast_serp.py b/src/nimble_python/resources/fast_serp.py index da2b195..4748836 100644 --- a/src/nimble_python/resources/fast_serp.py +++ b/src/nimble_python/resources/fast_serp.py @@ -68,6 +68,7 @@ def run( parse: bool | Omit = omit, query: str | Omit = omit, render: bool | Omit = omit, + resolve_url: bool | Omit = omit, show_hidden_results: bool | Omit = omit, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. @@ -103,6 +104,10 @@ def run( render: Whether to render the page in a browser before extracting. + resolve_url: When true, search result links that point at a search-engine redirector are + resolved to their final destination URLs. Best-effort within a time budget: + links that cannot be resolved in time are returned unchanged. + show_hidden_results: When true, disables Google result filtering (filter=0) so omitted/duplicate and highly similar pages are also returned. Applies to Google search engines. @@ -129,6 +134,7 @@ def run( "parse": parse, "query": query, "render": render, + "resolve_url": resolve_url, "show_hidden_results": show_hidden_results, }, fast_serp_run_params.FastSerpRunParams, @@ -185,6 +191,7 @@ async def run( parse: bool | Omit = omit, query: str | Omit = omit, render: bool | Omit = omit, + resolve_url: bool | Omit = omit, show_hidden_results: bool | Omit = omit, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. @@ -220,6 +227,10 @@ async def run( render: Whether to render the page in a browser before extracting. + resolve_url: When true, search result links that point at a search-engine redirector are + resolved to their final destination URLs. Best-effort within a time budget: + links that cannot be resolved in time are returned unchanged. + show_hidden_results: When true, disables Google result filtering (filter=0) so omitted/duplicate and highly similar pages are also returned. Applies to Google search engines. @@ -246,6 +257,7 @@ async def run( "parse": parse, "query": query, "render": render, + "resolve_url": resolve_url, "show_hidden_results": show_hidden_results, }, fast_serp_run_params.FastSerpRunParams, diff --git a/src/nimble_python/resources/serp.py b/src/nimble_python/resources/serp.py index 593a9e6..b556797 100644 --- a/src/nimble_python/resources/serp.py +++ b/src/nimble_python/resources/serp.py @@ -71,6 +71,7 @@ def run( parse: bool | Omit = omit, query: str | Omit = omit, render: bool | Omit = omit, + resolve_url: bool | Omit = omit, show_hidden_results: bool | Omit = omit, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. @@ -106,6 +107,10 @@ def run( render: Whether to render the page in a browser before extracting. + resolve_url: When true, search result links that point at a search-engine redirector are + resolved to their final destination URLs. Best-effort within a time budget: + links that cannot be resolved in time are returned unchanged. + show_hidden_results: When true, disables Google result filtering (filter=0) so omitted/duplicate and highly similar pages are also returned. Applies to Google search engines. @@ -132,6 +137,7 @@ def run( "parse": parse, "query": query, "render": render, + "resolve_url": resolve_url, "show_hidden_results": show_hidden_results, }, serp_run_params.SerpRunParams, @@ -168,6 +174,7 @@ def run_async( parse: bool | Omit = omit, query: str | Omit = omit, render: bool | Omit = omit, + resolve_url: bool | Omit = omit, show_hidden_results: bool | Omit = omit, storage_compress: bool | Omit = omit, storage_object_name: str | Omit = omit, @@ -209,6 +216,10 @@ def run_async( render: Whether to render the page in a browser before extracting. + resolve_url: When true, search result links that point at a search-engine redirector are + resolved to their final destination URLs. Best-effort within a time budget: + links that cannot be resolved in time are returned unchanged. + show_hidden_results: When true, disables Google result filtering (filter=0) so omitted/duplicate and highly similar pages are also returned. Applies to Google search engines. @@ -244,6 +255,7 @@ def run_async( "parse": parse, "query": query, "render": render, + "resolve_url": resolve_url, "show_hidden_results": show_hidden_results, "storage_compress": storage_compress, "storage_object_name": storage_object_name, @@ -350,6 +362,7 @@ async def run( parse: bool | Omit = omit, query: str | Omit = omit, render: bool | Omit = omit, + resolve_url: bool | Omit = omit, show_hidden_results: bool | Omit = omit, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. @@ -385,6 +398,10 @@ async def run( render: Whether to render the page in a browser before extracting. + resolve_url: When true, search result links that point at a search-engine redirector are + resolved to their final destination URLs. Best-effort within a time budget: + links that cannot be resolved in time are returned unchanged. + show_hidden_results: When true, disables Google result filtering (filter=0) so omitted/duplicate and highly similar pages are also returned. Applies to Google search engines. @@ -411,6 +428,7 @@ async def run( "parse": parse, "query": query, "render": render, + "resolve_url": resolve_url, "show_hidden_results": show_hidden_results, }, serp_run_params.SerpRunParams, @@ -447,6 +465,7 @@ async def run_async( parse: bool | Omit = omit, query: str | Omit = omit, render: bool | Omit = omit, + resolve_url: bool | Omit = omit, show_hidden_results: bool | Omit = omit, storage_compress: bool | Omit = omit, storage_object_name: str | Omit = omit, @@ -488,6 +507,10 @@ async def run_async( render: Whether to render the page in a browser before extracting. + resolve_url: When true, search result links that point at a search-engine redirector are + resolved to their final destination URLs. Best-effort within a time budget: + links that cannot be resolved in time are returned unchanged. + show_hidden_results: When true, disables Google result filtering (filter=0) so omitted/duplicate and highly similar pages are also returned. Applies to Google search engines. @@ -523,6 +546,7 @@ async def run_async( "parse": parse, "query": query, "render": render, + "resolve_url": resolve_url, "show_hidden_results": show_hidden_results, "storage_compress": storage_compress, "storage_object_name": storage_object_name, diff --git a/src/nimble_python/types/fast_serp_run_params.py b/src/nimble_python/types/fast_serp_run_params.py index 8acf33d..099a768 100644 --- a/src/nimble_python/types/fast_serp_run_params.py +++ b/src/nimble_python/types/fast_serp_run_params.py @@ -57,6 +57,13 @@ class FastSerpRunParams(TypedDict, total=False): render: bool """Whether to render the page in a browser before extracting.""" + resolve_url: bool + """ + When true, search result links that point at a search-engine redirector are + resolved to their final destination URLs. Best-effort within a time budget: + links that cannot be resolved in time are returned unchanged. + """ + show_hidden_results: bool """ When true, disables Google result filtering (filter=0) so omitted/duplicate and diff --git a/src/nimble_python/types/serp_run_async_params.py b/src/nimble_python/types/serp_run_async_params.py index 87d24e7..d0ece82 100644 --- a/src/nimble_python/types/serp_run_async_params.py +++ b/src/nimble_python/types/serp_run_async_params.py @@ -60,6 +60,13 @@ class SerpRunAsyncParams(TypedDict, total=False): render: bool """Whether to render the page in a browser before extracting.""" + resolve_url: bool + """ + When true, search result links that point at a search-engine redirector are + resolved to their final destination URLs. Best-effort within a time budget: + links that cannot be resolved in time are returned unchanged. + """ + show_hidden_results: bool """ When true, disables Google result filtering (filter=0) so omitted/duplicate and diff --git a/src/nimble_python/types/serp_run_batch_params.py b/src/nimble_python/types/serp_run_batch_params.py index 9b0fb97..5d935ee 100644 --- a/src/nimble_python/types/serp_run_batch_params.py +++ b/src/nimble_python/types/serp_run_batch_params.py @@ -59,6 +59,13 @@ class Input(TypedDict, total=False): render: bool """Whether to render the page in a browser before extracting.""" + resolve_url: bool + """ + When true, search result links that point at a search-engine redirector are + resolved to their final destination URLs. Best-effort within a time budget: + links that cannot be resolved in time are returned unchanged. + """ + search_engine: Literal[ "google_search", "google_sge", @@ -134,6 +141,13 @@ class SharedInputs(TypedDict, total=False): render: bool """Whether to render the page in a browser before extracting.""" + resolve_url: bool + """ + When true, search result links that point at a search-engine redirector are + resolved to their final destination URLs. Best-effort within a time budget: + links that cannot be resolved in time are returned unchanged. + """ + search_engine: Literal[ "google_search", "google_sge", diff --git a/src/nimble_python/types/serp_run_params.py b/src/nimble_python/types/serp_run_params.py index 30d9129..c8d65fe 100644 --- a/src/nimble_python/types/serp_run_params.py +++ b/src/nimble_python/types/serp_run_params.py @@ -57,6 +57,13 @@ class SerpRunParams(TypedDict, total=False): render: bool """Whether to render the page in a browser before extracting.""" + resolve_url: bool + """ + When true, search result links that point at a search-engine redirector are + resolved to their final destination URLs. Best-effort within a time budget: + links that cannot be resolved in time are returned unchanged. + """ + show_hidden_results: bool """ When true, disables Google result filtering (filter=0) so omitted/duplicate and diff --git a/tests/api_resources/test_fast_serp.py b/tests/api_resources/test_fast_serp.py index 4e65d10..3df4b41 100644 --- a/tests/api_resources/test_fast_serp.py +++ b/tests/api_resources/test_fast_serp.py @@ -40,6 +40,7 @@ def test_method_run_with_all_params(self, client: Nimble) -> None: parse=True, query="nimble web data", render=False, + resolve_url=True, show_hidden_results=False, ) assert_matches_type(FastSerpRunResponse, fast_serp, path=["response"]) @@ -99,6 +100,7 @@ async def test_method_run_with_all_params(self, async_client: AsyncNimble) -> No parse=True, query="nimble web data", render=False, + resolve_url=True, show_hidden_results=False, ) assert_matches_type(FastSerpRunResponse, fast_serp, path=["response"]) diff --git a/tests/api_resources/test_serp.py b/tests/api_resources/test_serp.py index bb5c16c..55a7df8 100644 --- a/tests/api_resources/test_serp.py +++ b/tests/api_resources/test_serp.py @@ -44,6 +44,7 @@ def test_method_run_with_all_params(self, client: Nimble) -> None: parse=True, query="nimble web data", render=False, + resolve_url=True, show_hidden_results=False, ) assert_matches_type(SerpRunResponse, serp, path=["response"]) @@ -98,6 +99,7 @@ def test_method_run_async_with_all_params(self, client: Nimble) -> None: parse=True, query="nimble web data", render=False, + resolve_url=True, show_hidden_results=False, storage_compress=True, storage_object_name="result-2024-01-15.json", @@ -157,6 +159,7 @@ def test_method_run_batch_with_all_params(self, client: Nimble) -> None: "parse": True, "query": "nimble web data", "render": False, + "resolve_url": True, "search_engine": "google_search", "show_hidden_results": False, "storage_compress": True, @@ -177,6 +180,7 @@ def test_method_run_batch_with_all_params(self, client: Nimble) -> None: "parse": True, "query": "nimble web data", "render": False, + "resolve_url": True, "search_engine": "google_search", "show_hidden_results": False, "storage_compress": True, @@ -242,6 +246,7 @@ async def test_method_run_with_all_params(self, async_client: AsyncNimble) -> No parse=True, query="nimble web data", render=False, + resolve_url=True, show_hidden_results=False, ) assert_matches_type(SerpRunResponse, serp, path=["response"]) @@ -296,6 +301,7 @@ async def test_method_run_async_with_all_params(self, async_client: AsyncNimble) parse=True, query="nimble web data", render=False, + resolve_url=True, show_hidden_results=False, storage_compress=True, storage_object_name="result-2024-01-15.json", @@ -355,6 +361,7 @@ async def test_method_run_batch_with_all_params(self, async_client: AsyncNimble) "parse": True, "query": "nimble web data", "render": False, + "resolve_url": True, "search_engine": "google_search", "show_hidden_results": False, "storage_compress": True, @@ -375,6 +382,7 @@ async def test_method_run_batch_with_all_params(self, async_client: AsyncNimble) "parse": True, "query": "nimble web data", "render": False, + "resolve_url": True, "search_engine": "google_search", "show_hidden_results": False, "storage_compress": True,