kafka-python 2.2.11__tar.gz → 2.2.12__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. {kafka_python-2.2.11 → kafka_python-2.2.12}/CHANGES.md +8 -0
  2. {kafka_python-2.2.11 → kafka_python-2.2.12}/PKG-INFO +1 -1
  3. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/consumer/fetcher.py +2 -1
  4. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/metrics/stats/percentiles.py +1 -1
  5. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/sasl/gssapi.py +4 -2
  6. kafka_python-2.2.12/kafka/version.py +1 -0
  7. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka_python.egg-info/PKG-INFO +1 -1
  8. kafka_python-2.2.11/kafka/version.py +0 -1
  9. {kafka_python-2.2.11 → kafka_python-2.2.12}/AUTHORS.md +0 -0
  10. {kafka_python-2.2.11 → kafka_python-2.2.12}/LICENSE +0 -0
  11. {kafka_python-2.2.11 → kafka_python-2.2.12}/MANIFEST.in +0 -0
  12. {kafka_python-2.2.11 → kafka_python-2.2.12}/README.rst +0 -0
  13. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/__init__.py +0 -0
  14. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/admin/__init__.py +0 -0
  15. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/admin/acl_resource.py +0 -0
  16. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/admin/client.py +0 -0
  17. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/admin/config_resource.py +0 -0
  18. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/admin/new_partitions.py +0 -0
  19. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/admin/new_topic.py +0 -0
  20. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/benchmarks/__init__.py +0 -0
  21. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/benchmarks/consumer_performance.py +0 -0
  22. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/benchmarks/load_example.py +0 -0
  23. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/benchmarks/producer_performance.py +0 -0
  24. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/benchmarks/record_batch_compose.py +0 -0
  25. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/benchmarks/record_batch_read.py +0 -0
  26. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/benchmarks/varint_speed.py +0 -0
  27. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/client_async.py +0 -0
  28. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/cluster.py +0 -0
  29. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/codec.py +0 -0
  30. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/conn.py +0 -0
  31. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/consumer/__init__.py +0 -0
  32. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/consumer/group.py +0 -0
  33. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/consumer/subscription_state.py +0 -0
  34. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/coordinator/__init__.py +0 -0
  35. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/coordinator/assignors/__init__.py +0 -0
  36. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/coordinator/assignors/abstract.py +0 -0
  37. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/coordinator/assignors/range.py +0 -0
  38. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/coordinator/assignors/roundrobin.py +0 -0
  39. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/coordinator/assignors/sticky/__init__.py +0 -0
  40. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/coordinator/assignors/sticky/partition_movements.py +0 -0
  41. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/coordinator/assignors/sticky/sorted_set.py +0 -0
  42. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/coordinator/assignors/sticky/sticky_assignor.py +0 -0
  43. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/coordinator/base.py +0 -0
  44. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/coordinator/consumer.py +0 -0
  45. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/coordinator/heartbeat.py +0 -0
  46. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/coordinator/protocol.py +0 -0
  47. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/errors.py +0 -0
  48. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/future.py +0 -0
  49. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/metrics/__init__.py +0 -0
  50. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/metrics/compound_stat.py +0 -0
  51. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/metrics/dict_reporter.py +0 -0
  52. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/metrics/kafka_metric.py +0 -0
  53. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/metrics/measurable.py +0 -0
  54. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/metrics/measurable_stat.py +0 -0
  55. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/metrics/metric_config.py +0 -0
  56. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/metrics/metric_name.py +0 -0
  57. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/metrics/metrics.py +0 -0
  58. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/metrics/metrics_reporter.py +0 -0
  59. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/metrics/quota.py +0 -0
  60. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/metrics/stat.py +0 -0
  61. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/metrics/stats/__init__.py +0 -0
  62. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/metrics/stats/avg.py +0 -0
  63. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/metrics/stats/count.py +0 -0
  64. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/metrics/stats/histogram.py +0 -0
  65. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/metrics/stats/max_stat.py +0 -0
  66. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/metrics/stats/min_stat.py +0 -0
  67. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/metrics/stats/percentile.py +0 -0
  68. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/metrics/stats/rate.py +0 -0
  69. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/metrics/stats/sampled_stat.py +0 -0
  70. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/metrics/stats/sensor.py +0 -0
  71. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/metrics/stats/total.py +0 -0
  72. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/partitioner/__init__.py +0 -0
  73. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/partitioner/default.py +0 -0
  74. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/producer/__init__.py +0 -0
  75. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/producer/future.py +0 -0
  76. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/producer/kafka.py +0 -0
  77. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/producer/record_accumulator.py +0 -0
  78. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/producer/sender.py +0 -0
  79. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/producer/transaction_manager.py +0 -0
  80. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/protocol/__init__.py +0 -0
  81. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/protocol/abstract.py +0 -0
  82. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/protocol/add_offsets_to_txn.py +0 -0
  83. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/protocol/add_partitions_to_txn.py +0 -0
  84. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/protocol/admin.py +0 -0
  85. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/protocol/api.py +0 -0
  86. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/protocol/api_versions.py +0 -0
  87. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/protocol/broker_api_versions.py +0 -0
  88. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/protocol/commit.py +0 -0
  89. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/protocol/end_txn.py +0 -0
  90. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/protocol/fetch.py +0 -0
  91. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/protocol/find_coordinator.py +0 -0
  92. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/protocol/frame.py +0 -0
  93. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/protocol/group.py +0 -0
  94. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/protocol/init_producer_id.py +0 -0
  95. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/protocol/list_offsets.py +0 -0
  96. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/protocol/message.py +0 -0
  97. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/protocol/metadata.py +0 -0
  98. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/protocol/offset_for_leader_epoch.py +0 -0
  99. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/protocol/parser.py +0 -0
  100. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/protocol/pickle.py +0 -0
  101. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/protocol/produce.py +0 -0
  102. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/protocol/sasl_authenticate.py +0 -0
  103. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/protocol/sasl_handshake.py +0 -0
  104. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/protocol/struct.py +0 -0
  105. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/protocol/txn_offset_commit.py +0 -0
  106. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/protocol/types.py +0 -0
  107. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/record/__init__.py +0 -0
  108. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/record/_crc32c.py +0 -0
  109. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/record/abc.py +0 -0
  110. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/record/default_records.py +0 -0
  111. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/record/legacy_records.py +0 -0
  112. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/record/memory_records.py +0 -0
  113. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/record/util.py +0 -0
  114. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/sasl/__init__.py +0 -0
  115. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/sasl/abc.py +0 -0
  116. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/sasl/msk.py +0 -0
  117. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/sasl/oauth.py +0 -0
  118. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/sasl/plain.py +0 -0
  119. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/sasl/scram.py +0 -0
  120. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/sasl/sspi.py +0 -0
  121. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/serializer/__init__.py +0 -0
  122. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/serializer/abstract.py +0 -0
  123. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/socks5_wrapper.py +0 -0
  124. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/structs.py +0 -0
  125. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/util.py +0 -0
  126. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/vendor/__init__.py +0 -0
  127. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/vendor/enum34.py +0 -0
  128. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/vendor/selectors34.py +0 -0
  129. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/vendor/six.py +0 -0
  130. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka/vendor/socketpair.py +0 -0
  131. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka_python.egg-info/SOURCES.txt +0 -0
  132. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka_python.egg-info/dependency_links.txt +0 -0
  133. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka_python.egg-info/requires.txt +0 -0
  134. {kafka_python-2.2.11 → kafka_python-2.2.12}/kafka_python.egg-info/top_level.txt +0 -0
  135. {kafka_python-2.2.11 → kafka_python-2.2.12}/pyproject.toml +0 -0
  136. {kafka_python-2.2.11 → kafka_python-2.2.12}/setup.cfg +0 -0
  137. {kafka_python-2.2.11 → kafka_python-2.2.12}/setup.py +0 -0
  138. {kafka_python-2.2.11 → kafka_python-2.2.12}/test/integration/__init__.py +0 -0
  139. {kafka_python-2.2.11 → kafka_python-2.2.12}/test/integration/conftest.py +0 -0
  140. {kafka_python-2.2.11 → kafka_python-2.2.12}/test/integration/fixtures.py +0 -0
  141. {kafka_python-2.2.11 → kafka_python-2.2.12}/test/integration/test_admin_integration.py +0 -0
  142. {kafka_python-2.2.11 → kafka_python-2.2.12}/test/integration/test_consumer_group.py +0 -0
  143. {kafka_python-2.2.11 → kafka_python-2.2.12}/test/integration/test_consumer_integration.py +0 -0
  144. {kafka_python-2.2.11 → kafka_python-2.2.12}/test/integration/test_producer_integration.py +0 -0
  145. {kafka_python-2.2.11 → kafka_python-2.2.12}/test/integration/test_sasl_integration.py +0 -0
  146. {kafka_python-2.2.11 → kafka_python-2.2.12}/test/test_acl_comparisons.py +0 -0
  147. {kafka_python-2.2.11 → kafka_python-2.2.12}/test/test_admin.py +0 -0
  148. {kafka_python-2.2.11 → kafka_python-2.2.12}/test/test_api_object_implementation.py +0 -0
  149. {kafka_python-2.2.11 → kafka_python-2.2.12}/test/test_assignors.py +0 -0
  150. {kafka_python-2.2.11 → kafka_python-2.2.12}/test/test_client_async.py +0 -0
  151. {kafka_python-2.2.11 → kafka_python-2.2.12}/test/test_cluster.py +0 -0
  152. {kafka_python-2.2.11 → kafka_python-2.2.12}/test/test_codec.py +0 -0
  153. {kafka_python-2.2.11 → kafka_python-2.2.12}/test/test_conn.py +0 -0
  154. {kafka_python-2.2.11 → kafka_python-2.2.12}/test/test_consumer.py +0 -0
  155. {kafka_python-2.2.11 → kafka_python-2.2.12}/test/test_coordinator.py +0 -0
  156. {kafka_python-2.2.11 → kafka_python-2.2.12}/test/test_fetcher.py +0 -0
  157. {kafka_python-2.2.11 → kafka_python-2.2.12}/test/test_metrics.py +0 -0
  158. {kafka_python-2.2.11 → kafka_python-2.2.12}/test/test_object_conversion.py +0 -0
  159. {kafka_python-2.2.11 → kafka_python-2.2.12}/test/test_package.py +0 -0
  160. {kafka_python-2.2.11 → kafka_python-2.2.12}/test/test_partition_movements.py +0 -0
  161. {kafka_python-2.2.11 → kafka_python-2.2.12}/test/test_partitioner.py +0 -0
  162. {kafka_python-2.2.11 → kafka_python-2.2.12}/test/test_producer.py +0 -0
  163. {kafka_python-2.2.11 → kafka_python-2.2.12}/test/test_protocol.py +0 -0
  164. {kafka_python-2.2.11 → kafka_python-2.2.12}/test/test_record_accumulator.py +0 -0
  165. {kafka_python-2.2.11 → kafka_python-2.2.12}/test/test_sender.py +0 -0
  166. {kafka_python-2.2.11 → kafka_python-2.2.12}/test/test_subscription_state.py +0 -0
  167. {kafka_python-2.2.11 → kafka_python-2.2.12}/test/test_util.py +0 -0
  168. {kafka_python-2.2.11 → kafka_python-2.2.12}/test/testutil.py +0 -0
