Skip to content
Pyrula

Kafka

Generated from the type stubs and docstrings. Do not edit by hand.

Fields:

  • principal: str
  • host: str
  • operation: AclOperation
  • permission_type: AclPermissionType

Fields:

  • resource_type: AclResourceType
  • resource_name: str
  • principal: str
  • host: str
  • operation: AclOperation
  • permission_type: AclPermissionType

Fields:

  • resource_type: AclResourceType
  • resource_name: Optional[str]
  • principal: Optional[str]
  • host: Optional[str]
  • operation: AclOperation
  • permission_type: AclPermissionType

Fields:

  • UNKNOWN: int
  • ANY: int
  • ALL: int
  • READ: int
  • WRITE: int
  • CREATE: int
  • DELETE: int
  • ALTER: int
  • DESCRIBE: int
  • CLUSTER_ACTION: int
  • DESCRIBE_CONFIGS: int
  • ALTER_CONFIGS: int
  • IDEMPOTENT_WRITE: int

Fields:

  • UNKNOWN: int
  • ANY: int
  • DENY: int
  • ALLOW: int

Fields:

  • resource_type: AclResourceType
  • resource_name: str
  • acls: Any

Fields:

  • UNKNOWN: int
  • ANY: int
  • TOPIC: int
  • GROUP: int
  • CLUSTER: int
  • TRANSACTIONAL_ID: int
  • DELEGATION_TOKEN: int

Fields:

  • error: str


Fields:

  • SET: int
  • DELETE: int
  • APPEND: int
  • SUBTRACT: int

Rust-decoded Arrow RecordBatch handle (from poll_arrow).

Exports the Arrow PyCapsule C-stream interface, so pyarrow/polars/duckdb/ deltalake consume it zero-copy. Re-consumable: each arrow_c_stream call clones the (Arc-backed) batch, so re-writing it on a sink retry is safe.

Fields:

  • num_rows: int

Result of poll_arrow: the decoded batch plus consumed offsets.

Fields:

  • batch: ArrowBatch
  • offsets: Any

close(self) -> None
poll_batch(self, max_records: int = 500, timeout_ms: int = 500) -> Any
poll_bytes_batch(self, max_records: int = 500, timeout_ms: int = 500) -> Any
consume(self, max_records: int = 500, timeout_ms: int = 500) -> Any
store_offsets(self, batch_or_offsets: Any) -> Any
commit(self, batch: Optional[Any] = None) -> Any
commit_offsets(self, offsets: Any) -> Any
subscribe(self, topics: Any, on_assign: Optional[Any] = None, on_revoke: Optional[Any] = None, on_lost: Optional[Any] = None) -> Any
unsubscribe(self) -> Any
assign(self, partitions: Any) -> Any
unassign(self) -> Any
assignment(self) -> Any
seek(self, topic_partition: Any, offset: int) -> Any
seek_to_beginning(self, topic_partition: Any) -> Any
seek_to_end(self, topic_partition: Any) -> Any
committed(self, topic_partition: Any) -> Any
position(self, topic_partition: Any) -> int
get_watermark_offsets(self, topic_partition: Any) -> Any
offsets_for_times(self, tp_timestamps: Any) -> Any
pause(self, partitions: Optional[Any] = None) -> Any
resume(self, partitions: Optional[Any] = None) -> Any
list_topics(self) -> Any
subscription(self) -> Any
lag(self) -> Any
memberid(self) -> str
consumer_group_metadata(self) -> Any

close(self) -> None
produce(self, topic: str, value: bytes, key: Optional[bytes] = None) -> Any
produce_many_bytes(self, topic: str, values: Any, keys: Optional[Any] = None) -> Any
produce_many_json(self, topic: str, values: Any, keys: Optional[Any] = None) -> Any
produce_many_avro(self, topic: str, values: Any, serde: Any, keys: Optional[Any] = None) -> Any
produce_many_bytes_sync(self, topic: str, values: Any, keys: Optional[Any] = None) -> Any
produce_many_json_sync(self, topic: str, values: Any, keys: Optional[Any] = None) -> Any
flush(self, timeout_ms: Optional[int] = None) -> Any
purge(self) -> Any
produce_many_records_sync(self, records: Any) -> Any
produce_many_records_txn(self, records: Any) -> Any
send_offsets_to_transaction(self, offsets: Any, consumer_group_metadata: Any) -> Any

Fields:

  • node_id: int
  • host: str
  • port: int
  • rack: Optional[str]

