From 0cb148510657037c636847d21929c1c104a45a70 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 19 Aug 2026 13:53:47 +0000 Subject: [PATCH 01/10] feat(api): api update --- .stats.yml | 4 ++-- src/prelude_python_sdk/types/watch_predict_response.py | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index 408b5808..03418424 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 19 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/prelude/prelude-bceac2d798eb515f8fd14406ac6f50de2aa983a3674cecb63167c0d0d52cfbc9.yml -openapi_spec_hash: b9963276e8c0178b0c45bf2ea07f63fb +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/prelude/prelude-994c4cb5ca1ff854e2dd4b0ccac2cebce30130b5c61eec6174a10bc619b48df3.yml +openapi_spec_hash: 7bf85f915dd85a2e6fc6f05a747a06cf config_hash: 3dbe79c14ecd9a153418249f9155d159 diff --git a/src/prelude_python_sdk/types/watch_predict_response.py b/src/prelude_python_sdk/types/watch_predict_response.py index 906108d8..499d6ed2 100644 --- a/src/prelude_python_sdk/types/watch_predict_response.py +++ b/src/prelude_python_sdk/types/watch_predict_response.py @@ -24,6 +24,7 @@ class WatchPredictResponse(BaseModel): risk_factors: Optional[ List[ Literal[ + "account_risk_profile", "behavioral_pattern", "device_attribute", "fraud_database", @@ -42,6 +43,9 @@ class WatchPredictResponse(BaseModel): Only present when prediction is "suspicious" and the anti-fraud system detected specific risk signals. + - `account_risk_profile` - The target matches a risk profile derived from the + outcomes reported on your own account, rather than from a signal shared across + accounts. - `behavioral_pattern` - The phone number past behavior during verification flows exhibits suspicious patterns. - `device_attribute` - The device exhibits characteristics associated with From 1e250e9c868f9b2b2840153a2c66e9e4b4cc30ad Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 19 Aug 2026 17:27:14 +0000 Subject: [PATCH 02/10] chore(internal): allow the mock server port to be set with STAINLESS_MOCK_PORT --- scripts/mock | 13 ++++++++++--- scripts/test | 12 +++++++++--- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/scripts/mock b/scripts/mock index feebe5ed..984e1c00 100755 --- a/scripts/mock +++ b/scripts/mock @@ -4,6 +4,11 @@ set -e cd "$(dirname "$0")/.." +if [ "$1" == "--install" ]; then + npm exec --package=@stdy/cli@0.22.1 -- steady --version + exit 0 +fi + if [[ -n "$1" && "$1" != '--'* ]]; then URL="$1" shift @@ -20,16 +25,18 @@ fi echo "==> Starting mock server with URL ${URL}" # Run steady mock on the given spec +MOCK_PORT="${STAINLESS_MOCK_PORT:-4010}" + if [ "$1" == "--daemon" ]; then # Pre-install the package so the download doesn't eat into the startup timeout npm exec --package=@stdy/cli@0.22.1 -- steady --version - npm exec --package=@stdy/cli@0.22.1 -- steady --host 127.0.0.1 -p 4010 --validator-query-array-format=comma --validator-form-array-format=comma --validator-query-object-format=brackets --validator-form-object-format=brackets "$URL" &> .stdy.log & + npm exec --package=@stdy/cli@0.22.1 -- steady --host 127.0.0.1 -p "$MOCK_PORT" --validator-query-array-format=comma --validator-form-array-format=comma --validator-query-object-format=brackets --validator-form-object-format=brackets "$URL" &> .stdy.log & # Wait for server to come online via health endpoint (max 30s) echo -n "Waiting for server" attempts=0 - while ! curl --silent --fail "http://127.0.0.1:4010/_x-steady/health" >/dev/null 2>&1; do + while ! curl --silent --fail "http://127.0.0.1:$MOCK_PORT/_x-steady/health" >/dev/null 2>&1; do if ! kill -0 $! 2>/dev/null; then echo cat .stdy.log @@ -48,5 +55,5 @@ if [ "$1" == "--daemon" ]; then echo else - npm exec --package=@stdy/cli@0.22.1 -- steady --host 127.0.0.1 -p 4010 --validator-query-array-format=comma --validator-form-array-format=comma --validator-query-object-format=brackets --validator-form-object-format=brackets "$URL" + npm exec --package=@stdy/cli@0.22.1 -- steady --host 127.0.0.1 -p "$MOCK_PORT" --validator-query-array-format=comma --validator-form-array-format=comma --validator-query-object-format=brackets --validator-form-object-format=brackets "$URL" fi diff --git a/scripts/test b/scripts/test index 19acc916..9dbb5cdb 100755 --- a/scripts/test +++ b/scripts/test @@ -9,8 +9,10 @@ GREEN='\033[0;32m' YELLOW='\033[0;33m' NC='\033[0m' # No Color +MOCK_PORT="${STAINLESS_MOCK_PORT:-4010}" + function steady_is_running() { - curl --silent "http://127.0.0.1:4010/_x-steady/health" >/dev/null 2>&1 + curl --silent "http://127.0.0.1:$MOCK_PORT/_x-steady/health" >/dev/null 2>&1 } kill_server_on_port() { @@ -27,7 +29,7 @@ function is_overriding_api_base_url() { if ! is_overriding_api_base_url && ! steady_is_running ; then # When we exit this script, make sure to kill the background mock server process - trap 'kill_server_on_port 4010' EXIT + trap 'kill_server_on_port "$MOCK_PORT"' EXIT # Start the dev server ./scripts/mock --daemon @@ -43,7 +45,7 @@ elif ! steady_is_running ; then echo -e "To run the server, pass in the path or url of your OpenAPI" echo -e "spec to the steady command:" echo - echo -e " \$ ${YELLOW}npm exec --package=@stdy/cli@0.22.1 -- steady path/to/your.openapi.yml --host 127.0.0.1 -p 4010 --validator-query-array-format=comma --validator-form-array-format=comma --validator-query-object-format=brackets --validator-form-object-format=brackets${NC}" + echo -e " \$ ${YELLOW}npm exec --package=@stdy/cli@0.22.1 -- steady path/to/your.openapi.yml --host 127.0.0.1 -p $MOCK_PORT --validator-query-array-format=comma --validator-form-array-format=comma --validator-query-object-format=brackets --validator-form-object-format=brackets${NC}" echo exit 1 @@ -52,6 +54,10 @@ else echo fi +if [ -n "${STAINLESS_MOCK_PORT:-}" ] && ! is_overriding_api_base_url ; then + export TEST_API_BASE_URL="http://127.0.0.1:$MOCK_PORT" +fi + export DEFER_PYDANTIC_BUILD=false echo "==> Running tests" From a26c8229337934a3d8aa9538c3f77aed50e27946 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 26 Aug 2026 13:47:36 +0000 Subject: [PATCH 03/10] feat(api): api update --- .stats.yml | 4 ++-- .../types/verification_create_params.py | 9 +++++++++ src/prelude_python_sdk/types/watch_predict_params.py | 9 +++++++++ tests/api_resources/test_verification.py | 2 ++ tests/api_resources/test_watch.py | 2 ++ 5 files changed, 24 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index 03418424..d012bc88 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 19 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/prelude/prelude-994c4cb5ca1ff854e2dd4b0ccac2cebce30130b5c61eec6174a10bc619b48df3.yml -openapi_spec_hash: 7bf85f915dd85a2e6fc6f05a747a06cf +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/prelude/prelude-85efd6925654a59860b926f34cbf05bacbf7de258c1da29a523ad3b3c04c52d8.yml +openapi_spec_hash: 6fe5c6605f24a2e7dc4306d3cdabdc90 config_hash: 3dbe79c14ecd9a153418249f9155d159 diff --git a/src/prelude_python_sdk/types/verification_create_params.py b/src/prelude_python_sdk/types/verification_create_params.py index 53058ca2..73efc284 100644 --- a/src/prelude_python_sdk/types/verification_create_params.py +++ b/src/prelude_python_sdk/types/verification_create_params.py @@ -229,6 +229,15 @@ class Signals(TypedDict, total=False): device_platform: Literal["android", "ios", "ipados", "tvos", "web"] """The type of the user's device.""" + existing_user: bool + """ + Whether the end-user already exists in your system, for example an existing + account signing in again rather than a first-time signup. Unlike + `is_trusted_user`, this signal does not bypass fraud checks; it is taken into + account as one additional anti-fraud signal. For more details, refer to + [Signals](/verify/v2/documentation/prevent-fraud#signals). + """ + ip: str """The public IP v4 or v6 address of the end-user's device. diff --git a/src/prelude_python_sdk/types/watch_predict_params.py b/src/prelude_python_sdk/types/watch_predict_params.py index abc43a40..93a04966 100644 --- a/src/prelude_python_sdk/types/watch_predict_params.py +++ b/src/prelude_python_sdk/types/watch_predict_params.py @@ -69,6 +69,15 @@ class Signals(TypedDict, total=False): device_platform: Literal["android", "ios", "ipados", "tvos", "web"] """The type of the user's device.""" + existing_user: bool + """ + Whether the end-user already exists in your system, for example an existing + account signing in again rather than a first-time signup. Unlike + `is_trusted_user`, this signal does not bypass fraud checks; it is taken into + account as one additional anti-fraud signal. For more details, refer to + [Signals](/verify/v2/documentation/prevent-fraud#signals). + """ + ip: str """The public IP v4 or v6 address of the end-user's device. diff --git a/tests/api_resources/test_verification.py b/tests/api_resources/test_verification.py index 6279baee..b8aa3b32 100644 --- a/tests/api_resources/test_verification.py +++ b/tests/api_resources/test_verification.py @@ -62,6 +62,7 @@ def test_method_create_with_all_params(self, client: Prelude) -> None: "device_id": "8F0B8FDD-C2CB-4387-B20A-56E9B2E5A0D2", "device_model": "iPhone17,2", "device_platform": "ios", + "existing_user": False, "ip": "203.0.113.123", "is_trusted_user": False, "ja4_fingerprint": "t13d1516h2_8daaf6152771_e5627efa2ab1", @@ -208,6 +209,7 @@ async def test_method_create_with_all_params(self, async_client: AsyncPrelude) - "device_id": "8F0B8FDD-C2CB-4387-B20A-56E9B2E5A0D2", "device_model": "iPhone17,2", "device_platform": "ios", + "existing_user": False, "ip": "203.0.113.123", "is_trusted_user": False, "ja4_fingerprint": "t13d1516h2_8daaf6152771_e5627efa2ab1", diff --git a/tests/api_resources/test_watch.py b/tests/api_resources/test_watch.py index b35509ed..95343e77 100644 --- a/tests/api_resources/test_watch.py +++ b/tests/api_resources/test_watch.py @@ -45,6 +45,7 @@ def test_method_predict_with_all_params(self, client: Prelude) -> None: "device_id": "8F0B8FDD-C2CB-4387-B20A-56E9B2E5A0D2", "device_model": "iPhone17,2", "device_platform": "ios", + "existing_user": False, "ip": "203.0.113.123", "is_trusted_user": False, "ja4_fingerprint": "t13d1516h2_8daaf6152771_e5627efa2ab1", @@ -227,6 +228,7 @@ async def test_method_predict_with_all_params(self, async_client: AsyncPrelude) "device_id": "8F0B8FDD-C2CB-4387-B20A-56E9B2E5A0D2", "device_model": "iPhone17,2", "device_platform": "ios", + "existing_user": False, "ip": "203.0.113.123", "is_trusted_user": False, "ja4_fingerprint": "t13d1516h2_8daaf6152771_e5627efa2ab1", From b972c187a580c4703a9a3305261d2dcbe6d75079 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 11 Sep 2026 13:08:51 +0000 Subject: [PATCH 04/10] codegen metadata --- .stats.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index d012bc88..8ed1de9b 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 19 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/prelude/prelude-85efd6925654a59860b926f34cbf05bacbf7de258c1da29a523ad3b3c04c52d8.yml -openapi_spec_hash: 6fe5c6605f24a2e7dc4306d3cdabdc90 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/prelude/prelude-68cf854dcc1077fb98f800d0b107f9bc257f5fbc474b5df8b86f2d92784ebffa.yml +openapi_spec_hash: 992ba8a60b39cbcbb5f51597179b6ec8 config_hash: 3dbe79c14ecd9a153418249f9155d159 From 59f74ab11caa078d107bb5510d895aa531fb1fb3 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 14 Sep 2026 12:25:20 +0000 Subject: [PATCH 05/10] codegen metadata --- .stats.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index 8ed1de9b..01c838d6 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 19 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/prelude/prelude-68cf854dcc1077fb98f800d0b107f9bc257f5fbc474b5df8b86f2d92784ebffa.yml -openapi_spec_hash: 992ba8a60b39cbcbb5f51597179b6ec8 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/prelude/prelude-3ec6b635d14ce8cebd3ddf861bd0a47ff39fcbffdf7a31a95e93783396f2bd32.yml +openapi_spec_hash: f59b87eca5dd40944c566d91bcc25b3b config_hash: 3dbe79c14ecd9a153418249f9155d159 From 92fa5a330daf57286288b69398b185e7ed2ccf24 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 14 Sep 2026 13:03:48 +0000 Subject: [PATCH 06/10] codegen metadata --- .stats.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index 01c838d6..ac7f50eb 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 19 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/prelude/prelude-3ec6b635d14ce8cebd3ddf861bd0a47ff39fcbffdf7a31a95e93783396f2bd32.yml -openapi_spec_hash: f59b87eca5dd40944c566d91bcc25b3b +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/prelude/prelude-44b1e9e0df95f1ea006da6358afc86dbd9c3f06e474b2c26f84fe6a7d616d9a8.yml +openapi_spec_hash: b87f9662a63842d6e9f29cd52cad9ae1 config_hash: 3dbe79c14ecd9a153418249f9155d159 From 7aea6432d2093464db591413bf5daaca2aaf0007 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 15 Sep 2026 11:35:04 +0000 Subject: [PATCH 07/10] codegen metadata --- .stats.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index ac7f50eb..e02d309d 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 19 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/prelude/prelude-44b1e9e0df95f1ea006da6358afc86dbd9c3f06e474b2c26f84fe6a7d616d9a8.yml -openapi_spec_hash: b87f9662a63842d6e9f29cd52cad9ae1 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/prelude/prelude-eeb1e1ac065eb60183bc4a7dd7a14c16681f17ba6d56f3ab673b1e523f1308ed.yml +openapi_spec_hash: a81344ec2f7343c99856e09232009ceb config_hash: 3dbe79c14ecd9a153418249f9155d159 From dbe97f6119990b49754989c0d73418661fc34f39 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 15 Sep 2026 13:22:29 +0000 Subject: [PATCH 08/10] feat(api): api update --- .stats.yml | 4 ++-- src/prelude_python_sdk/resources/notify.py | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index e02d309d..b49561c5 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 19 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/prelude/prelude-eeb1e1ac065eb60183bc4a7dd7a14c16681f17ba6d56f3ab673b1e523f1308ed.yml -openapi_spec_hash: a81344ec2f7343c99856e09232009ceb +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/prelude/prelude-cf635e479af808341d4353bdc6bd5dc98d6dbc0391151b67178eb4d0f8ee1d91.yml +openapi_spec_hash: f4b9f452b031955fd70901afece8eaa8 config_hash: 3dbe79c14ecd9a153418249f9155d159 diff --git a/src/prelude_python_sdk/resources/notify.py b/src/prelude_python_sdk/resources/notify.py index 6f1e3e6d..5cf6e38a 100644 --- a/src/prelude_python_sdk/resources/notify.py +++ b/src/prelude_python_sdk/resources/notify.py @@ -75,6 +75,8 @@ def get_subscription_config( """ Retrieve a specific subscription management configuration by its ID. + In order to get access to this endpoint, contact our support team. + Args: extra_headers: Send extra headers @@ -110,6 +112,8 @@ def get_subscription_phone_number( Retrieve the current subscription status for a specific phone number within a subscription configuration. + In order to get access to this endpoint, contact our support team. + Args: extra_headers: Send extra headers @@ -154,6 +158,8 @@ def list_subscription_configs( Each configuration represents a subscription management setup with phone numbers for receiving opt-out/opt-in requests and a callback URL for webhook events. + In order to get access to this endpoint, contact our support team. + Args: cursor: Pagination cursor from the previous response @@ -205,6 +211,8 @@ def list_subscription_phone_number_events( Events are ordered by timestamp in descending order (most recent first). + In order to get access to this endpoint, contact our support team. + Args: cursor: Pagination cursor from the previous response @@ -264,6 +272,8 @@ def list_subscription_phone_numbers( You can optionally filter by subscription state (SUB or UNSUB). + In order to get access to this endpoint, contact our support team. + Args: cursor: Pagination cursor from the previous response @@ -541,6 +551,8 @@ async def get_subscription_config( """ Retrieve a specific subscription management configuration by its ID. + In order to get access to this endpoint, contact our support team. + Args: extra_headers: Send extra headers @@ -576,6 +588,8 @@ async def get_subscription_phone_number( Retrieve the current subscription status for a specific phone number within a subscription configuration. + In order to get access to this endpoint, contact our support team. + Args: extra_headers: Send extra headers @@ -620,6 +634,8 @@ async def list_subscription_configs( Each configuration represents a subscription management setup with phone numbers for receiving opt-out/opt-in requests and a callback URL for webhook events. + In order to get access to this endpoint, contact our support team. + Args: cursor: Pagination cursor from the previous response @@ -671,6 +687,8 @@ async def list_subscription_phone_number_events( Events are ordered by timestamp in descending order (most recent first). + In order to get access to this endpoint, contact our support team. + Args: cursor: Pagination cursor from the previous response @@ -730,6 +748,8 @@ async def list_subscription_phone_numbers( You can optionally filter by subscription state (SUB or UNSUB). + In order to get access to this endpoint, contact our support team. + Args: cursor: Pagination cursor from the previous response From 4fc59d2a8054b02706df3371d501eff7f9201d5c Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 15 Sep 2026 14:56:51 +0000 Subject: [PATCH 09/10] codegen metadata --- .stats.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index b49561c5..b57e87a9 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 19 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/prelude/prelude-cf635e479af808341d4353bdc6bd5dc98d6dbc0391151b67178eb4d0f8ee1d91.yml -openapi_spec_hash: f4b9f452b031955fd70901afece8eaa8 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/prelude/prelude-86fc45f417e6468f6a6087f9e35b264b0a350e31385bc078a2027a1f1abd1d15.yml +openapi_spec_hash: fb72aba38ec55a3b6b5162c9f5b4228d config_hash: 3dbe79c14ecd9a153418249f9155d159 From 5236439e32f801c0f232bba9776e707c5c575ac9 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 15 Sep 2026 14:57:16 +0000 Subject: [PATCH 10/10] release: 0.14.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 15 +++++++++++++++ pyproject.toml | 2 +- src/prelude_python_sdk/_version.py | 2 +- 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index d52d2b97..a26ebfc1 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.13.0" + ".": "0.14.0" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index eb62ba44..d4ff5333 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,20 @@ # Changelog +## 0.14.0 (2026-09-15) + +Full Changelog: [v0.13.0...v0.14.0](https://github.com/prelude-so/python-sdk/compare/v0.13.0...v0.14.0) + +### Features + +* **api:** api update ([dbe97f6](https://github.com/prelude-so/python-sdk/commit/dbe97f6119990b49754989c0d73418661fc34f39)) +* **api:** api update ([a26c822](https://github.com/prelude-so/python-sdk/commit/a26c8229337934a3d8aa9538c3f77aed50e27946)) +* **api:** api update ([0cb1485](https://github.com/prelude-so/python-sdk/commit/0cb148510657037c636847d21929c1c104a45a70)) + + +### Chores + +* **internal:** allow the mock server port to be set with STAINLESS_MOCK_PORT ([1e250e9](https://github.com/prelude-so/python-sdk/commit/1e250e9c868f9b2b2840153a2c66e9e4b4cc30ad)) + ## 0.13.0 (2026-08-07) Full Changelog: [v0.12.0...v0.13.0](https://github.com/prelude-so/python-sdk/compare/v0.12.0...v0.13.0) diff --git a/pyproject.toml b/pyproject.toml index 942e6f92..2bdc9df6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "prelude-python-sdk" -version = "0.13.0" +version = "0.14.0" description = "The official Python library for the Prelude API" dynamic = ["readme"] license = "Apache-2.0" diff --git a/src/prelude_python_sdk/_version.py b/src/prelude_python_sdk/_version.py index 65cf06bb..2aab5a9c 100644 --- a/src/prelude_python_sdk/_version.py +++ b/src/prelude_python_sdk/_version.py @@ -1,4 +1,4 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. __title__ = "prelude_python_sdk" -__version__ = "0.13.0" # x-release-please-version +__version__ = "0.14.0" # x-release-please-version