From 2dd4da7b9ade12587229d7997beeb753d55e31f6 Mon Sep 17 00:00:00 2001 From: Vlada Dusek Date: Wed, 7 Oct 2026 13:39:11 +0200 Subject: [PATCH 1/2] perf: default gzip compression quality to 6 --- src/apify_client/http_compressors/_gzip.py | 2 +- tests/unit/test_http_compressors.py | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/apify_client/http_compressors/_gzip.py b/src/apify_client/http_compressors/_gzip.py index d4a3c6f4d..fcab22df5 100644 --- a/src/apify_client/http_compressors/_gzip.py +++ b/src/apify_client/http_compressors/_gzip.py @@ -19,7 +19,7 @@ class GzipHttpCompressor(HttpCompressor): _max_quality = 9 """Highest valid quality (slowest, best compression).""" - def __init__(self, *, quality: int = _max_quality) -> None: + def __init__(self, *, quality: int = 6) -> None: """Initialize the gzip compressor. Args: diff --git a/tests/unit/test_http_compressors.py b/tests/unit/test_http_compressors.py index 4c8bf15f5..db0b245f6 100644 --- a/tests/unit/test_http_compressors.py +++ b/tests/unit/test_http_compressors.py @@ -6,6 +6,7 @@ import sys from contextlib import contextmanager from typing import TYPE_CHECKING +from unittest.mock import Mock import brotli import pytest @@ -59,6 +60,15 @@ def _affected(name: str) -> bool: sys.modules.update(saved) +def test_gzip_compressor_defaults_to_quality_6(monkeypatch: pytest.MonkeyPatch) -> None: + """Gzip compressor uses compression level `6` when no quality is given.""" + compress = Mock(return_value=b'compressed') + monkeypatch.setattr(gzip, 'compress', compress) + + assert GzipHttpCompressor().compress(b'payload') == b'compressed' + compress.assert_called_once_with(b'payload', compresslevel=6) + + @pytest.mark.parametrize( 'quality', [ From 66f1151065c52f35a752477509d3374ee1f7adf2 Mon Sep 17 00:00:00 2001 From: Vlada Dusek Date: Wed, 7 Oct 2026 13:41:55 +0200 Subject: [PATCH 2/2] docs: update gzip default quality in comparison table --- docs/02_concepts/13_http_compression.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/02_concepts/13_http_compression.mdx b/docs/02_concepts/13_http_compression.mdx index b35bd84c7..79e26b38d 100644 --- a/docs/02_concepts/13_http_compression.mdx +++ b/docs/02_concepts/13_http_compression.mdx @@ -146,7 +146,7 @@ client = ApifyClient(token='MY-APIFY-TOKEN', compression=IdentityCompressor()) | **Availability** | Requires the `brotli` extra | Built-in, no extra needed | | **`Content-Encoding` header** | `br` | `gzip` | | **Quality range** | `0–11` | `1–9` | -| **Default quality** | `6` | `9` | +| **Default quality** | `6` | `6` | | **Enable via config** | `compression='brotli'` | `compression='gzip'` (default) | | **Best for** | Large payloads where bandwidth matters | Minimal-dependency environments |