aio-libs / aiokafka

asyncio client for kafka
http://aiokafka.readthedocs.io/
Apache License 2.0
1.08k stars 224 forks source link

invalid Type AioKafkaAdminClient create_partitions #977

Closed alm0ra closed 4 months ago

alm0ra commented 4 months ago

Describe the bug there is a type error or wrong type

Environment (please complete the following information):

Reproducible example in admin/client.py

    @staticmethod
    def _convert_topic_partitions(topic_partitions: Dict[str, TopicPartition]):
        return [(topic_name, (new_part.total_count, new_part.new_assignments))
                for topic_name, new_part in topic_partitions.items()]

while in struct.py TopicPartition defined like this

class TopicPartition(NamedTuple):
    """A topic and partition tuple"""

    topic: str
    "A topic name"

    partition: int
    "A partition id"

and there is no total_count and new_assignments in this type it must be admin/new_partitions.py

class NewPartitions:
    """A class for new partition creation on existing topics.  Note that the
    length of new_assignments, if specified, must be the difference between the
    new total number of partitions and the existing number of partitions.
    Arguments:
        total_count (int):
            the total number of partitions that should exist on the topic
        new_assignments ([[int]]):
            an array of arrays of replica assignments for new partitions.
            If not set, broker assigns replicas per an internal algorithm.
    """

    def __init__(
        self,
        total_count,
        new_assignments=None
    ):
        self.total_count = total_count
        self.new_assignments = new_assignments