@@ -1,3 +1,11 @@
1
+ # 2.2.12 (June 18, 2025)
2
+
3
+ Fixes
4
+ * Fix construction of final GSSAPI authentication message (#2647)
5
+ * Avoid RuntimeError on mutated `_completed_fetches` deque in consumer fetcher (#2646)
6
+ * Throw exception on invalid bucket type (#2642)
7
+
8
+
1
9
  # 2.2.11 (June 5, 2025)
2
10
 
3
11
  Fixes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kafka-python
3
- Version: 2.2.11
3
+ Version: 2.2.12
4
4
  Summary: Pure Python client for Apache Kafka
5
5
  Author-email: Dana Powers <dana.powers@gmail.com>
6
6
  Project-URL: Homepage, https://github.com/dpkp/kafka-python
@@ -612,7 +612,8 @@ class Fetcher(six.Iterator):
612
612
  def _fetchable_partitions(self):
613
613
  fetchable = self._subscriptions.fetchable_partitions()
614
614
  # do not fetch a partition if we have a pending fetch response to process
615
- discard = {fetch.topic_partition for fetch in self._completed_fetches}
615
+ # use copy.copy to avoid runtimeerror on mutation from different thread
616
+ discard = {fetch.topic_partition for fetch in self._completed_fetches.copy()}
616
617
  current = self._next_partition_records
617
618
  if current:
618
619
  discard.add(current.topic_partition)
@@ -30,7 +30,7 @@ class Percentiles(AbstractSampledStat, AbstractCompoundStat):
30
30
  ' to be 0.0.')
31
31
  self.bin_scheme = Histogram.LinearBinScheme(self._buckets, max_val)
32
32
  else:
33
- ValueError('Unknown bucket type: %s' % (bucketing,))
33
+ raise ValueError('Unknown bucket type: %s' % (bucketing,))
34
34
 
35
35
  def stats(self):
36
36
  measurables = []
@@ -1,5 +1,7 @@
1
1
  from __future__ import absolute_import
2
2
 
3
+ import struct
4
+
3
5
  # needed for SASL_GSSAPI authentication:
4
6
  try:
5
7
  import gssapi
@@ -68,8 +70,8 @@ class SaslMechanismGSSAPI(SaslMechanism):
68
70
  client_flags = self.SASL_QOP_AUTH
69
71
  server_flags = msg[0]
70
72
  message_parts = [
71
- bytes(client_flags & server_flags),
72
- msg[:1],
73
+ struct.Struct('>b').pack(client_flags & server_flags),
74
+ msg[1:],
73
75
  self.auth_id.encode('utf-8'),
74
76
  ]
75
77
  # add authorization identity to the response, and GSS-wrap
@@ -0,0 +1 @@
1
+ __version__ = '2.2.12'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kafka-python
3
- Version: 2.2.11
3
+ Version: 2.2.12
4
4
  Summary: Pure Python client for Apache Kafka
5
5
  Author-email: Dana Powers <dana.powers@gmail.com>
6
6
  Project-URL: Homepage, https://github.com/dpkp/kafka-python
@@ -1 +0,0 @@
1
- __version__ = '2.2.11'
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes