From 1ccbb3bafd4e1fff157c656311765599155c48a2 Mon Sep 17 00:00:00 2001 From: Vlada Dusek Date: Tue, 17 Feb 2026 14:56:06 +0100 Subject: [PATCH] fix: use explicit None checks for client config to respect zero values The or operator treats 0 as falsy, so passing max_retries=0 (no retries), timeout_secs=0, or min_delay_between_retries_millis=0 would silently fall back to the default values. Changed to explicit 'is not None' checks. Co-Authored-By: Claude Opus 4.6 --- src/apify_client/client.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/apify_client/client.py b/src/apify_client/client.py index 780a6132..b1d6c99b 100644 --- a/src/apify_client/client.py +++ b/src/apify_client/client.py @@ -89,9 +89,11 @@ def __init__( self.base_url = f'{api_url}/{API_VERSION}' api_public_url = (api_public_url or DEFAULT_API_URL).rstrip('/') self.public_base_url = f'{api_public_url}/{API_VERSION}' - self.max_retries = max_retries or 8 - self.min_delay_between_retries_millis = min_delay_between_retries_millis or 500 - self.timeout_secs = timeout_secs or DEFAULT_TIMEOUT + self.max_retries = max_retries if max_retries is not None else 8 + self.min_delay_between_retries_millis = ( + min_delay_between_retries_millis if min_delay_between_retries_millis is not None else 500 + ) + self.timeout_secs = timeout_secs if timeout_secs is not None else DEFAULT_TIMEOUT def _options(self) -> dict: return {