API refactor
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2025-10-07 16:25:52 +09:00
parent 76d0d86211
commit 91c7e04474
1171 changed files with 81940 additions and 44117 deletions

View File

@@ -0,0 +1,277 @@
Metadata-Version: 2.4
Name: kafka-python
Version: 2.2.15
Summary: Pure Python client for Apache Kafka
Author-email: Dana Powers <dana.powers@gmail.com>
Project-URL: Homepage, https://github.com/dpkp/kafka-python
Keywords: apache kafka,kafka
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Description-Content-Type: text/x-rst
Provides-Extra: crc32c
Requires-Dist: crc32c; extra == "crc32c"
Provides-Extra: lz4
Requires-Dist: lz4; extra == "lz4"
Provides-Extra: snappy
Requires-Dist: python-snappy; extra == "snappy"
Provides-Extra: zstd
Requires-Dist: zstandard; extra == "zstd"
Provides-Extra: testing
Requires-Dist: pytest; extra == "testing"
Requires-Dist: mock; python_version < "3.3" and extra == "testing"
Requires-Dist: pytest-mock; extra == "testing"
Requires-Dist: pytest-timeout; extra == "testing"
Provides-Extra: benchmarks
Requires-Dist: pyperf; extra == "benchmarks"
Kafka Python client
------------------------
.. image:: https://img.shields.io/badge/kafka-4.0--0.8-brightgreen.svg
:target: https://kafka-python.readthedocs.io/en/master/compatibility.html
.. image:: https://img.shields.io/pypi/pyversions/kafka-python.svg
:target: https://pypi.python.org/pypi/kafka-python
.. image:: https://coveralls.io/repos/dpkp/kafka-python/badge.svg?branch=master&service=github
:target: https://coveralls.io/github/dpkp/kafka-python?branch=master
.. image:: https://img.shields.io/badge/license-Apache%202-blue.svg
:target: https://github.com/dpkp/kafka-python/blob/master/LICENSE
.. image:: https://img.shields.io/pypi/dw/kafka-python.svg
:target: https://pypistats.org/packages/kafka-python
.. image:: https://img.shields.io/pypi/v/kafka-python.svg
:target: https://pypi.org/project/kafka-python
.. image:: https://img.shields.io/pypi/implementation/kafka-python
:target: https://github.com/dpkp/kafka-python/blob/master/setup.py
Python client for the Apache Kafka distributed stream processing system.
kafka-python is designed to function much like the official java client, with a
sprinkling of pythonic interfaces (e.g., consumer iterators).
kafka-python is best used with newer brokers (0.9+), but is backwards-compatible with
older versions (to 0.8.0). Some features will only be enabled on newer brokers.
For example, fully coordinated consumer groups -- i.e., dynamic partition
assignment to multiple consumers in the same group -- requires use of 0.9+ kafka
brokers. Supporting this feature for earlier broker releases would require
writing and maintaining custom leadership election and membership / health
check code (perhaps using zookeeper or consul). For older brokers, you can
achieve something similar by manually assigning different partitions to each
consumer instance with config management tools like chef, ansible, etc. This
approach will work fine, though it does not support rebalancing on failures.
See https://kafka-python.readthedocs.io/en/master/compatibility.html
for more details.
Please note that the master branch may contain unreleased features. For release
documentation, please see readthedocs and/or python's inline help.
.. code-block:: bash
$ pip install kafka-python
KafkaConsumer
*************
KafkaConsumer is a high-level message consumer, intended to operate as similarly
as possible to the official java client. Full support for coordinated
consumer groups requires use of kafka brokers that support the Group APIs: kafka v0.9+.
See https://kafka-python.readthedocs.io/en/master/apidoc/KafkaConsumer.html
for API and configuration details.
The consumer iterator returns ConsumerRecords, which are simple namedtuples
that expose basic message attributes: topic, partition, offset, key, and value:
.. code-block:: python
from kafka import KafkaConsumer
consumer = KafkaConsumer('my_favorite_topic')
for msg in consumer:
print (msg)
.. code-block:: python
# join a consumer group for dynamic partition assignment and offset commits
from kafka import KafkaConsumer
consumer = KafkaConsumer('my_favorite_topic', group_id='my_favorite_group')
for msg in consumer:
print (msg)
.. code-block:: python
# manually assign the partition list for the consumer
from kafka import TopicPartition
consumer = KafkaConsumer(bootstrap_servers='localhost:1234')
consumer.assign([TopicPartition('foobar', 2)])
msg = next(consumer)
.. code-block:: python
# Deserialize msgpack-encoded values
consumer = KafkaConsumer(value_deserializer=msgpack.loads)
consumer.subscribe(['msgpackfoo'])
for msg in consumer:
assert isinstance(msg.value, dict)
.. code-block:: python
# Access record headers. The returned value is a list of tuples
# with str, bytes for key and value
for msg in consumer:
print (msg.headers)
.. code-block:: python
# Read only committed messages from transactional topic
consumer = KafkaConsumer(isolation_level='read_committed')
consumer.subscribe(['txn_topic'])
for msg in consumer:
print(msg)
.. code-block:: python
# Get consumer metrics
metrics = consumer.metrics()
KafkaProducer
*************
KafkaProducer is a high-level, asynchronous message producer. The class is
intended to operate as similarly as possible to the official java client.
See https://kafka-python.readthedocs.io/en/master/apidoc/KafkaProducer.html
for more details.
.. code-block:: python
from kafka import KafkaProducer
producer = KafkaProducer(bootstrap_servers='localhost:1234')
for _ in range(100):
producer.send('foobar', b'some_message_bytes')
.. code-block:: python
# Block until a single message is sent (or timeout)
future = producer.send('foobar', b'another_message')
result = future.get(timeout=60)
.. code-block:: python
# Block until all pending messages are at least put on the network
# NOTE: This does not guarantee delivery or success! It is really
# only useful if you configure internal batching using linger_ms
producer.flush()
.. code-block:: python
# Use a key for hashed-partitioning
producer.send('foobar', key=b'foo', value=b'bar')
.. code-block:: python
# Serialize json messages
import json
producer = KafkaProducer(value_serializer=lambda v: json.dumps(v).encode('utf-8'))
producer.send('fizzbuzz', {'foo': 'bar'})
.. code-block:: python
# Serialize string keys
producer = KafkaProducer(key_serializer=str.encode)
producer.send('flipflap', key='ping', value=b'1234')
.. code-block:: python
# Compress messages
producer = KafkaProducer(compression_type='gzip')
for i in range(1000):
producer.send('foobar', b'msg %d' % i)
.. code-block:: python
# Use transactions
producer = KafkaProducer(transactional_id='fizzbuzz')
producer.init_transactions()
producer.begin_transaction()
future = producer.send('txn_topic', value=b'yes')
future.get() # wait for successful produce
producer.commit_transaction() # commit the transaction
producer.begin_transaction()
future = producer.send('txn_topic', value=b'no')
future.get() # wait for successful produce
producer.abort_transaction() # abort the transaction
.. code-block:: python
# Include record headers. The format is list of tuples with string key
# and bytes value.
producer.send('foobar', value=b'c29tZSB2YWx1ZQ==', headers=[('content-encoding', b'base64')])
.. code-block:: python
# Get producer performance metrics
metrics = producer.metrics()
Thread safety
*************
The KafkaProducer can be used across threads without issue, unlike the
KafkaConsumer which cannot.
While it is possible to use the KafkaConsumer in a thread-local manner,
multiprocessing is recommended.
Compression
***********
kafka-python supports the following compression formats:
- gzip
- LZ4
- Snappy
- Zstandard (zstd)
gzip is supported natively, the others require installing additional libraries.
See https://kafka-python.readthedocs.io/en/master/install.html for more information.
Optimized CRC32 Validation
**************************
Kafka uses CRC32 checksums to validate messages. kafka-python includes a pure
python implementation for compatibility. To improve performance for high-throughput
applications, kafka-python will use `crc32c` for optimized native code if installed.
See https://kafka-python.readthedocs.io/en/master/install.html for installation instructions.
See https://pypi.org/project/crc32c/ for details on the underlying crc32c lib.
Protocol
********
A secondary goal of kafka-python is to provide an easy-to-use protocol layer
for interacting with kafka brokers via the python repl. This is useful for
testing, probing, and general experimentation. The protocol support is
leveraged to enable a KafkaClient.check_version() method that
probes a kafka broker and attempts to identify which version it is running
(0.8.0 to 2.6+).

