From e586a7f29f0fb1ed92f593da9a3fd6086b074004 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 20 Feb 2026 07:38:12 +0000 Subject: [PATCH 1/3] chore(internal): remove mock server code --- scripts/mock | 41 ----------------------------------------- scripts/test | 46 ---------------------------------------------- 2 files changed, 87 deletions(-) delete mode 100755 scripts/mock diff --git a/scripts/mock b/scripts/mock deleted file mode 100755 index 0b28f6e..0000000 --- a/scripts/mock +++ /dev/null @@ -1,41 +0,0 @@ -#!/usr/bin/env bash - -set -e - -cd "$(dirname "$0")/.." - -if [[ -n "$1" && "$1" != '--'* ]]; then - URL="$1" - shift -else - URL="$(grep 'openapi_spec_url' .stats.yml | cut -d' ' -f2)" -fi - -# Check if the URL is empty -if [ -z "$URL" ]; then - echo "Error: No OpenAPI spec path/url provided or found in .stats.yml" - exit 1 -fi - -echo "==> Starting mock server with URL ${URL}" - -# Run prism mock on the given spec -if [ "$1" == "--daemon" ]; then - npm exec --package=@stainless-api/prism-cli@5.15.0 -- prism mock "$URL" &> .prism.log & - - # Wait for server to come online - echo -n "Waiting for server" - while ! grep -q "✖ fatal\|Prism is listening" ".prism.log" ; do - echo -n "." - sleep 0.1 - done - - if grep -q "✖ fatal" ".prism.log"; then - cat .prism.log - exit 1 - fi - - echo -else - npm exec --package=@stainless-api/prism-cli@5.15.0 -- prism mock "$URL" -fi diff --git a/scripts/test b/scripts/test index dbeda2d..39729d0 100755 --- a/scripts/test +++ b/scripts/test @@ -4,53 +4,7 @@ set -e cd "$(dirname "$0")/.." -RED='\033[0;31m' -GREEN='\033[0;32m' -YELLOW='\033[0;33m' -NC='\033[0m' # No Color -function prism_is_running() { - curl --silent "http://localhost:4010" >/dev/null 2>&1 -} - -kill_server_on_port() { - pids=$(lsof -t -i tcp:"$1" || echo "") - if [ "$pids" != "" ]; then - kill "$pids" - echo "Stopped $pids." - fi -} - -function is_overriding_api_base_url() { - [ -n "$TEST_API_BASE_URL" ] -} - -if ! is_overriding_api_base_url && ! prism_is_running ; then - # When we exit this script, make sure to kill the background mock server process - trap 'kill_server_on_port 4010' EXIT - - # Start the dev server - ./scripts/mock --daemon -fi - -if is_overriding_api_base_url ; then - echo -e "${GREEN}✔ Running tests against ${TEST_API_BASE_URL}${NC}" - echo -elif ! prism_is_running ; then - echo -e "${RED}ERROR:${NC} The test suite will not run without a mock Prism server" - echo -e "running against your OpenAPI spec." - echo - echo -e "To run the server, pass in the path or url of your OpenAPI" - echo -e "spec to the prism command:" - echo - echo -e " \$ ${YELLOW}npm exec --package=@stainless-api/prism-cli@5.15.0 -- prism mock path/to/your.openapi.yml${NC}" - echo - - exit 1 -else - echo -e "${GREEN}✔ Mock prism server is running with your OpenAPI spec${NC}" - echo -fi export DEFER_PYDANTIC_BUILD=false From 4bd2467c4ba212c2661dc4b0fab8a17fbea7a431 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 20 Feb 2026 07:39:05 +0000 Subject: [PATCH 2/3] chore: update mock server docs --- CONTRIBUTING.md | 7 ------- .../classifications/test_universal.py | 16 ++++++++-------- tests/api_resources/extractions/test_qa.py | 16 ++++++++-------- tests/api_resources/test_embeddings.py | 16 ++++++++-------- tests/api_resources/test_enrichments.py | 16 ++++++++-------- tests/api_resources/test_rerankings.py | 16 ++++++++-------- 6 files changed, 40 insertions(+), 47 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a324095..e2fb7d0 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -85,13 +85,6 @@ $ pip install ./path-to-wheel-file.whl ## Running tests -Most tests require you to [set up a mock server](https://github.com/stoplightio/prism) against the OpenAPI spec to run the tests. - -```sh -# you will need npm installed -$ npx prism mock path/to/your/openapi.yml -``` - ```sh $ ./scripts/test ``` diff --git a/tests/api_resources/classifications/test_universal.py b/tests/api_resources/classifications/test_universal.py index a6595d4..215db24 100644 --- a/tests/api_resources/classifications/test_universal.py +++ b/tests/api_resources/classifications/test_universal.py @@ -17,7 +17,7 @@ class TestUniversal: parametrize = pytest.mark.parametrize("client", [False, True], indirect=True, ids=["loose", "strict"]) - @pytest.mark.skip(reason="Prism tests are disabled") + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize def test_method_create(self, client: Isaacus) -> None: universal = client.classifications.universal.create( @@ -27,7 +27,7 @@ def test_method_create(self, client: Isaacus) -> None: ) assert_matches_type(UniversalClassificationResponse, universal, path=["response"]) - @pytest.mark.skip(reason="Prism tests are disabled") + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize def test_method_create_with_all_params(self, client: Isaacus) -> None: universal = client.classifications.universal.create( @@ -44,7 +44,7 @@ def test_method_create_with_all_params(self, client: Isaacus) -> None: ) assert_matches_type(UniversalClassificationResponse, universal, path=["response"]) - @pytest.mark.skip(reason="Prism tests are disabled") + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize def test_raw_response_create(self, client: Isaacus) -> None: response = client.classifications.universal.with_raw_response.create( @@ -58,7 +58,7 @@ def test_raw_response_create(self, client: Isaacus) -> None: universal = response.parse() assert_matches_type(UniversalClassificationResponse, universal, path=["response"]) - @pytest.mark.skip(reason="Prism tests are disabled") + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize def test_streaming_response_create(self, client: Isaacus) -> None: with client.classifications.universal.with_streaming_response.create( @@ -80,7 +80,7 @@ class TestAsyncUniversal: "async_client", [False, True, {"http_client": "aiohttp"}], indirect=True, ids=["loose", "strict", "aiohttp"] ) - @pytest.mark.skip(reason="Prism tests are disabled") + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize async def test_method_create(self, async_client: AsyncIsaacus) -> None: universal = await async_client.classifications.universal.create( @@ -90,7 +90,7 @@ async def test_method_create(self, async_client: AsyncIsaacus) -> None: ) assert_matches_type(UniversalClassificationResponse, universal, path=["response"]) - @pytest.mark.skip(reason="Prism tests are disabled") + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize async def test_method_create_with_all_params(self, async_client: AsyncIsaacus) -> None: universal = await async_client.classifications.universal.create( @@ -107,7 +107,7 @@ async def test_method_create_with_all_params(self, async_client: AsyncIsaacus) - ) assert_matches_type(UniversalClassificationResponse, universal, path=["response"]) - @pytest.mark.skip(reason="Prism tests are disabled") + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize async def test_raw_response_create(self, async_client: AsyncIsaacus) -> None: response = await async_client.classifications.universal.with_raw_response.create( @@ -121,7 +121,7 @@ async def test_raw_response_create(self, async_client: AsyncIsaacus) -> None: universal = await response.parse() assert_matches_type(UniversalClassificationResponse, universal, path=["response"]) - @pytest.mark.skip(reason="Prism tests are disabled") + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize async def test_streaming_response_create(self, async_client: AsyncIsaacus) -> None: async with async_client.classifications.universal.with_streaming_response.create( diff --git a/tests/api_resources/extractions/test_qa.py b/tests/api_resources/extractions/test_qa.py index 029690a..a76e06d 100644 --- a/tests/api_resources/extractions/test_qa.py +++ b/tests/api_resources/extractions/test_qa.py @@ -17,7 +17,7 @@ class TestQA: parametrize = pytest.mark.parametrize("client", [False, True], indirect=True, ids=["loose", "strict"]) - @pytest.mark.skip(reason="Prism tests are disabled") + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize def test_method_create(self, client: Isaacus) -> None: qa = client.extractions.qa.create( @@ -29,7 +29,7 @@ def test_method_create(self, client: Isaacus) -> None: ) assert_matches_type(AnswerExtractionResponse, qa, path=["response"]) - @pytest.mark.skip(reason="Prism tests are disabled") + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize def test_method_create_with_all_params(self, client: Isaacus) -> None: qa = client.extractions.qa.create( @@ -48,7 +48,7 @@ def test_method_create_with_all_params(self, client: Isaacus) -> None: ) assert_matches_type(AnswerExtractionResponse, qa, path=["response"]) - @pytest.mark.skip(reason="Prism tests are disabled") + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize def test_raw_response_create(self, client: Isaacus) -> None: response = client.extractions.qa.with_raw_response.create( @@ -64,7 +64,7 @@ def test_raw_response_create(self, client: Isaacus) -> None: qa = response.parse() assert_matches_type(AnswerExtractionResponse, qa, path=["response"]) - @pytest.mark.skip(reason="Prism tests are disabled") + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize def test_streaming_response_create(self, client: Isaacus) -> None: with client.extractions.qa.with_streaming_response.create( @@ -88,7 +88,7 @@ class TestAsyncQA: "async_client", [False, True, {"http_client": "aiohttp"}], indirect=True, ids=["loose", "strict", "aiohttp"] ) - @pytest.mark.skip(reason="Prism tests are disabled") + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize async def test_method_create(self, async_client: AsyncIsaacus) -> None: qa = await async_client.extractions.qa.create( @@ -100,7 +100,7 @@ async def test_method_create(self, async_client: AsyncIsaacus) -> None: ) assert_matches_type(AnswerExtractionResponse, qa, path=["response"]) - @pytest.mark.skip(reason="Prism tests are disabled") + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize async def test_method_create_with_all_params(self, async_client: AsyncIsaacus) -> None: qa = await async_client.extractions.qa.create( @@ -119,7 +119,7 @@ async def test_method_create_with_all_params(self, async_client: AsyncIsaacus) - ) assert_matches_type(AnswerExtractionResponse, qa, path=["response"]) - @pytest.mark.skip(reason="Prism tests are disabled") + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize async def test_raw_response_create(self, async_client: AsyncIsaacus) -> None: response = await async_client.extractions.qa.with_raw_response.create( @@ -135,7 +135,7 @@ async def test_raw_response_create(self, async_client: AsyncIsaacus) -> None: qa = await response.parse() assert_matches_type(AnswerExtractionResponse, qa, path=["response"]) - @pytest.mark.skip(reason="Prism tests are disabled") + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize async def test_streaming_response_create(self, async_client: AsyncIsaacus) -> None: async with async_client.extractions.qa.with_streaming_response.create( diff --git a/tests/api_resources/test_embeddings.py b/tests/api_resources/test_embeddings.py index af293c5..5ae4bce 100644 --- a/tests/api_resources/test_embeddings.py +++ b/tests/api_resources/test_embeddings.py @@ -17,7 +17,7 @@ class TestEmbeddings: parametrize = pytest.mark.parametrize("client", [False, True], indirect=True, ids=["loose", "strict"]) - @pytest.mark.skip(reason="Prism tests are disabled") + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize def test_method_create(self, client: Isaacus) -> None: embedding = client.embeddings.create( @@ -26,7 +26,7 @@ def test_method_create(self, client: Isaacus) -> None: ) assert_matches_type(EmbeddingResponse, embedding, path=["response"]) - @pytest.mark.skip(reason="Prism tests are disabled") + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize def test_method_create_with_all_params(self, client: Isaacus) -> None: embedding = client.embeddings.create( @@ -38,7 +38,7 @@ def test_method_create_with_all_params(self, client: Isaacus) -> None: ) assert_matches_type(EmbeddingResponse, embedding, path=["response"]) - @pytest.mark.skip(reason="Prism tests are disabled") + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize def test_raw_response_create(self, client: Isaacus) -> None: response = client.embeddings.with_raw_response.create( @@ -51,7 +51,7 @@ def test_raw_response_create(self, client: Isaacus) -> None: embedding = response.parse() assert_matches_type(EmbeddingResponse, embedding, path=["response"]) - @pytest.mark.skip(reason="Prism tests are disabled") + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize def test_streaming_response_create(self, client: Isaacus) -> None: with client.embeddings.with_streaming_response.create( @@ -72,7 +72,7 @@ class TestAsyncEmbeddings: "async_client", [False, True, {"http_client": "aiohttp"}], indirect=True, ids=["loose", "strict", "aiohttp"] ) - @pytest.mark.skip(reason="Prism tests are disabled") + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize async def test_method_create(self, async_client: AsyncIsaacus) -> None: embedding = await async_client.embeddings.create( @@ -81,7 +81,7 @@ async def test_method_create(self, async_client: AsyncIsaacus) -> None: ) assert_matches_type(EmbeddingResponse, embedding, path=["response"]) - @pytest.mark.skip(reason="Prism tests are disabled") + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize async def test_method_create_with_all_params(self, async_client: AsyncIsaacus) -> None: embedding = await async_client.embeddings.create( @@ -93,7 +93,7 @@ async def test_method_create_with_all_params(self, async_client: AsyncIsaacus) - ) assert_matches_type(EmbeddingResponse, embedding, path=["response"]) - @pytest.mark.skip(reason="Prism tests are disabled") + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize async def test_raw_response_create(self, async_client: AsyncIsaacus) -> None: response = await async_client.embeddings.with_raw_response.create( @@ -106,7 +106,7 @@ async def test_raw_response_create(self, async_client: AsyncIsaacus) -> None: embedding = await response.parse() assert_matches_type(EmbeddingResponse, embedding, path=["response"]) - @pytest.mark.skip(reason="Prism tests are disabled") + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize async def test_streaming_response_create(self, async_client: AsyncIsaacus) -> None: async with async_client.embeddings.with_streaming_response.create( diff --git a/tests/api_resources/test_enrichments.py b/tests/api_resources/test_enrichments.py index eac10a9..18ab2d8 100644 --- a/tests/api_resources/test_enrichments.py +++ b/tests/api_resources/test_enrichments.py @@ -17,7 +17,7 @@ class TestEnrichments: parametrize = pytest.mark.parametrize("client", [False, True], indirect=True, ids=["loose", "strict"]) - @pytest.mark.skip(reason="Prism tests are disabled") + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize def test_method_create(self, client: Isaacus) -> None: enrichment = client.enrichments.create( @@ -26,7 +26,7 @@ def test_method_create(self, client: Isaacus) -> None: ) assert_matches_type(EnrichmentResponse, enrichment, path=["response"]) - @pytest.mark.skip(reason="Prism tests are disabled") + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize def test_method_create_with_all_params(self, client: Isaacus) -> None: enrichment = client.enrichments.create( @@ -36,7 +36,7 @@ def test_method_create_with_all_params(self, client: Isaacus) -> None: ) assert_matches_type(EnrichmentResponse, enrichment, path=["response"]) - @pytest.mark.skip(reason="Prism tests are disabled") + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize def test_raw_response_create(self, client: Isaacus) -> None: response = client.enrichments.with_raw_response.create( @@ -49,7 +49,7 @@ def test_raw_response_create(self, client: Isaacus) -> None: enrichment = response.parse() assert_matches_type(EnrichmentResponse, enrichment, path=["response"]) - @pytest.mark.skip(reason="Prism tests are disabled") + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize def test_streaming_response_create(self, client: Isaacus) -> None: with client.enrichments.with_streaming_response.create( @@ -70,7 +70,7 @@ class TestAsyncEnrichments: "async_client", [False, True, {"http_client": "aiohttp"}], indirect=True, ids=["loose", "strict", "aiohttp"] ) - @pytest.mark.skip(reason="Prism tests are disabled") + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize async def test_method_create(self, async_client: AsyncIsaacus) -> None: enrichment = await async_client.enrichments.create( @@ -79,7 +79,7 @@ async def test_method_create(self, async_client: AsyncIsaacus) -> None: ) assert_matches_type(EnrichmentResponse, enrichment, path=["response"]) - @pytest.mark.skip(reason="Prism tests are disabled") + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize async def test_method_create_with_all_params(self, async_client: AsyncIsaacus) -> None: enrichment = await async_client.enrichments.create( @@ -89,7 +89,7 @@ async def test_method_create_with_all_params(self, async_client: AsyncIsaacus) - ) assert_matches_type(EnrichmentResponse, enrichment, path=["response"]) - @pytest.mark.skip(reason="Prism tests are disabled") + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize async def test_raw_response_create(self, async_client: AsyncIsaacus) -> None: response = await async_client.enrichments.with_raw_response.create( @@ -102,7 +102,7 @@ async def test_raw_response_create(self, async_client: AsyncIsaacus) -> None: enrichment = await response.parse() assert_matches_type(EnrichmentResponse, enrichment, path=["response"]) - @pytest.mark.skip(reason="Prism tests are disabled") + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize async def test_streaming_response_create(self, async_client: AsyncIsaacus) -> None: async with async_client.enrichments.with_streaming_response.create( diff --git a/tests/api_resources/test_rerankings.py b/tests/api_resources/test_rerankings.py index 36707ac..fb37da6 100644 --- a/tests/api_resources/test_rerankings.py +++ b/tests/api_resources/test_rerankings.py @@ -17,7 +17,7 @@ class TestRerankings: parametrize = pytest.mark.parametrize("client", [False, True], indirect=True, ids=["loose", "strict"]) - @pytest.mark.skip(reason="Prism tests are disabled") + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize def test_method_create(self, client: Isaacus) -> None: reranking = client.rerankings.create( @@ -33,7 +33,7 @@ def test_method_create(self, client: Isaacus) -> None: ) assert_matches_type(RerankingResponse, reranking, path=["response"]) - @pytest.mark.skip(reason="Prism tests are disabled") + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize def test_method_create_with_all_params(self, client: Isaacus) -> None: reranking = client.rerankings.create( @@ -57,7 +57,7 @@ def test_method_create_with_all_params(self, client: Isaacus) -> None: ) assert_matches_type(RerankingResponse, reranking, path=["response"]) - @pytest.mark.skip(reason="Prism tests are disabled") + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize def test_raw_response_create(self, client: Isaacus) -> None: response = client.rerankings.with_raw_response.create( @@ -77,7 +77,7 @@ def test_raw_response_create(self, client: Isaacus) -> None: reranking = response.parse() assert_matches_type(RerankingResponse, reranking, path=["response"]) - @pytest.mark.skip(reason="Prism tests are disabled") + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize def test_streaming_response_create(self, client: Isaacus) -> None: with client.rerankings.with_streaming_response.create( @@ -105,7 +105,7 @@ class TestAsyncRerankings: "async_client", [False, True, {"http_client": "aiohttp"}], indirect=True, ids=["loose", "strict", "aiohttp"] ) - @pytest.mark.skip(reason="Prism tests are disabled") + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize async def test_method_create(self, async_client: AsyncIsaacus) -> None: reranking = await async_client.rerankings.create( @@ -121,7 +121,7 @@ async def test_method_create(self, async_client: AsyncIsaacus) -> None: ) assert_matches_type(RerankingResponse, reranking, path=["response"]) - @pytest.mark.skip(reason="Prism tests are disabled") + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize async def test_method_create_with_all_params(self, async_client: AsyncIsaacus) -> None: reranking = await async_client.rerankings.create( @@ -145,7 +145,7 @@ async def test_method_create_with_all_params(self, async_client: AsyncIsaacus) - ) assert_matches_type(RerankingResponse, reranking, path=["response"]) - @pytest.mark.skip(reason="Prism tests are disabled") + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize async def test_raw_response_create(self, async_client: AsyncIsaacus) -> None: response = await async_client.rerankings.with_raw_response.create( @@ -165,7 +165,7 @@ async def test_raw_response_create(self, async_client: AsyncIsaacus) -> None: reranking = await response.parse() assert_matches_type(RerankingResponse, reranking, path=["response"]) - @pytest.mark.skip(reason="Prism tests are disabled") + @pytest.mark.skip(reason="Mock server tests are disabled") @parametrize async def test_streaming_response_create(self, async_client: AsyncIsaacus) -> None: async with async_client.rerankings.with_streaming_response.create( From 4d4e36e485aeb48527b6f40462c5958ffbf11a2f Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 20 Feb 2026 07:39:21 +0000 Subject: [PATCH 3/3] release: 0.19.3 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 9 +++++++++ pyproject.toml | 2 +- src/isaacus/_version.py | 2 +- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index c18333e..1b4d3bf 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.19.2" + ".": "0.19.3" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 6cd52c6..236ca9a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # Changelog +## 0.19.3 (2026-02-20) + +Full Changelog: [v0.19.2...v0.19.3](https://github.com/isaacus-dev/isaacus-python/compare/v0.19.2...v0.19.3) + +### Chores + +* **internal:** remove mock server code ([e586a7f](https://github.com/isaacus-dev/isaacus-python/commit/e586a7f29f0fb1ed92f593da9a3fd6086b074004)) +* update mock server docs ([4bd2467](https://github.com/isaacus-dev/isaacus-python/commit/4bd2467c4ba212c2661dc4b0fab8a17fbea7a431)) + ## 0.19.2 (2026-02-18) Full Changelog: [v0.19.1...v0.19.2](https://github.com/isaacus-dev/isaacus-python/compare/v0.19.1...v0.19.2) diff --git a/pyproject.toml b/pyproject.toml index 4ba445e..5e636a5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "isaacus" -version = "0.19.2" +version = "0.19.3" description = "The official Python library for the isaacus API" dynamic = ["readme"] license = "Apache-2.0" diff --git a/src/isaacus/_version.py b/src/isaacus/_version.py index a05e052..c406bb8 100644 --- a/src/isaacus/_version.py +++ b/src/isaacus/_version.py @@ -1,4 +1,4 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. __title__ = "isaacus" -__version__ = "0.19.2" # x-release-please-version +__version__ = "0.19.3" # x-release-please-version