code:pythoncomponent:schema-registrygood first issuemaintenance
描述
Description
I use Pycharm as my IDE, and I dislike seeing complaints about type mismatch.
The value attribute of Message objects is typed as Optional[Union[str, bytes]].
However, AvroConsumers set that value to the deserialized message, i.e. whatever python datatype match the avro schema(most often, a dict). This generates red flags for any type checkers when I treat that value as a dict(or whatever I expect the deserialized message to be).
Not sure what's the best way to change the type hinting when using C bindings.
Edit: Also, Pycharm thinks Message.value takes a payload argument. Not sure why that is.
How to reproduce
e.g.
consumer = AvroConsumer(...)
message = consumer.poll()
field = message.value().get("field") # Pycharm highlights this as an error
Checklist
Please provide the following information:
- confluent-kafka-python and librdkafka version (
confluent_kafka.version()andconfluent_kafka.libversion()):confluent_kafka.version() = ('0.11.5', 722176),confluent_kafka.libversion() = ('0.11.5', 722431) - Apache Kafka broker version: N/A
- Client configuration: N/A
- Operating system: N/A
- Provide client logs (with
'debug': '..'as necessary) - Provide broker log excerpts
- Critical issue