View File

@@ -0,0 +1,250 @@
kafka/__init__.py,sha256=4dvHKZAxmD_4tfJ5wGcRV2X78vPcm8vsUoqceULevjA,1077
kafka/__pycache__/__init__.cpython-312.pyc,,
kafka/__pycache__/client_async.cpython-312.pyc,,
kafka/__pycache__/cluster.cpython-312.pyc,,
kafka/__pycache__/codec.cpython-312.pyc,,
kafka/__pycache__/conn.cpython-312.pyc,,
kafka/__pycache__/errors.cpython-312.pyc,,
kafka/__pycache__/future.cpython-312.pyc,,
kafka/__pycache__/socks5_wrapper.cpython-312.pyc,,
kafka/__pycache__/structs.cpython-312.pyc,,
kafka/__pycache__/util.cpython-312.pyc,,
kafka/__pycache__/version.cpython-312.pyc,,
kafka/admin/__init__.py,sha256=S_XxqyyV480_yXhttK79XZqNAmZyXRjspd3SoqYykE8,720
kafka/admin/__pycache__/__init__.cpython-312.pyc,,
kafka/admin/__pycache__/acl_resource.cpython-312.pyc,,
kafka/admin/__pycache__/client.cpython-312.pyc,,
kafka/admin/__pycache__/config_resource.cpython-312.pyc,,
kafka/admin/__pycache__/new_partitions.cpython-312.pyc,,
kafka/admin/__pycache__/new_topic.cpython-312.pyc,,
kafka/admin/acl_resource.py,sha256=ak_dUsSni4SyP0ORbSKenZpwTy0Ykxq3FSt_9XgLR8k,8265
kafka/admin/client.py,sha256=94UpHTsgzvhOoB6_1QLeKxvZKlStKfI96xuWyaY9_Sc,78814
kafka/admin/config_resource.py,sha256=_JZWN_Q7jbuTtq2kdfHxWyTt_jI1LI-xnVGsf6oYGyY,1039
kafka/admin/new_partitions.py,sha256=rYSb7S6VL706ZauSmiN5J9GDsep0HYRmkkAZUgT2JIg,757
kafka/admin/new_topic.py,sha256=fvezLP9JXumqX-nU27Fgo0tj4d85ybcJgKluQImm3-0,1306
kafka/benchmarks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
kafka/benchmarks/__pycache__/__init__.cpython-312.pyc,,
kafka/benchmarks/__pycache__/consumer_performance.cpython-312.pyc,,
kafka/benchmarks/__pycache__/load_example.cpython-312.pyc,,
kafka/benchmarks/__pycache__/producer_performance.cpython-312.pyc,,
kafka/benchmarks/__pycache__/record_batch_compose.cpython-312.pyc,,
kafka/benchmarks/__pycache__/record_batch_read.cpython-312.pyc,,
kafka/benchmarks/__pycache__/varint_speed.cpython-312.pyc,,
kafka/benchmarks/consumer_performance.py,sha256=UFW2rVHX4rdwLRRQqsoUoMR7FbA9hwYsCNkQA1qNvuQ,4932
kafka/benchmarks/load_example.py,sha256=feaU2Qic11hZfi3rKTI4Fezxmu-kvNz17m2wJmZMjmw,3491
kafka/benchmarks/producer_performance.py,sha256=jy1Q4zyamPrluh3SUKxiH3z6wY-8sSFG3yJvJbnUFO0,5210
kafka/benchmarks/record_batch_compose.py,sha256=CnUreNg1lUT0Qx9enmSr-THmBl9PjVMfaB0tsIFjFr8,2057
kafka/benchmarks/record_batch_read.py,sha256=vlFaWU2YWI379n_2M8qieb_S2uHUWKV0NquEYy5b-Ho,2184
kafka/benchmarks/varint_speed.py,sha256=s4CuvKgDZL-_zna5E3vM8RgHjhXuW6pcaO1z1WYZ_0Y,12585
kafka/client_async.py,sha256=R8q_rRpG3RrYrRmcZo7XgO2oSdpLJATNcq8w-1vIJ_8,56878
kafka/cluster.py,sha256=B4tOZYhZaYrcGsyAtdA8yejFm9ue7ElJxn_pd6Xhdfk,16775
kafka/codec.py,sha256=8NZpnehzNrhSBIjzbPVSvyFbSeLAqEntE7BfVHu-_9I,10036
kafka/conn.py,sha256=_yP-pGwEbkDmeutMOZjVilQXAnF4PWF_CDc60qC3DuE,69488
kafka/consumer/__init__.py,sha256=NDdvtyuJgFyQZahqL9i5sYXGP6rOMIXWwHQEaZ1fCcs,122
kafka/consumer/__pycache__/__init__.cpython-312.pyc,,
kafka/consumer/__pycache__/fetcher.cpython-312.pyc,,
kafka/consumer/__pycache__/group.cpython-312.pyc,,
kafka/consumer/__pycache__/subscription_state.cpython-312.pyc,,
kafka/consumer/fetcher.py,sha256=RlQLut54c5nOMl21neTJA2tmdsxIIPIX2Idu5Q-dYKY,69184
kafka/consumer/group.py,sha256=1_4qES7x3XyAHjVbFZ_E0ilAoueyaeHiGpNgggYLGiQ,58945
kafka/consumer/subscription_state.py,sha256=bK-YTVbOzhy8OB206QAfXVuo7zPA9YqYXnrRRST369c,24289
kafka/coordinator/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
kafka/coordinator/__pycache__/__init__.cpython-312.pyc,,
kafka/coordinator/__pycache__/base.cpython-312.pyc,,
kafka/coordinator/__pycache__/consumer.cpython-312.pyc,,
kafka/coordinator/__pycache__/heartbeat.cpython-312.pyc,,
kafka/coordinator/__pycache__/protocol.cpython-312.pyc,,
kafka/coordinator/assignors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
kafka/coordinator/assignors/__pycache__/__init__.cpython-312.pyc,,
kafka/coordinator/assignors/__pycache__/abstract.cpython-312.pyc,,
kafka/coordinator/assignors/__pycache__/range.cpython-312.pyc,,
kafka/coordinator/assignors/__pycache__/roundrobin.cpython-312.pyc,,
kafka/coordinator/assignors/abstract.py,sha256=belUnCkuw70HJ8HTWYIgVrT6pJmIBBrTl1vkO-bN1C0,1507
kafka/coordinator/assignors/range.py,sha256=PXFkkb505pL1uJEQMTvXCOp0Rckm-qkoKqTGyn082qM,2912
kafka/coordinator/assignors/roundrobin.py,sha256=Xt_TOvCtcdozjZSg1cxixLAPyWz1aTpDL8v1vDhX960,3776
kafka/coordinator/assignors/sticky/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
kafka/coordinator/assignors/sticky/__pycache__/__init__.cpython-312.pyc,,
kafka/coordinator/assignors/sticky/__pycache__/partition_movements.cpython-312.pyc,,
kafka/coordinator/assignors/sticky/__pycache__/sorted_set.cpython-312.pyc,,
kafka/coordinator/assignors/sticky/__pycache__/sticky_assignor.cpython-312.pyc,,
kafka/coordinator/assignors/sticky/partition_movements.py,sha256=npydNO-YCG_cv--U--9CPTLGTbTWahiw_Ek295ayBjQ,6476
kafka/coordinator/assignors/sticky/sorted_set.py,sha256=lOckfQ7vcOMNnIx5WjfHhKC_MgToeOxbp9vc_4tPIzs,1904
kafka/coordinator/assignors/sticky/sticky_assignor.py,sha256=p5gDou3Gom7bUSLF5zpilihNPiT-fqJl1J8QxykqqMw,34216
kafka/coordinator/base.py,sha256=hXfwtDkrHXHiNqjshCOa19js_2Y6ibLsdzDvJKGmcKc,54419
kafka/coordinator/consumer.py,sha256=le4bGbHfrDK4pperYXekPKzuZW576uXL324IOwS4Kmw,46348
kafka/coordinator/heartbeat.py,sha256=LeJJlwz1oUEOfEMIFT-R7ZOHBQ-b-luVKwmKyWxLfDo,3242
kafka/coordinator/protocol.py,sha256=wTaIOnUVbj0CKXZ82FktZo-zMRvOCk3hdQAoHJ62e3I,1041
kafka/errors.py,sha256=qX2Fp0qawU_HBNcZCwB7EDCmx3C2PehrETi6qSEJHmk,33290
kafka/future.py,sha256=ZQStbfUYIPJRrgMfAWxxjrIRVxsw4WCtSR0J0bkyGno,2847
kafka/metrics/__init__.py,sha256=b82LCjV5BgisjmIc3pn11CqFpme5grtIFHWiH8C_R0U,574
kafka/metrics/__pycache__/__init__.cpython-312.pyc,,
kafka/metrics/__pycache__/compound_stat.cpython-312.pyc,,
kafka/metrics/__pycache__/dict_reporter.cpython-312.pyc,,
kafka/metrics/__pycache__/kafka_metric.cpython-312.pyc,,
kafka/metrics/__pycache__/measurable.cpython-312.pyc,,
kafka/metrics/__pycache__/measurable_stat.cpython-312.pyc,,
kafka/metrics/__pycache__/metric_config.cpython-312.pyc,,
kafka/metrics/__pycache__/metric_name.cpython-312.pyc,,
kafka/metrics/__pycache__/metrics.cpython-312.pyc,,
kafka/metrics/__pycache__/metrics_reporter.cpython-312.pyc,,
kafka/metrics/__pycache__/quota.cpython-312.pyc,,
kafka/metrics/__pycache__/stat.cpython-312.pyc,,
kafka/metrics/compound_stat.py,sha256=vHypFwcp4wWd-fC3jeMiMX8TwiVnnrn1vNfpZlBTZmg,850
kafka/metrics/dict_reporter.py,sha256=OvZ6SUFp-Yk3tNaWbC0ul0WXncp42ymg8bHw3O6MITA,2567
kafka/metrics/kafka_metric.py,sha256=vsLHShdhAjltL1vc51__B3M8lCUldMERub8cIdK3gFk,995
kafka/metrics/measurable.py,sha256=g5mp1c9816SRgJdgHXklTNqDoDnbeYp-opjoV3DOr7Q,770
kafka/metrics/measurable_stat.py,sha256=Y4D7yrg07E9HqZlqh_EgeVnEEk4DRoNyKEoteEicssU,542
kafka/metrics/metric_config.py,sha256=LcHTPumiRscwKvF2Da14oMbHAEZolk-gUKk1sxpDUoI,1235
kafka/metrics/metric_name.py,sha256=eO9rBbd8sp1tWWu6O9YasbDxsS4QQzq8eD0fz1JRqJ8,3493
kafka/metrics/metrics.py,sha256=EAuMd-OLeSX3IS16NvC3w2tpIEwvCPedPwQ1gyM0C7E,10383
kafka/metrics/metrics_reporter.py,sha256=hxAs01C5Gj_orStdgHUOYSs4-kOI4xfu0MOkYyuX28s,1437
kafka/metrics/quota.py,sha256=xzZH-nVdi4nWNo__LAkRWUyb84DKsYGvBBt_ZzRhpKc,1170
kafka/metrics/stat.py,sha256=eos8xrmz7vgBnIk-8LyqpbEsBbyqEEdJ_CrDzEVGEaU,667
kafka/metrics/stats/__init__.py,sha256=sHcT6pvQCt-s_aow5_QRy9Z5bRV4ShBCZlin51f--Ro,629
kafka/metrics/stats/__pycache__/__init__.cpython-312.pyc,,
kafka/metrics/stats/__pycache__/avg.cpython-312.pyc,,
kafka/metrics/stats/__pycache__/count.cpython-312.pyc,,
kafka/metrics/stats/__pycache__/histogram.cpython-312.pyc,,
kafka/metrics/stats/__pycache__/max_stat.cpython-312.pyc,,
kafka/metrics/stats/__pycache__/min_stat.cpython-312.pyc,,
kafka/metrics/stats/__pycache__/percentile.cpython-312.pyc,,
kafka/metrics/stats/__pycache__/percentiles.cpython-312.pyc,,
kafka/metrics/stats/__pycache__/rate.cpython-312.pyc,,
kafka/metrics/stats/__pycache__/sampled_stat.cpython-312.pyc,,
kafka/metrics/stats/__pycache__/sensor.cpython-312.pyc,,
kafka/metrics/stats/__pycache__/total.cpython-312.pyc,,
kafka/metrics/stats/avg.py,sha256=6YDKXBfr7z0w4_yXBDhdycUcTiPvT8Rw3B_iD-c_Qi0,738
kafka/metrics/stats/count.py,sha256=2of_mXwfzp9ZCLzEA2VOXr0PWkdLy4TSZL0uH5nF1Dw,547
kafka/metrics/stats/histogram.py,sha256=5jNlZHOnHvGOpho-Zm0Rna6GcHy-CYjxPe612B5DHIk,3039
kafka/metrics/stats/max_stat.py,sha256=n_90jTiHCgF193OCu2wtjUlJJxSkldW336OyEAexbv0,606
kafka/metrics/stats/min_stat.py,sha256=xKzBc3tQjk4ieiGdvs9HqKn885mPV6yaDxCb2ANye8c,628
kafka/metrics/stats/percentile.py,sha256=RkBL4L1AIBL5Mp74xIOt5lYJol4PSLNYmROcpD9bMb0,391
kafka/metrics/stats/percentiles.py,sha256=9aYsUwZO6h-uqsYnx8ob9biWwWJ-ztRDwTZ8AXVRI3w,3027
kafka/metrics/stats/rate.py,sha256=5vvGCUyqZF7QDeUtVu0g37UVRavkwqdRc7DldKlMGn0,4628
kafka/metrics/stats/sampled_stat.py,sha256=zO9HwoJFZvuuDWj_OdckPeVpxUxhR5dhRXcLTL0-hUQ,3556
kafka/metrics/stats/sensor.py,sha256=xQsbt3cqcBkJr9ccAkFabWgh9pdeMzggYSjhiStvAdo,5317
kafka/metrics/stats/total.py,sha256=gS4F4bsSv4gp4R1Et_SQnx2KaoE8wZ5SY9X10xf6bic,446
kafka/partitioner/__init__.py,sha256=Fks3C5_kokVWYw1Ad5wv0sVVzaaBtOejL-2bIL1yRII,158
kafka/partitioner/__pycache__/__init__.cpython-312.pyc,,
kafka/partitioner/__pycache__/default.cpython-312.pyc,,
kafka/partitioner/default.py,sha256=tW-RC1PWIPRDEbeEAaPTLn-00oiZnXoVouEk9AnYE4w,2879
kafka/producer/__init__.py,sha256=i3Wxih0NHjmqCkRNE54ial8fBp9siqabUE6ZGyL6oX8,122
kafka/producer/__pycache__/__init__.cpython-312.pyc,,
kafka/producer/__pycache__/future.cpython-312.pyc,,
kafka/producer/__pycache__/kafka.cpython-312.pyc,,
kafka/producer/__pycache__/record_accumulator.cpython-312.pyc,,
kafka/producer/__pycache__/sender.cpython-312.pyc,,
kafka/producer/__pycache__/transaction_manager.cpython-312.pyc,,
kafka/producer/future.py,sha256=UC3-g9QlgVFmbitrtMXVpeP0Pbvr7xl2kcw6bAehKG8,2983
kafka/producer/kafka.py,sha256=oGO-UxoVZEFdBLOQ7zEqeDJWXMxKyUdNV-pCRU3jZmg,53302
kafka/producer/record_accumulator.py,sha256=xNkHOCmganxDfa3W_Y3iBLT4RaAOZi0Lix-mUzsp2aQ,28170
kafka/producer/sender.py,sha256=8-TLTw6vQO7AheWSDPI33cQdWMyTDxi1k-pkXuUb9k0,37789
kafka/producer/transaction_manager.py,sha256=q3e9Lc9o-ofWvjT9FbHdTQH08XQBeRtoQEcQHGcnp7g,41535
kafka/protocol/__init__.py,sha256=T1RBBlTH3zze0Cr1RqemPD4Z1b3IUDRmLOBfZTsPgLs,1184
kafka/protocol/__pycache__/__init__.cpython-312.pyc,,
kafka/protocol/__pycache__/abstract.cpython-312.pyc,,
kafka/protocol/__pycache__/add_offsets_to_txn.cpython-312.pyc,,
kafka/protocol/__pycache__/add_partitions_to_txn.cpython-312.pyc,,
kafka/protocol/__pycache__/admin.cpython-312.pyc,,
kafka/protocol/__pycache__/api.cpython-312.pyc,,
kafka/protocol/__pycache__/api_versions.cpython-312.pyc,,
kafka/protocol/__pycache__/broker_api_versions.cpython-312.pyc,,
kafka/protocol/__pycache__/commit.cpython-312.pyc,,
kafka/protocol/__pycache__/end_txn.cpython-312.pyc,,
kafka/protocol/__pycache__/fetch.cpython-312.pyc,,
kafka/protocol/__pycache__/find_coordinator.cpython-312.pyc,,
kafka/protocol/__pycache__/frame.cpython-312.pyc,,
kafka/protocol/__pycache__/group.cpython-312.pyc,,
kafka/protocol/__pycache__/init_producer_id.cpython-312.pyc,,
kafka/protocol/__pycache__/list_offsets.cpython-312.pyc,,
kafka/protocol/__pycache__/message.cpython-312.pyc,,
kafka/protocol/__pycache__/metadata.cpython-312.pyc,,
kafka/protocol/__pycache__/offset_for_leader_epoch.cpython-312.pyc,,
kafka/protocol/__pycache__/parser.cpython-312.pyc,,
kafka/protocol/__pycache__/pickle.cpython-312.pyc,,
kafka/protocol/__pycache__/produce.cpython-312.pyc,,
kafka/protocol/__pycache__/sasl_authenticate.cpython-312.pyc,,
kafka/protocol/__pycache__/sasl_handshake.cpython-312.pyc,,
kafka/protocol/__pycache__/struct.cpython-312.pyc,,
kafka/protocol/__pycache__/txn_offset_commit.cpython-312.pyc,,
kafka/protocol/__pycache__/types.cpython-312.pyc,,
kafka/protocol/abstract.py,sha256=uOnuf6D8OTkL31Tp2QXG3VlzDPHVELGzM_bpSVa-_iw,424
kafka/protocol/add_offsets_to_txn.py,sha256=Hya7vg6yqsV9XGLKWi8rES_VuN47-H4fdycg6mx8GLY,1486
kafka/protocol/add_partitions_to_txn.py,sha256=mEz0DTrhY1ZN_GoITCQKRo-DO_HPc7A9r9eo_z1aF10,1766
kafka/protocol/admin.py,sha256=11zE9sVrb34QY6AwYVvvWiwg4iycnq9aDSONCiuE9bo,30720
kafka/protocol/api.py,sha256=ZI7DYb85UTL4BuhpwKGAyAKEv4Dl_y69AEW78M233lg,3813
kafka/protocol/api_versions.py,sha256=VC9pvorLM--BE2uw0SvpeeMQPfWmcOvTgDFigLuGuVM,3546
kafka/protocol/broker_api_versions.py,sha256=LA_pdbfsJClBxQPi01u5yVRLUIpZRUz6LiqhSsj8cgU,16523
kafka/protocol/commit.py,sha256=-COlx8lTVCI6Zg4ZebDnsX4Wy_V69Kjw8V85FRd3Ics,8627
kafka/protocol/end_txn.py,sha256=I0C1cxjkgLR0ri3QbEcmTkNoVT-lh7Bv_KaZO2wZUD0,1293
kafka/protocol/fetch.py,sha256=G3Hh0AWGbEiWmiC83-b0t2jGlRLBovYz_ecfSp-vMEE,11214
kafka/protocol/find_coordinator.py,sha256=sROaXxqAje2BSaNunh6QMTdVcR7uil5kz-woZqdg2BY,1697
kafka/protocol/frame.py,sha256=SejRBK5urTD-2UzcVM2OxTgC73qDxfF3nlBPl9sjsfY,734
kafka/protocol/group.py,sha256=SClv-Ntrj4IdEEL23L-S8XtCbELYojiue7BYwV8WjPc,7172
kafka/protocol/init_producer_id.py,sha256=bFiPJTLTFXHNth2lg53mg9_N8znUBvpqR1PO31-RUlw,1117
kafka/protocol/list_offsets.py,sha256=3kvif8X-B2LBSpR3qwbkGYyJ0GLKbQdENDGpxWV0scQ,4887
kafka/protocol/message.py,sha256=9wNwJvfl9bsrdk_YcxbmAFjgvwZ5R1EBLSif2KILg9s,7657
kafka/protocol/metadata.py,sha256=X99gdDTQJZWDrEa0sGWbwVED9cpKZ2zax6s6cMnN4xw,7403
kafka/protocol/offset_for_leader_epoch.py,sha256=aunp-LMIuwcCsKwvgBZ8OcUhcgb0blaq5d3PAh22JOo,4304
kafka/protocol/parser.py,sha256=OB3yebOp6JSQpl-5fEpV1_0SdAtYkiqIk6ffDIkHzu0,6859
kafka/protocol/pickle.py,sha256=FGEv-1l1aXY3TogqzCwOS1gCNpEg6-xNLbrysqNdHcs,920
kafka/protocol/produce.py,sha256=JDWCRY5B7eSL3vp0N977MIgYMrR2qxgrbUZrqQMlGWk,6540
kafka/protocol/sasl_authenticate.py,sha256=HaFAHPRhCKgyGEoJ5LwGffcpMUBNCphgBgXCsITLho8,1150
kafka/protocol/sasl_handshake.py,sha256=WzQh9HBRemXvShrczkN4rd4SM-hNdes1khMzPRvcRQQ,982
kafka/protocol/struct.py,sha256=DxktwrPp1pj4b7Vne2H5n-xWjgx9jpCmf0ydZkeIjoY,2380
kafka/protocol/txn_offset_commit.py,sha256=_6Wr-SabUd9q09Tj9oG43AVZcqlW3LYbqXNW1Pvk9vs,2250
kafka/protocol/types.py,sha256=f-lwfCqsJulYnBT1loek_KbMnZZqItN4YRIONjg3kbE,10244
kafka/record/__init__.py,sha256=Q20hP_R5XX3AEnAlPkpoWzTLShESvxUT2OLXmI-JYEQ,129
kafka/record/__pycache__/__init__.cpython-312.pyc,,
kafka/record/__pycache__/_crc32c.cpython-312.pyc,,
kafka/record/__pycache__/abc.cpython-312.pyc,,
kafka/record/__pycache__/default_records.cpython-312.pyc,,
kafka/record/__pycache__/legacy_records.cpython-312.pyc,,
kafka/record/__pycache__/memory_records.cpython-312.pyc,,
kafka/record/__pycache__/util.cpython-312.pyc,,
kafka/record/_crc32c.py,sha256=Ok-P62Yvg6D6rMGM9Z56OMjZWQlnps4xBbakg-sdxvI,5761
kafka/record/abc.py,sha256=z1UYURHbD2RyyGRpVXKP598jck5eXU9p4M6iUo6ZSFo,4110
kafka/record/default_records.py,sha256=IuICFp0soETihkp8bUyjjksqTlzU45o-UYmo8joLBmo,25992
kafka/record/legacy_records.py,sha256=bm1Y24PLVgLKtWqamESKvMk9P01uw3aQ8Z8q2QHxJy8,18858
kafka/record/memory_records.py,sha256=b7RFxvaQ93drXSk3o3_YB3FQlVoESoBlGj3Z5PD25n8,8874
kafka/record/util.py,sha256=LDajBWdYVetmXts_t9Q76CxEx7njgC9LnjMgz9yPEMM,3556
kafka/sasl/__init__.py,sha256=wUUGIKRe52J6Qekj7hSypg44vWTrkYsEdVafQC7cX5s,1106
kafka/sasl/__pycache__/__init__.cpython-312.pyc,,
kafka/sasl/__pycache__/abc.cpython-312.pyc,,
kafka/sasl/__pycache__/gssapi.cpython-312.pyc,,
kafka/sasl/__pycache__/msk.cpython-312.pyc,,
kafka/sasl/__pycache__/oauth.cpython-312.pyc,,
kafka/sasl/__pycache__/plain.cpython-312.pyc,,
kafka/sasl/__pycache__/scram.cpython-312.pyc,,
kafka/sasl/__pycache__/sspi.cpython-312.pyc,,
kafka/sasl/abc.py,sha256=R0BZOk3AYEGyehiGbbg-LMRvFAlWZsh0fBiESgUpBYw,657
kafka/sasl/gssapi.py,sha256=pwLxXqcmJJxkuFQUoEfX5PWgZxr-8TziuRCg9K7fO3E,4705
kafka/sasl/msk.py,sha256=FCv0uUTQKjvR2gIGyiv-dlwIvkpvEtaHvhqhXtC2q8w,8101
kafka/sasl/oauth.py,sha256=dh87tVi-dlS5lIzgYsC4m7IXUhlLdejaMb9Ua6oYaB0,3425
kafka/sasl/plain.py,sha256=PMfoWT856wx6nF_LhpfPKEnD7BRNx5l6rDhAqxBnMWU,1317
kafka/sasl/scram.py,sha256=77If2o9x-QZDBs2fqml17S-wGyR5YkOMr2nZxXrCW9c,5045
kafka/sasl/sspi.py,sha256=RUIVyWCEdlJPV1oj7bdzG8gORvFyR_9Bt79TzIohwMM,5001
kafka/serializer/__init__.py,sha256=_I4utl_8nNhcRzLLezFtwYX5akk6QKYmxa1HanRlYPU,103
kafka/serializer/__pycache__/__init__.cpython-312.pyc,,
kafka/serializer/__pycache__/abstract.cpython-312.pyc,,
kafka/serializer/abstract.py,sha256=doiXDkMYt2SEHRarBdd8xVZKvr5S1qPdNEtl4syWA6Q,486
kafka/socks5_wrapper.py,sha256=6woOaCTJXJ5e89_zdyW5BjOpyE4rCbYFH-kd-FeuPuk,9827
kafka/structs.py,sha256=SJGzmLdV21jZyQ7247k0WFy16UiusgTHK3I-e4qzI-E,3058
kafka/util.py,sha256=WGqI5yT1yWGgHqSuRF9Fi8ejpiB53SurMy7ABkYxJ2g,4584
kafka/vendor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
kafka/vendor/__pycache__/__init__.cpython-312.pyc,,
kafka/vendor/__pycache__/enum34.cpython-312.pyc,,
kafka/vendor/__pycache__/selectors34.cpython-312.pyc,,
kafka/vendor/__pycache__/six.cpython-312.pyc,,
kafka/vendor/__pycache__/socketpair.cpython-312.pyc,,
kafka/vendor/enum34.py,sha256=-u-lxAiJMt6ru4Do7NUDY9OpeWkYJMksb2xengJawFE,31204
kafka/vendor/selectors34.py,sha256=gxejLO4eXf8mRSGXaQiknPig3GdX1rtsZiYOQJVuAy8,20594
kafka/vendor/six.py,sha256=lLBa9_HrANP5BMZ7twEzg1M3wofwPmXyptuWmHX0brY,34826
kafka/vendor/socketpair.py,sha256=Fi3PoY1Okkppab720wFk1BhHXyjcw7hi5DwhqrYZH2Y,2737
kafka/version.py,sha256=Vh0q00JWD6pn7UpRKd065A7-8g7Bv7yYCxnqmZMfsFY,23
kafka_python-2.2.15.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
kafka_python-2.2.15.dist-info/METADATA,sha256=K9jQXj1ujRv2RCbdfjE07NblzS8mIlVycU1q_bMOtUc,9952
kafka_python-2.2.15.dist-info/RECORD,,
kafka_python-2.2.15.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
kafka_python-2.2.15.dist-info/WHEEL,sha256=JNWh1Fm1UdwIQV075glCn4MVuCRs0sotJIq-J6rbxCU,109
kafka_python-2.2.15.dist-info/top_level.txt,sha256=IivJz7l5WHdLNDT6RIiVAlhjQzYRwGqBBmKHZ7WjPeM,6

View File

@@ -0,0 +1,6 @@
Wheel-Version: 1.0
Generator: setuptools (80.9.0)
Root-Is-Purelib: true
Tag: py2-none-any
Tag: py3-none-any