Skip to content

Commit 8a4949c

Browse files
committed
Fix stricter python 3.12 imports
1 parent d2cd73e commit 8a4949c

2 files changed

Lines changed: 13 additions & 5 deletions

File tree

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
AVRO_REQUIRES = ['fastavro >= 1.3.2', 'avro >= 1.11.1']
1414
JSON_REQUIRES = ['jsonschema >= 3.2.0', 'pyrsistent >= 0.20.0']
1515
PROTO_REQUIRES = ['protobuf >= 4.22.0', 'googleapis-common-protos >= 1.66.0']
16-
SCHEMA_REGISTRY_REQUIRES = ['httpx>=0.26', 'cachetools >= 5.5.0', 'attrs >= 24.3.0']
16+
SCHEMA_REGISTRY_REQUIRES = ['httpx>=0.26', 'cachetools >= 5.5.0', 'attrs >= 24.3.0', 'authlib >= 1.0.0']
1717
ALL = AVRO_REQUIRES + JSON_REQUIRES + PROTO_REQUIRES + SCHEMA_REGISTRY_REQUIRES
1818
setup(name = 'robotframework-confluentkafkalibrary',
1919
version = VERSION,

src/ConfluentKafkaLibrary/__init__.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44
try:
55
from confluent_kafka.schema_registry import SchemaRegistryClient
66
_SCHEMA_REGISTRY_CLIENT_AVAILABLE = True
7-
except ImportError:
7+
_SCHEMA_REGISTRY_IMPORT_ERROR = None
8+
except ImportError as e:
9+
_SCHEMA_REGISTRY_IMPORT_ERROR = e
810
_SCHEMA_REGISTRY_CLIENT_AVAILABLE = False
9-
raise ImportError("SchemaRegistry requires additional dependencies to be installed. \
10-
Please install with 'pip install robotframework-confluentkafkalibrary[schemaregistry]'")
1111

1212
from confluent_kafka.admin import AdminClient, NewTopic, NewPartitions, ConfigResource
1313
from robot.libraries.BuiltIn import BuiltIn, RobotNotRunningError
@@ -21,7 +21,8 @@
2121
try:
2222
from .serialization import Serializer, Deserializer
2323
IMPORTS += Serializer, Deserializer
24-
except ImportError:
24+
except ImportError as e:
25+
print(e)
2526
pass
2627

2728
#class ConfluentKafkaLibrary(KafkaConsumer, KafkaProducer, Serializer, Deserializer):
@@ -140,4 +141,11 @@ def config_resource(self, restype, name, **kwargs):
140141
return ConfigResource(restype=restype, name=name, **kwargs)
141142

142143
def get_schema_registry_client(self, conf):
144+
if not _SCHEMA_REGISTRY_CLIENT_AVAILABLE:
145+
raise ImportError(
146+
"SchemaRegistry requires additional dependencies to be installed or one of its transitive dependencies is missing. "
147+
"Please install with 'pip install robotframework-confluentkafkalibrary[schemaregistry]'.\n"
148+
"If the error persists, check for missing dependencies in your environment.\n"
149+
f"ImportError: {_SCHEMA_REGISTRY_IMPORT_ERROR}"
150+
)
143151
return SchemaRegistryClient(conf)

0 commit comments

Comments
 (0)