Fields:

  • values: object
  • offsets: Any
  • count: int

Fields:

  • brokers: Any
  • controller_id: int
  • topics: Any
  • cluster_id: Optional[str]


Fields:

  • committed: Any

Fields:

  • name: str
  • value: Optional[str]
  • incremental_operation: Optional[AlterConfigOpType]
  • source: ConfigSource
  • is_default: bool
  • is_sensitive: bool
  • read_only: bool


Fields:

  • resource_type: ResourceType
  • name: str
  • set_config: Any
  • incremental_configs: Any

Fields:

  • UNKNOWN: int
  • DYNAMIC_TOPIC_CONFIG: int
  • DYNAMIC_BROKER_CONFIG: int
  • DYNAMIC_DEFAULT_BROKER_CONFIG: int
  • STATIC_BROKER_CONFIG: int
  • DEFAULT_CONFIG: int
  • DYNAMIC_BROKER_LOGGER_CONFIG: int


Fields:

  • group_id: str
  • state: str
  • protocol_type: str
  • protocol: str
  • members: Any

Fields:

  • group_id: str
  • protocol_type: str

Fields:

  • member_id: str
  • client_id: str
  • host: str
  • assignment: Any

Fields:

  • group_id: str
  • coordinator_addr: str

Fields:

  • low_watermark: int

Fields:

  • topic: str
  • partition: int
  • offset: int



Fields:

  • flushed: int
  • elapsed_ms: int

create_topics(self, specs: Any) -> Any
delete_topics(self, topics: Any) -> Any
list_consumer_groups(self) -> Any
describe_consumer_groups(self, group_ids: Any) -> Any
delete_consumer_groups(self, group_ids: Any) -> Any
create_partitions(self, new_partitions: Any, validate_only: bool = False, operation_timeout_ms: int = 30000) -> Any
list_topics(self) -> Any
describe_cluster(self, include_authorized_operations: bool = False) -> Any
describe_topics(self, topics: Any, include_authorized_operations: bool = False) -> Any
describe_configs(self, resources: Any) -> Any
describe_topic_config(self, topics: Any) -> Any
incremental_alter_configs(self, resources: Any, validate_only: bool = False) -> Any
list_offsets(self, offset_specs: Any, isolation_level: str = 'read_committed') -> Any
delete_records(self, offsets: Any, operation_timeout_ms: int = 30000) -> Any

Fields:

  • records: Any
  • offsets: Any
  • count: int

Fields:

  • bootstrap_servers: str
  • client_id: str
  • acks: str | int
  • compression: str
  • linger_ms: int
  • batch_size_bytes: int
  • enable_idempotence: bool
  • message_timeout_ms: int
  • request_timeout_ms: int
  • retry_backoff_ms: int
  • message_send_max_retries: int
  • queue_buffering_max_messages: int
  • queue_buffering_max_kbytes: int
  • transactional_id: str
  • security_protocol: str
  • sasl_mechanism: str
  • sasl_username: Optional[str]
  • sasl_password: Optional[str]
  • oauth_cb: Optional[Any]
  • extra: Any


poll_batch(self, max_records: int = 10000, timeout_ms: int = 100) -> Any
poll_bytes_batch(self, max_records: int = 10000, timeout_ms: int = 100) -> Any
poll_arrow(self, max_records: int = 10000, timeout_ms: int = 100, value_format: str = 'raw', schema: Optional[str] = None, include_metadata: bool = True) -> Any
store_offsets(self, batch_or_offsets: Any) -> Any
commit(self, batch: Optional[Any] = None) -> Any
commit_offsets(self, offsets: Any) -> Any
subscribe(self, topics: Any, on_assign: Optional[Any] = None, on_revoke: Optional[Any] = None, on_lost: Optional[Any] = None) -> Any
unsubscribe(self) -> Any
assign(self, partitions: Any) -> Any
unassign(self) -> Any
assignment(self) -> Any
incremental_assign(self, partitions: Any) -> Any
incremental_unassign(self, partitions: Any) -> Any
seek(self, topic_partition: Any, offset: int) -> Any
seek_to_beginning(self, topic_partition: Any) -> Any
seek_to_end(self, topic_partition: Any) -> Any
position(self, topic_partition: Any) -> int
committed(self, topic_partition: Any) -> Any
get_watermark_offsets(self, topic_partition: Any) -> Any
offsets_for_times(self, tp_timestamps: Any) -> Any
pause(self, partitions: Optional[Any] = None) -> Any
resume(self, partitions: Optional[Any] = None) -> Any
list_topics(self) -> Any
subscription(self) -> Any
lag(self) -> Any
memberid(self) -> str
consumer_group_metadata(self) -> Any
close(self) -> None

