From cba8ecfd938c52a2f4cacfadfed13f9f983c4d85 Mon Sep 17 00:00:00 2001 From: Naxin Date: Thu, 6 Nov 2025 16:28:05 -0500 Subject: [PATCH 01/14] ci --- MANIFEST.in | 4 +++- Makefile | 6 ++++++ tools/source-package-verification.sh | 4 ++++ tox.ini | 8 +++++++- 4 files changed, 20 insertions(+), 2 deletions(-) diff --git a/MANIFEST.in b/MANIFEST.in index 7e9bbf313..cd0c97ef2 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,5 +1,7 @@ include README.md include LICENSE include src/confluent_kafka/src/*.[ch] +include src/confluent_kafka/py.typed +include src/confluent_kafka/cimpl.pyi prune tests -prune docs \ No newline at end of file +prune docs diff --git a/Makefile b/Makefile index 3615e2b93..100c0dd14 100644 --- a/Makefile +++ b/Makefile @@ -2,6 +2,9 @@ all: @echo "Targets:" @echo " clean" @echo " docs" + @echo " mypy" + @echo " style-check" + @echo " style-fix" clean: @@ -14,6 +17,9 @@ clean: docs: $(MAKE) -C docs html +mypy: + python3 -m mypy src/confluent_kafka + style-check: @(tools/style-format.sh \ $$(git ls-tree -r --name-only HEAD | egrep '\.(c|h|py)$$') ) diff --git a/tools/source-package-verification.sh b/tools/source-package-verification.sh index 0081d584e..bed6f0d44 100755 --- a/tools/source-package-verification.sh +++ b/tools/source-package-verification.sh @@ -51,6 +51,10 @@ if [[ $OS_NAME == linux && $ARCH == x64 ]]; then # Run these actions and tests only in this case echo "Building documentation ..." flake8 --exclude ./_venv,*_pb2.py,./build + + echo "Running mypy type checking ..." + mypy src/confluent_kafka + pip install -r requirements/requirements-docs.txt make docs diff --git a/tox.ini b/tox.ini index 2f7b43348..3b5a96b50 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = flake8,py37,py38,py39,py310,py311,py312,py313 +envlist = flake8,mypy,py37,py38,py39,py310,py311,py312,py313 [testenv] passenv = @@ -20,6 +20,12 @@ commands = deps = flake8 commands = flake8 +[testenv:mypy] +deps = + mypy + types-cachetools +commands = mypy src/confluent_kafka + [pytest] python_files = test_* testpaths = tests From ef1cd1abab93e4e66469577287abf1b39eca3093 Mon Sep 17 00:00:00 2001 From: Naxin Date: Thu, 6 Nov 2025 16:56:45 -0500 Subject: [PATCH 02/14] add types-requests dep --- requirements/requirements-tests.txt | 1 + tox.ini | 1 + 2 files changed, 2 insertions(+) diff --git a/requirements/requirements-tests.txt b/requirements/requirements-tests.txt index 730bd2be5..022c7a8c2 100644 --- a/requirements/requirements-tests.txt +++ b/requirements/requirements-tests.txt @@ -3,6 +3,7 @@ urllib3<3 flake8 mypy types-cachetools +types-requests orjson pytest pytest-timeout diff --git a/tox.ini b/tox.ini index 3b5a96b50..a840be054 100644 --- a/tox.ini +++ b/tox.ini @@ -24,6 +24,7 @@ commands = flake8 deps = mypy types-cachetools + types-requests commands = mypy src/confluent_kafka [pytest] From 715ec7455d99e8bf65aaee58fd15a8fa0418d17f Mon Sep 17 00:00:00 2001 From: Naxin Date: Mon, 10 Nov 2025 15:09:59 -0500 Subject: [PATCH 03/14] pin boto3 --- requirements/requirements-rules.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements/requirements-rules.txt b/requirements/requirements-rules.txt index 51ba6ac1a..d28976c95 100644 --- a/requirements/requirements-rules.txt +++ b/requirements/requirements-rules.txt @@ -1,6 +1,6 @@ azure-identity azure-keyvault-keys -boto3>=1.35 +boto3>=1.40,<1.41 cel-python>=0.4.0 # Pin google-re2 to last version with Python 3.9 wheels (see https://pypi.org/project/google-re2/1.1.20251105/#files) google-re2<1.1.20251105 From 7b6094b56296cff1376ebb84d863c441dd98ea96 Mon Sep 17 00:00:00 2001 From: Naxin Date: Mon, 10 Nov 2025 18:18:47 -0500 Subject: [PATCH 04/14] pin requests --- requirements/requirements-avro.txt | 4 ++-- requirements/requirements-examples.txt | 2 +- requirements/requirements-rules.txt | 2 +- requirements/requirements-tests.txt | 2 +- tox.ini | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/requirements/requirements-avro.txt b/requirements/requirements-avro.txt index ccb70d0c4..c8a42740c 100644 --- a/requirements/requirements-avro.txt +++ b/requirements/requirements-avro.txt @@ -1,4 +1,4 @@ fastavro < 1.8.0; python_version == "3.7" fastavro < 2; python_version > "3.7" -requests -avro>=1.11.1,<2 \ No newline at end of file +requests~=2.32.0 +avro>=1.11.1,<2 diff --git a/requirements/requirements-examples.txt b/requirements/requirements-examples.txt index e4d6dd295..ef7cc88fb 100644 --- a/requirements/requirements-examples.txt +++ b/requirements/requirements-examples.txt @@ -11,7 +11,7 @@ authlib>=1.0.0 fastavro < 1.8.0; python_version == "3.7" fastavro < 2; python_version > "3.7" -requests +requests~=2.32.0 avro>=1.11.1,<2 pyrsistent diff --git a/requirements/requirements-rules.txt b/requirements/requirements-rules.txt index d28976c95..42f12c6e8 100644 --- a/requirements/requirements-rules.txt +++ b/requirements/requirements-rules.txt @@ -1,6 +1,6 @@ azure-identity azure-keyvault-keys -boto3>=1.40,<1.41 +boto3 cel-python>=0.4.0 # Pin google-re2 to last version with Python 3.9 wheels (see https://pypi.org/project/google-re2/1.1.20251105/#files) google-re2<1.1.20251105 diff --git a/requirements/requirements-tests.txt b/requirements/requirements-tests.txt index 022c7a8c2..dd2b0d8a8 100644 --- a/requirements/requirements-tests.txt +++ b/requirements/requirements-tests.txt @@ -3,7 +3,7 @@ urllib3<3 flake8 mypy types-cachetools -types-requests +types-requests~=2.32.0 orjson pytest pytest-timeout diff --git a/tox.ini b/tox.ini index a840be054..b5c68cbc9 100644 --- a/tox.ini +++ b/tox.ini @@ -24,7 +24,7 @@ commands = flake8 deps = mypy types-cachetools - types-requests + types-requests~=2.32.0 commands = mypy src/confluent_kafka [pytest] From 0ec9009670de4a06d51511aa84a51619b8fefe37 Mon Sep 17 00:00:00 2001 From: Naxin Date: Mon, 10 Nov 2025 23:17:43 -0500 Subject: [PATCH 05/14] pin boto3 for now --- requirements/requirements-rules.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements/requirements-rules.txt b/requirements/requirements-rules.txt index 42f12c6e8..c73a122db 100644 --- a/requirements/requirements-rules.txt +++ b/requirements/requirements-rules.txt @@ -1,6 +1,6 @@ azure-identity azure-keyvault-keys -boto3 +boto3>=1.40.69 cel-python>=0.4.0 # Pin google-re2 to last version with Python 3.9 wheels (see https://pypi.org/project/google-re2/1.1.20251105/#files) google-re2<1.1.20251105 From 842d533cab799901dec2df1de22f0c527fff84c4 Mon Sep 17 00:00:00 2001 From: Naxin Date: Tue, 11 Nov 2025 13:32:31 -0500 Subject: [PATCH 06/14] pin httpcore --- requirements/requirements-examples.txt | 1 + requirements/requirements-schemaregistry.txt | 1 + 2 files changed, 2 insertions(+) diff --git a/requirements/requirements-examples.txt b/requirements/requirements-examples.txt index ef7cc88fb..2e3c61dff 100644 --- a/requirements/requirements-examples.txt +++ b/requirements/requirements-examples.txt @@ -7,6 +7,7 @@ six attrs cachetools httpx>=0.26 +httpcore>=1.0.9 authlib>=1.0.0 fastavro < 1.8.0; python_version == "3.7" diff --git a/requirements/requirements-schemaregistry.txt b/requirements/requirements-schemaregistry.txt index 2e947f466..850372fef 100644 --- a/requirements/requirements-schemaregistry.txt +++ b/requirements/requirements-schemaregistry.txt @@ -2,4 +2,5 @@ attrs>=21.2.0 cachetools>=5.5.0 certifi httpx>=0.26 +httpcore>=1.0.9 authlib>=1.0.0 From 0944ee9201a57d3b5249b3c180434ab94fb27f3d Mon Sep 17 00:00:00 2001 From: Naxin Date: Tue, 11 Nov 2025 16:03:24 -0500 Subject: [PATCH 07/14] pin more to try --- requirements/requirements-examples.txt | 4 ++-- requirements/requirements-rules.txt | 2 +- requirements/requirements-schemaregistry.txt | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/requirements/requirements-examples.txt b/requirements/requirements-examples.txt index 2e3c61dff..d47fe038b 100644 --- a/requirements/requirements-examples.txt +++ b/requirements/requirements-examples.txt @@ -8,7 +8,7 @@ attrs cachetools httpx>=0.26 httpcore>=1.0.9 -authlib>=1.0.0 +authlib>=1.6.5 fastavro < 1.8.0; python_version == "3.7" fastavro < 2; python_version > "3.7" @@ -22,7 +22,7 @@ orjson >= 3.10 googleapis-common-protos protobuf -azure-identity +azure-identity>=1.25.1 azure-keyvault-keys boto3 cel-python>=0.4.0 diff --git a/requirements/requirements-rules.txt b/requirements/requirements-rules.txt index c73a122db..0ce39678d 100644 --- a/requirements/requirements-rules.txt +++ b/requirements/requirements-rules.txt @@ -1,4 +1,4 @@ -azure-identity +azure-identity>=1.25.1 azure-keyvault-keys boto3>=1.40.69 cel-python>=0.4.0 diff --git a/requirements/requirements-schemaregistry.txt b/requirements/requirements-schemaregistry.txt index 850372fef..2959f8276 100644 --- a/requirements/requirements-schemaregistry.txt +++ b/requirements/requirements-schemaregistry.txt @@ -1,6 +1,6 @@ attrs>=21.2.0 cachetools>=5.5.0 -certifi +certifi>=2025.10.5 httpx>=0.26 httpcore>=1.0.9 -authlib>=1.0.0 +authlib>=1.6.5 From 9ad7dd0f5ad8d01c637de2196d2fb7b9cebfd9c0 Mon Sep 17 00:00:00 2001 From: Naxin Date: Tue, 11 Nov 2025 23:46:13 -0500 Subject: [PATCH 08/14] try pip upgrade --- requirements/requirements-examples.txt | 5 ++--- requirements/requirements-rules.txt | 4 ++-- requirements/requirements-schemaregistry.txt | 5 ++--- requirements/requirements-tests.txt | 2 +- tools/source-package-verification.sh | 1 + 5 files changed, 8 insertions(+), 9 deletions(-) diff --git a/requirements/requirements-examples.txt b/requirements/requirements-examples.txt index d47fe038b..ef7cc88fb 100644 --- a/requirements/requirements-examples.txt +++ b/requirements/requirements-examples.txt @@ -7,8 +7,7 @@ six attrs cachetools httpx>=0.26 -httpcore>=1.0.9 -authlib>=1.6.5 +authlib>=1.0.0 fastavro < 1.8.0; python_version == "3.7" fastavro < 2; python_version > "3.7" @@ -22,7 +21,7 @@ orjson >= 3.10 googleapis-common-protos protobuf -azure-identity>=1.25.1 +azure-identity azure-keyvault-keys boto3 cel-python>=0.4.0 diff --git a/requirements/requirements-rules.txt b/requirements/requirements-rules.txt index 0ce39678d..51ba6ac1a 100644 --- a/requirements/requirements-rules.txt +++ b/requirements/requirements-rules.txt @@ -1,6 +1,6 @@ -azure-identity>=1.25.1 +azure-identity azure-keyvault-keys -boto3>=1.40.69 +boto3>=1.35 cel-python>=0.4.0 # Pin google-re2 to last version with Python 3.9 wheels (see https://pypi.org/project/google-re2/1.1.20251105/#files) google-re2<1.1.20251105 diff --git a/requirements/requirements-schemaregistry.txt b/requirements/requirements-schemaregistry.txt index 2959f8276..2e947f466 100644 --- a/requirements/requirements-schemaregistry.txt +++ b/requirements/requirements-schemaregistry.txt @@ -1,6 +1,5 @@ attrs>=21.2.0 cachetools>=5.5.0 -certifi>=2025.10.5 +certifi httpx>=0.26 -httpcore>=1.0.9 -authlib>=1.6.5 +authlib>=1.0.0 diff --git a/requirements/requirements-tests.txt b/requirements/requirements-tests.txt index dd2b0d8a8..c113d3ac9 100644 --- a/requirements/requirements-tests.txt +++ b/requirements/requirements-tests.txt @@ -1,5 +1,5 @@ # core test requirements -urllib3<3 +urllib3>=2,<3,!=2.2.0 flake8 mypy types-cachetools diff --git a/tools/source-package-verification.sh b/tools/source-package-verification.sh index bed6f0d44..dfb3dca50 100755 --- a/tools/source-package-verification.sh +++ b/tools/source-package-verification.sh @@ -5,6 +5,7 @@ # set -e +pip install --upgrade pip pip install -r requirements/requirements-tests-install.txt pip install -U build From a2103ef7a3eee151d2f87e9f38125b6aa476b1f2 Mon Sep 17 00:00:00 2001 From: Naxin Date: Tue, 11 Nov 2025 23:59:45 -0500 Subject: [PATCH 09/14] add constraints back --- requirements/requirements-examples.txt | 5 +++-- requirements/requirements-rules.txt | 4 ++-- requirements/requirements-schemaregistry.txt | 5 +++-- requirements/requirements-tests.txt | 2 +- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/requirements/requirements-examples.txt b/requirements/requirements-examples.txt index ef7cc88fb..d47fe038b 100644 --- a/requirements/requirements-examples.txt +++ b/requirements/requirements-examples.txt @@ -7,7 +7,8 @@ six attrs cachetools httpx>=0.26 -authlib>=1.0.0 +httpcore>=1.0.9 +authlib>=1.6.5 fastavro < 1.8.0; python_version == "3.7" fastavro < 2; python_version > "3.7" @@ -21,7 +22,7 @@ orjson >= 3.10 googleapis-common-protos protobuf -azure-identity +azure-identity>=1.25.1 azure-keyvault-keys boto3 cel-python>=0.4.0 diff --git a/requirements/requirements-rules.txt b/requirements/requirements-rules.txt index 51ba6ac1a..0ce39678d 100644 --- a/requirements/requirements-rules.txt +++ b/requirements/requirements-rules.txt @@ -1,6 +1,6 @@ -azure-identity +azure-identity>=1.25.1 azure-keyvault-keys -boto3>=1.35 +boto3>=1.40.69 cel-python>=0.4.0 # Pin google-re2 to last version with Python 3.9 wheels (see https://pypi.org/project/google-re2/1.1.20251105/#files) google-re2<1.1.20251105 diff --git a/requirements/requirements-schemaregistry.txt b/requirements/requirements-schemaregistry.txt index 2e947f466..2959f8276 100644 --- a/requirements/requirements-schemaregistry.txt +++ b/requirements/requirements-schemaregistry.txt @@ -1,5 +1,6 @@ attrs>=21.2.0 cachetools>=5.5.0 -certifi +certifi>=2025.10.5 httpx>=0.26 -authlib>=1.0.0 +httpcore>=1.0.9 +authlib>=1.6.5 diff --git a/requirements/requirements-tests.txt b/requirements/requirements-tests.txt index c113d3ac9..22fd912c8 100644 --- a/requirements/requirements-tests.txt +++ b/requirements/requirements-tests.txt @@ -12,4 +12,4 @@ respx pytest_cov pluggy<1.6.0 pytest-asyncio -async-timeout +async-timeout>=5.0.1 From 7102c30a1d3facf5543d29cd2fe363cd07edc2fd Mon Sep 17 00:00:00 2001 From: Naxin Date: Wed, 12 Nov 2025 13:04:17 -0500 Subject: [PATCH 10/14] upgrade to python 3.11 --- requirements/requirements-avro.txt | 2 +- requirements/requirements-examples.txt | 2 +- requirements/requirements-rules.txt | 4 ++-- requirements/requirements-schemaregistry.txt | 5 ++--- requirements/requirements-tests.txt | 4 ++-- tools/source-package-verification.sh | 2 +- 6 files changed, 9 insertions(+), 10 deletions(-) diff --git a/requirements/requirements-avro.txt b/requirements/requirements-avro.txt index c8a42740c..8eefd943d 100644 --- a/requirements/requirements-avro.txt +++ b/requirements/requirements-avro.txt @@ -1,4 +1,4 @@ fastavro < 1.8.0; python_version == "3.7" fastavro < 2; python_version > "3.7" -requests~=2.32.0 +requests avro>=1.11.1,<2 diff --git a/requirements/requirements-examples.txt b/requirements/requirements-examples.txt index d47fe038b..5d203c70c 100644 --- a/requirements/requirements-examples.txt +++ b/requirements/requirements-examples.txt @@ -22,8 +22,8 @@ orjson >= 3.10 googleapis-common-protos protobuf -azure-identity>=1.25.1 azure-keyvault-keys +azure-identity boto3 cel-python>=0.4.0 google-auth diff --git a/requirements/requirements-rules.txt b/requirements/requirements-rules.txt index 0ce39678d..3d7be2bae 100644 --- a/requirements/requirements-rules.txt +++ b/requirements/requirements-rules.txt @@ -1,6 +1,6 @@ -azure-identity>=1.25.1 azure-keyvault-keys -boto3>=1.40.69 +azure-identity +boto3>=1.35 cel-python>=0.4.0 # Pin google-re2 to last version with Python 3.9 wheels (see https://pypi.org/project/google-re2/1.1.20251105/#files) google-re2<1.1.20251105 diff --git a/requirements/requirements-schemaregistry.txt b/requirements/requirements-schemaregistry.txt index 2959f8276..66dc1dced 100644 --- a/requirements/requirements-schemaregistry.txt +++ b/requirements/requirements-schemaregistry.txt @@ -1,6 +1,5 @@ attrs>=21.2.0 cachetools>=5.5.0 -certifi>=2025.10.5 httpx>=0.26 -httpcore>=1.0.9 -authlib>=1.6.5 +certifi +authlib>=1.0.0 diff --git a/requirements/requirements-tests.txt b/requirements/requirements-tests.txt index 22fd912c8..dd2b0d8a8 100644 --- a/requirements/requirements-tests.txt +++ b/requirements/requirements-tests.txt @@ -1,5 +1,5 @@ # core test requirements -urllib3>=2,<3,!=2.2.0 +urllib3<3 flake8 mypy types-cachetools @@ -12,4 +12,4 @@ respx pytest_cov pluggy<1.6.0 pytest-asyncio -async-timeout>=5.0.1 +async-timeout diff --git a/tools/source-package-verification.sh b/tools/source-package-verification.sh index dfb3dca50..ff91d94ac 100755 --- a/tools/source-package-verification.sh +++ b/tools/source-package-verification.sh @@ -54,7 +54,7 @@ if [[ $OS_NAME == linux && $ARCH == x64 ]]; then flake8 --exclude ./_venv,*_pb2.py,./build echo "Running mypy type checking ..." - mypy src/confluent_kafka + python3.11 -m mypy src/confluent_kafka pip install -r requirements/requirements-docs.txt make docs From 76a42bdbe25ab0ec63f5b65ba67f6a03e0efbec8 Mon Sep 17 00:00:00 2001 From: Naxin Date: Wed, 12 Nov 2025 13:08:29 -0500 Subject: [PATCH 11/14] cleanup ; --- requirements/requirements-examples.txt | 7 +++---- requirements/requirements-rules.txt | 2 +- requirements/requirements-schemaregistry.txt | 2 +- requirements/requirements-tests.txt | 2 +- 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/requirements/requirements-examples.txt b/requirements/requirements-examples.txt index 5d203c70c..e4d6dd295 100644 --- a/requirements/requirements-examples.txt +++ b/requirements/requirements-examples.txt @@ -7,12 +7,11 @@ six attrs cachetools httpx>=0.26 -httpcore>=1.0.9 -authlib>=1.6.5 +authlib>=1.0.0 fastavro < 1.8.0; python_version == "3.7" fastavro < 2; python_version > "3.7" -requests~=2.32.0 +requests avro>=1.11.1,<2 pyrsistent @@ -22,8 +21,8 @@ orjson >= 3.10 googleapis-common-protos protobuf -azure-keyvault-keys azure-identity +azure-keyvault-keys boto3 cel-python>=0.4.0 google-auth diff --git a/requirements/requirements-rules.txt b/requirements/requirements-rules.txt index 3d7be2bae..51ba6ac1a 100644 --- a/requirements/requirements-rules.txt +++ b/requirements/requirements-rules.txt @@ -1,5 +1,5 @@ -azure-keyvault-keys azure-identity +azure-keyvault-keys boto3>=1.35 cel-python>=0.4.0 # Pin google-re2 to last version with Python 3.9 wheels (see https://pypi.org/project/google-re2/1.1.20251105/#files) diff --git a/requirements/requirements-schemaregistry.txt b/requirements/requirements-schemaregistry.txt index 66dc1dced..2e947f466 100644 --- a/requirements/requirements-schemaregistry.txt +++ b/requirements/requirements-schemaregistry.txt @@ -1,5 +1,5 @@ attrs>=21.2.0 cachetools>=5.5.0 -httpx>=0.26 certifi +httpx>=0.26 authlib>=1.0.0 diff --git a/requirements/requirements-tests.txt b/requirements/requirements-tests.txt index dd2b0d8a8..022c7a8c2 100644 --- a/requirements/requirements-tests.txt +++ b/requirements/requirements-tests.txt @@ -3,7 +3,7 @@ urllib3<3 flake8 mypy types-cachetools -types-requests~=2.32.0 +types-requests orjson pytest pytest-timeout From 3accff03d3e2e37e8f484e54ffe2f94132ba8300 Mon Sep 17 00:00:00 2001 From: Naxin Date: Wed, 12 Nov 2025 13:23:51 -0500 Subject: [PATCH 12/14] upgrade semaphore builds to use 3.11 --- .semaphore/semaphore.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.semaphore/semaphore.yml b/.semaphore/semaphore.yml index 41077abf9..9819e1ee9 100644 --- a/.semaphore/semaphore.yml +++ b/.semaphore/semaphore.yml @@ -196,14 +196,14 @@ blocks: jobs: - name: Build and Tests with 'classic' group protocol commands: - - sem-version python 3.9 + - sem-version python 3.11 # use a virtualenv - python3 -m venv _venv && source _venv/bin/activate - chmod u+r+x tools/source-package-verification.sh - tools/source-package-verification.sh - name: Build and Tests with 'consumer' group protocol commands: - - sem-version python 3.9 + - sem-version python 3.11 - sem-version java 17 # use a virtualenv - python3 -m venv _venv && source _venv/bin/activate @@ -212,7 +212,7 @@ blocks: - tools/source-package-verification.sh - name: Build, Test, and Report coverage commands: - - sem-version python 3.9 + - sem-version python 3.11 # use a virtualenv - python3 -m venv _venv && source _venv/bin/activate - chmod u+r+x tools/source-package-verification.sh @@ -236,7 +236,7 @@ blocks: jobs: - name: Build commands: - - sem-version python 3.9 + - sem-version python 3.11 # use a virtualenv - python3 -m venv _venv && source _venv/bin/activate - chmod u+r+x tools/source-package-verification.sh @@ -255,7 +255,7 @@ blocks: jobs: - name: Build commands: - - sem-version python 3.9 + - sem-version python 3.11 # use a virtualenv - python3 -m venv _venv && source _venv/bin/activate - chmod u+r+x tools/source-package-verification.sh @@ -274,7 +274,7 @@ blocks: jobs: - name: Build commands: - - sem-version python 3.9 + - sem-version python 3.11 # use a virtualenv - python3 -m venv _venv && source _venv/bin/activate - chmod u+r+x tools/source-package-verification.sh @@ -301,7 +301,7 @@ blocks: - name: Build and Tests commands: # Setup Python environment - - sem-version python 3.9 + - sem-version python 3.11 - python3 -m venv _venv && source _venv/bin/activate # Install ducktape framework and additional dependencies From 550d9ad437deacd7816bc895ba8d9088e218a20d Mon Sep 17 00:00:00 2001 From: Naxin Date: Wed, 12 Nov 2025 13:40:12 -0500 Subject: [PATCH 13/14] one new type error --- src/confluent_kafka/deserializing_consumer.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/confluent_kafka/deserializing_consumer.py b/src/confluent_kafka/deserializing_consumer.py index 324239f25..07c99bcdc 100644 --- a/src/confluent_kafka/deserializing_consumer.py +++ b/src/confluent_kafka/deserializing_consumer.py @@ -106,7 +106,11 @@ def poll(self, timeout: float = -1) -> Optional[Message]: if error is not None: raise ConsumeError(error, kafka_message=msg) - ctx = SerializationContext(msg.topic(), MessageField.VALUE, msg.headers()) + topic = msg.topic() + if topic is None: + raise TypeError("Message topic is None") + ctx = SerializationContext(topic, MessageField.VALUE, msg.headers()) + value = msg.value() if self._value_deserializer is not None: try: From b326da1dc4e5ca8f938e3566d091fcdb97056f1a Mon Sep 17 00:00:00 2001 From: Naxin Date: Wed, 12 Nov 2025 13:58:33 -0500 Subject: [PATCH 14/14] whitespace --- src/confluent_kafka/deserializing_consumer.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/confluent_kafka/deserializing_consumer.py b/src/confluent_kafka/deserializing_consumer.py index 07c99bcdc..12b030b7f 100644 --- a/src/confluent_kafka/deserializing_consumer.py +++ b/src/confluent_kafka/deserializing_consumer.py @@ -110,7 +110,7 @@ def poll(self, timeout: float = -1) -> Optional[Message]: if topic is None: raise TypeError("Message topic is None") ctx = SerializationContext(topic, MessageField.VALUE, msg.headers()) - + value = msg.value() if self._value_deserializer is not None: try: