From 8f78772bcff7b1caa60ee5d2e1dabf43abd2afa7 Mon Sep 17 00:00:00 2001 From: Naxin Date: Fri, 1 Aug 2025 15:45:26 -0400 Subject: [PATCH 1/3] celpy fix --- .../schema_registry/rules/cel/cel_field_presence.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/confluent_kafka/schema_registry/rules/cel/cel_field_presence.py b/src/confluent_kafka/schema_registry/rules/cel/cel_field_presence.py index e29685ea9..203d3293a 100644 --- a/src/confluent_kafka/schema_registry/rules/cel/cel_field_presence.py +++ b/src/confluent_kafka/schema_registry/rules/cel/cel_field_presence.py @@ -41,6 +41,6 @@ def macro_has_eval(self, exprlist): _has_state.in_has = False return result - e = Evaluator(ast=self.ast, activation=self.new_activation(context), functions=self.functions) - value = e.evaluate() + e = Evaluator(ast=self.ast, activation=self.new_activation(), functions=self.functions) + value = e.evaluate(context) return value From d68fee33721354af1f2087cafe7ae41fc490a660 Mon Sep 17 00:00:00 2001 From: Naxin Date: Fri, 1 Aug 2025 16:16:25 -0400 Subject: [PATCH 2/3] fix --- .../schema_registry/rules/cel/cel_field_presence.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/confluent_kafka/schema_registry/rules/cel/cel_field_presence.py b/src/confluent_kafka/schema_registry/rules/cel/cel_field_presence.py index 203d3293a..405ee2979 100644 --- a/src/confluent_kafka/schema_registry/rules/cel/cel_field_presence.py +++ b/src/confluent_kafka/schema_registry/rules/cel/cel_field_presence.py @@ -41,6 +41,6 @@ def macro_has_eval(self, exprlist): _has_state.in_has = False return result - e = Evaluator(ast=self.ast, activation=self.new_activation(), functions=self.functions) + e = Evaluator(ast=self.ast, activation=self.new_activation()) value = e.evaluate(context) return value From 350b0c759829760498206d027eeacb3ecf411bf8 Mon Sep 17 00:00:00 2001 From: Naxin Date: Tue, 5 Aug 2025 10:55:23 -0400 Subject: [PATCH 3/3] update --- requirements/requirements-examples.txt | 2 +- requirements/requirements-rules.txt | 4 ++-- .../schema_registry/rules/cel/cel_field_presence.py | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/requirements/requirements-examples.txt b/requirements/requirements-examples.txt index 87f4a7a32..c26c25de3 100644 --- a/requirements/requirements-examples.txt +++ b/requirements/requirements-examples.txt @@ -23,7 +23,7 @@ protobuf azure-identity azure-keyvault-keys boto3 -cel-python>=0.1.5 +cel-python>=0.4.0 google-auth google-api-core google-cloud-kms diff --git a/requirements/requirements-rules.txt b/requirements/requirements-rules.txt index 98dcaba4a..4dcf89d83 100644 --- a/requirements/requirements-rules.txt +++ b/requirements/requirements-rules.txt @@ -1,7 +1,7 @@ azure-identity azure-keyvault-keys boto3>=1.35 -cel-python>=0.1.5 +cel-python>=0.4.0 google-auth google-api-core google-cloud-kms @@ -10,4 +10,4 @@ hvac jsonata-python # Dependency of cel-python. Use version 6 due to https://github.com/yaml/pyyaml/issues/601 pyyaml>=6.0.0 -tink \ No newline at end of file +tink diff --git a/src/confluent_kafka/schema_registry/rules/cel/cel_field_presence.py b/src/confluent_kafka/schema_registry/rules/cel/cel_field_presence.py index 405ee2979..f78e4887e 100644 --- a/src/confluent_kafka/schema_registry/rules/cel/cel_field_presence.py +++ b/src/confluent_kafka/schema_registry/rules/cel/cel_field_presence.py @@ -35,7 +35,7 @@ def in_has() -> bool: class InterpretedRunner(celpy.InterpretedRunner): def evaluate(self, context): class Evaluator(celpy.Evaluator): - def macro_has_eval(self, exprlist): + def macro_has_eval(self, exprlist) -> celpy.celtypes.BoolType: _has_state.in_has = True result = super().macro_has_eval(exprlist) _has_state.in_has = False