Skip to content

Commit a351b4a

Browse files
authored
Do not import schema registry by default (#59)
1 parent 4619f55 commit a351b4a

File tree

1 file changed

+15
-6
lines changed

1 file changed

+15
-6
lines changed

src/ConfluentKafkaLibrary/__init__.py

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
import confluent_kafka
22
from confluent_kafka import ConsumerGroupState
3-
from confluent_kafka.schema_registry import SchemaRegistryClient
3+
4+
try:
5+
from confluent_kafka.schema_registry import SchemaRegistryClient
6+
_SCHEMA_REGISTRY_CLIENT_AVAILABLE = True
7+
except ImportError:
8+
_SCHEMA_REGISTRY_CLIENT_AVAILABLE = False
9+
raise ImportError("SchemaRegistry requires additional dependencies to be installed. \
10+
Please install with 'pip install robotframework-confluentkafkalibrary[schemaregistry]'")
11+
412
from confluent_kafka.admin import AdminClient, NewTopic, NewPartitions, ConfigResource
513
from robot.libraries.BuiltIn import BuiltIn, RobotNotRunningError
614
from .consumer import KafkaConsumer
@@ -9,11 +17,12 @@
917
from .version import VERSION
1018

1119
IMPORTS = KafkaConsumer, KafkaProducer, KafkaAdminClient
12-
try:
13-
from .serialization import Serializer, Deserializer
14-
IMPORTS += Serializer, Deserializer
15-
except ImportError:
16-
pass
20+
if _SCHEMA_REGISTRY_CLIENT_AVAILABLE:
21+
try:
22+
from .serialization import Serializer, Deserializer
23+
IMPORTS += Serializer, Deserializer
24+
except ImportError:
25+
pass
1726

1827
#class ConfluentKafkaLibrary(KafkaConsumer, KafkaProducer, Serializer, Deserializer):
1928
class ConfluentKafkaLibrary(*IMPORTS):

0 commit comments

Comments
 (0)