Fields:

  • bootstrap_servers: str
  • topics: list[str]
  • group_id: str
  • group_instance_id: str
  • enable_auto_commit: bool
  • auto_commit_interval_ms: int
  • auto_offset_reset: str
  • max_poll_interval_ms: int
  • session_timeout_ms: int
  • heartbeat_interval_ms: int
  • partition_assignment_strategy: str
  • rebalance_timeout_ms: int
  • topic_metadata_refresh_interval_ms: int
  • topic_metadata_refresh_fast_interval_ms: int
  • isolation_level: str
  • max_poll_records: int
  • fetch_max_bytes: int
  • fetch_mode: str
  • security_protocol: str
  • sasl_mechanism: str
  • sasl_username: Optional[str]
  • sasl_password: Optional[str]
  • oauth_cb: Optional[Any]
  • extra: Any


produce(self, topic: str, value: bytes, key: Optional[bytes] = None) -> ProduceReceipt
produce_many_bytes(self, topic: str, values: Any, keys: Optional[Any] = None) -> ProduceReceipt
produce_many_json(self, topic: str, values: Any, keys: Optional[Any] = None) -> ProduceReceipt
produce_many_avro(self, topic: str, values: Any, serde: Any, keys: Optional[Any] = None) -> ProduceReceipt
produce_many(self, records: Any) -> ProduceReceipt
produce_many_bytes_sync(self, topic: str, values: Any, keys: Optional[Any] = None) -> Any
produce_many_json_sync(self, topic: str, values: Any, keys: Optional[Any] = None) -> Any
flush(self, timeout_ms: Optional[int] = None) -> Any
purge(self) -> Any
init_transactions(self) -> Any
begin_transaction(self) -> Any
commit_transaction(self) -> Any
abort_transaction(self) -> Any
produce_many_bytes_txn(self, topic: str, values: Any, keys: Optional[Any] = None, partition: int = 0) -> Any
produce_many_records_txn(self, records: Any) -> Any
send_offsets_to_transaction(self, offsets: Any, consumer_group_metadata: Any) -> Any
list_topics(self) -> Any
close(self) -> None

Native (Rust) record. Frozen. partition/offset are 0/-1 on the produce path.

key/timestamp_ms read back as Option (Some/Nothing); headers as IMap[str, bytes]. Ctor accepts Some(x)/Nothing OR raw values/None for key and timestamp_ms, and IMap or plain dict for headers. key/headers/timestamp_ms/value materialize lazily on first access (cached).

Fields:

  • topic: str
  • value: bytes
  • partition: int
  • offset: int
  • key: object
  • headers: Any
  • timestamp_ms: object

Fields:

  • offset: int
  • timestamp_ms: int

Fields:

  • topic: str
  • total_count: int

Fields:

  • kind: str
  • timestamp_ms: int
earliest(cls) -> OffsetSpec
latest(cls) -> OffsetSpec
max_timestamp(cls) -> OffsetSpec
for_timestamp(cls, timestamp_ms: int) -> OffsetSpec

Fields:

  • partition_index: int
  • leader_id: int
  • replicas: Any
  • isr: Any




get(self) -> Any
wait(self) -> Any

Fields:

  • accepted: int
  • delivered: int
  • failed: int
  • errors: list



Fields:

  • UNKNOWN: int
  • TOPIC: int
  • BROKER: int

Fields:

  • name: str
  • partitions: Any
  • is_internal: bool
  • error: Optional[str]

Fields:

  • topic: str
  • partition: int

Fields:

  • name: str
  • error: str

Fields:

  • name: str
  • num_partitions: int
  • replication_factor: int
  • config: Any
avro_schema_dict(model: type, name: Optional[str] = None) -> dict
avro_schema_json(schema: Any) -> str
consume(consumer: KafkaConsumer, max_records: int = 500, timeout_ms: int = 500) -> Generator[KafkaRecord]

Convenience generator: yields KafkaRecord objects one at a time.

Usage: for record in consume(consumer, max_records=100): process(record)

Stops only on StopIteration (never blocks forever); caller must break out.

is_schema_type(t: Any) -> bool
json_schema_json(schema: Any) -> str