kafka-python 2.2.11__py2.py3-none-any.whl → 2.2.13__py2.py3-none-any.whl

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.
kafka/admin/client.py CHANGED
@@ -17,6 +17,7 @@ import kafka.errors as Errors
17
17
  from kafka.errors import (
18
18
  IncompatibleBrokerVersion, KafkaConfigurationError, UnknownTopicOrPartitionError,
19
19
  UnrecognizedBrokerVersion, IllegalArgumentError)
20
+ from kafka.future import Future
20
21
  from kafka.metrics import MetricConfig, Metrics
21
22
  from kafka.protocol.admin import (
22
23
  CreateTopicsRequest, DeleteTopicsRequest, DescribeConfigsRequest, AlterConfigsRequest, CreatePartitionsRequest,
@@ -358,14 +359,11 @@ class KafkaAdminClient(object):
358
359
 
359
360
  Returns:
360
361
  A future object that may be polled for status and results.
361
-
362
- Raises:
363
- The exception if the message could not be sent.
364
362
  """
365
- while not self._client.ready(node_id):
366
- # poll until the connection to broker is ready, otherwise send()
367
- # will fail with NodeNotReadyError
368
- self._client.poll(timeout_ms=200)
363
+ try:
364
+ self._client.await_ready(node_id)
365
+ except Errors.KafkaConnectionError as e:
366
+ return Future().failure(e)
369
367
  return self._client.send(node_id, request, wakeup)
370
368
 
371
369
  def _send_request_to_controller(self, request):
kafka/consumer/fetcher.py CHANGED
@@ -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 = []
kafka/sasl/gssapi.py CHANGED
@@ -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
kafka/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = '2.2.11'
1
+ __version__ = '2.2.13'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kafka-python
3
- Version: 2.2.11
3
+ Version: 2.2.13
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
@@ -45,7 +45,7 @@ Requires-Dist: pyperf; extra == "benchmarks"
45
45
  Kafka Python client
46
46
  ------------------------
47
47
 
48
- .. image:: https://img.shields.io/badge/kafka-3.9--0.8-brightgreen.svg
48
+ .. image:: https://img.shields.io/badge/kafka-4.0--0.8-brightgreen.svg
49
49
  :target: https://kafka-python.readthedocs.io/en/master/compatibility.html
50
50
  .. image:: https://img.shields.io/pypi/pyversions/kafka-python.svg
51
51
  :target: https://pypi.python.org/pypi/kafka-python
@@ -8,10 +8,10 @@ kafka/future.py,sha256=ZQStbfUYIPJRrgMfAWxxjrIRVxsw4WCtSR0J0bkyGno,2847
8
8
  kafka/socks5_wrapper.py,sha256=6woOaCTJXJ5e89_zdyW5BjOpyE4rCbYFH-kd-FeuPuk,9827
9
9
  kafka/structs.py,sha256=SJGzmLdV21jZyQ7247k0WFy16UiusgTHK3I-e4qzI-E,3058
10
10
  kafka/util.py,sha256=WGqI5yT1yWGgHqSuRF9Fi8ejpiB53SurMy7ABkYxJ2g,4584
11
- kafka/version.py,sha256=GtyDETgBgqDFC6ILF4h09DDLJP7FLhcqibArzZPdmfY,23
11
+ kafka/version.py,sha256=S3fvQ15-qQvC8uRl-8WEv_OdN6XLbs5Y44t3ZDfXWII,23
12
12
  kafka/admin/__init__.py,sha256=S_XxqyyV480_yXhttK79XZqNAmZyXRjspd3SoqYykE8,720
13
13
  kafka/admin/acl_resource.py,sha256=ak_dUsSni4SyP0ORbSKenZpwTy0Ykxq3FSt_9XgLR8k,8265
14
- kafka/admin/client.py,sha256=RabA8l8Im3iBEXgPVkiofNW6QyeatQHaymBWFZ8Sxkw,78929
14
+ kafka/admin/client.py,sha256=94UpHTsgzvhOoB6_1QLeKxvZKlStKfI96xuWyaY9_Sc,78814
15
15
  kafka/admin/config_resource.py,sha256=_JZWN_Q7jbuTtq2kdfHxWyTt_jI1LI-xnVGsf6oYGyY,1039
16
16
  kafka/admin/new_partitions.py,sha256=rYSb7S6VL706ZauSmiN5J9GDsep0HYRmkkAZUgT2JIg,757
17
17
  kafka/admin/new_topic.py,sha256=fvezLP9JXumqX-nU27Fgo0tj4d85ybcJgKluQImm3-0,1306
@@ -23,7 +23,7 @@ kafka/benchmarks/record_batch_compose.py,sha256=CnUreNg1lUT0Qx9enmSr-THmBl9PjVMf
23
23
  kafka/benchmarks/record_batch_read.py,sha256=vlFaWU2YWI379n_2M8qieb_S2uHUWKV0NquEYy5b-Ho,2184
24
24
  kafka/benchmarks/varint_speed.py,sha256=s4CuvKgDZL-_zna5E3vM8RgHjhXuW6pcaO1z1WYZ_0Y,12585
25
25
  kafka/consumer/__init__.py,sha256=NDdvtyuJgFyQZahqL9i5sYXGP6rOMIXWwHQEaZ1fCcs,122
26
- kafka/consumer/fetcher.py,sha256=5b-_4VsmQXrRd2Ul8LMZ93TZJHVEoYpmTPB6QcOMizw,69045
26
+ kafka/consumer/fetcher.py,sha256=OvKKC8lZCWJZaeT6EfHwr4-7_noN82yWPxcQB8v5l4Q,69132
27
27
  kafka/consumer/group.py,sha256=oieWNHM1NWiOZT8pasOLfFJAbmJEXJ4h7PgUtklxo_Q,58944
28
28
  kafka/consumer/subscription_state.py,sha256=bK-YTVbOzhy8OB206QAfXVuo7zPA9YqYXnrRRST369c,24289
29
29
  kafka/coordinator/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -58,7 +58,7 @@ kafka/metrics/stats/histogram.py,sha256=5jNlZHOnHvGOpho-Zm0Rna6GcHy-CYjxPe612B5D
58
58
  kafka/metrics/stats/max_stat.py,sha256=n_90jTiHCgF193OCu2wtjUlJJxSkldW336OyEAexbv0,606
59
59
  kafka/metrics/stats/min_stat.py,sha256=xKzBc3tQjk4ieiGdvs9HqKn885mPV6yaDxCb2ANye8c,628
60
60
  kafka/metrics/stats/percentile.py,sha256=RkBL4L1AIBL5Mp74xIOt5lYJol4PSLNYmROcpD9bMb0,391
61
- kafka/metrics/stats/percentiles.py,sha256=kYGparvZUMTpju6v0ZdgkdrnNKG_762SffcPgpkP1iM,3021
61
+ kafka/metrics/stats/percentiles.py,sha256=9aYsUwZO6h-uqsYnx8ob9biWwWJ-ztRDwTZ8AXVRI3w,3027
62
62
  kafka/metrics/stats/rate.py,sha256=5vvGCUyqZF7QDeUtVu0g37UVRavkwqdRc7DldKlMGn0,4628
63
63
  kafka/metrics/stats/sampled_stat.py,sha256=zO9HwoJFZvuuDWj_OdckPeVpxUxhR5dhRXcLTL0-hUQ,3556
64
64
  kafka/metrics/stats/sensor.py,sha256=xQsbt3cqcBkJr9ccAkFabWgh9pdeMzggYSjhiStvAdo,5317
@@ -107,7 +107,7 @@ kafka/record/memory_records.py,sha256=b7RFxvaQ93drXSk3o3_YB3FQlVoESoBlGj3Z5PD25n
107
107
  kafka/record/util.py,sha256=LDajBWdYVetmXts_t9Q76CxEx7njgC9LnjMgz9yPEMM,3556
108
108
  kafka/sasl/__init__.py,sha256=wUUGIKRe52J6Qekj7hSypg44vWTrkYsEdVafQC7cX5s,1106
109
109
  kafka/sasl/abc.py,sha256=R0BZOk3AYEGyehiGbbg-LMRvFAlWZsh0fBiESgUpBYw,657
110
- kafka/sasl/gssapi.py,sha256=HqN9yikeT75zvq42SxuKhsH1WAMT3ZaT9j-E6LAwggw,4591
110
+ kafka/sasl/gssapi.py,sha256=Q8bZ5J2Ap8aJc-P0EFIPeQSgsUkOxO8a_FJs5eZcZGA,4625
111
111
  kafka/sasl/msk.py,sha256=FCv0uUTQKjvR2gIGyiv-dlwIvkpvEtaHvhqhXtC2q8w,8101
112
112
  kafka/sasl/oauth.py,sha256=dh87tVi-dlS5lIzgYsC4m7IXUhlLdejaMb9Ua6oYaB0,3425
113
113
  kafka/sasl/plain.py,sha256=PMfoWT856wx6nF_LhpfPKEnD7BRNx5l6rDhAqxBnMWU,1317
@@ -120,7 +120,7 @@ kafka/vendor/enum34.py,sha256=-u-lxAiJMt6ru4Do7NUDY9OpeWkYJMksb2xengJawFE,31204
120
120
  kafka/vendor/selectors34.py,sha256=gxejLO4eXf8mRSGXaQiknPig3GdX1rtsZiYOQJVuAy8,20594
121
121
  kafka/vendor/six.py,sha256=lLBa9_HrANP5BMZ7twEzg1M3wofwPmXyptuWmHX0brY,34826
122
122
  kafka/vendor/socketpair.py,sha256=Fi3PoY1Okkppab720wFk1BhHXyjcw7hi5DwhqrYZH2Y,2737
123
- kafka_python-2.2.11.dist-info/METADATA,sha256=L9i6QYUlpnpeL0Fs--TBUA_FPx9cyla4xyf2qtUkw6Y,9952
124
- kafka_python-2.2.11.dist-info/WHEEL,sha256=JNWh1Fm1UdwIQV075glCn4MVuCRs0sotJIq-J6rbxCU,109
125
- kafka_python-2.2.11.dist-info/top_level.txt,sha256=IivJz7l5WHdLNDT6RIiVAlhjQzYRwGqBBmKHZ7WjPeM,6
126
- kafka_python-2.2.11.dist-info/RECORD,,
123
+ kafka_python-2.2.13.dist-info/METADATA,sha256=SKLIFNXQV0p6OyXWXqGb_VE1LaZou272d1z-3leFkYA,9952
124
+ kafka_python-2.2.13.dist-info/WHEEL,sha256=JNWh1Fm1UdwIQV075glCn4MVuCRs0sotJIq-J6rbxCU,109
125
+ kafka_python-2.2.13.dist-info/top_level.txt,sha256=IivJz7l5WHdLNDT6RIiVAlhjQzYRwGqBBmKHZ7WjPeM,6
126
+ kafka_python-2.2.13.dist-info/RECORD,,