kafka-python 3.0.0__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.
Files changed (373) hide show
  1. kafka/__init__.py +34 -0
  2. kafka/__main__.py +5 -0
  3. kafka/admin/__init__.py +29 -0
  4. kafka/admin/__main__.py +5 -0
  5. kafka/admin/_acls.py +355 -0
  6. kafka/admin/_cluster.py +359 -0
  7. kafka/admin/_configs.py +479 -0
  8. kafka/admin/_groups.py +754 -0
  9. kafka/admin/_partitions.py +595 -0
  10. kafka/admin/_topics.py +281 -0
  11. kafka/admin/_transactions.py +450 -0
  12. kafka/admin/_users.py +194 -0
  13. kafka/admin/client.py +373 -0
  14. kafka/benchmarks/__init__.py +0 -0
  15. kafka/benchmarks/consumer_performance.py +138 -0
  16. kafka/benchmarks/load_example.py +109 -0
  17. kafka/benchmarks/producer_encode_path.py +201 -0
  18. kafka/benchmarks/producer_performance.py +161 -0
  19. kafka/benchmarks/profile_protocol.py +138 -0
  20. kafka/benchmarks/protocol_old_vs_new.py +447 -0
  21. kafka/benchmarks/record_batch_compose.py +77 -0
  22. kafka/benchmarks/record_batch_read.py +82 -0
  23. kafka/benchmarks/varint_speed.py +426 -0
  24. kafka/cli/__init__.py +36 -0
  25. kafka/cli/admin/__init__.py +117 -0
  26. kafka/cli/admin/acls/__init__.py +9 -0
  27. kafka/cli/admin/acls/common.py +76 -0
  28. kafka/cli/admin/acls/create.py +19 -0
  29. kafka/cli/admin/acls/delete.py +23 -0
  30. kafka/cli/admin/acls/describe.py +16 -0
  31. kafka/cli/admin/cluster/__init__.py +14 -0
  32. kafka/cli/admin/cluster/describe.py +11 -0
  33. kafka/cli/admin/cluster/describe_quorum.py +11 -0
  34. kafka/cli/admin/cluster/features.py +52 -0
  35. kafka/cli/admin/cluster/log_dirs.py +43 -0
  36. kafka/cli/admin/cluster/versions.py +33 -0
  37. kafka/cli/admin/configs/__init__.py +10 -0
  38. kafka/cli/admin/configs/alter.py +43 -0
  39. kafka/cli/admin/configs/common.py +17 -0
  40. kafka/cli/admin/configs/describe.py +30 -0
  41. kafka/cli/admin/configs/list.py +16 -0
  42. kafka/cli/admin/configs/reset.py +20 -0
  43. kafka/cli/admin/groups/__init__.py +16 -0
  44. kafka/cli/admin/groups/alter_offsets.py +30 -0
  45. kafka/cli/admin/groups/delete.py +11 -0
  46. kafka/cli/admin/groups/delete_offsets.py +29 -0
  47. kafka/cli/admin/groups/describe.py +11 -0
  48. kafka/cli/admin/groups/list.py +28 -0
  49. kafka/cli/admin/groups/list_offsets.py +29 -0
  50. kafka/cli/admin/groups/remove_members.py +40 -0
  51. kafka/cli/admin/groups/reset_offsets.py +139 -0
  52. kafka/cli/admin/partitions/__init__.py +21 -0
  53. kafka/cli/admin/partitions/alter_reassignments.py +37 -0
  54. kafka/cli/admin/partitions/create.py +27 -0
  55. kafka/cli/admin/partitions/delete_records.py +31 -0
  56. kafka/cli/admin/partitions/describe.py +36 -0
  57. kafka/cli/admin/partitions/elect_leaders.py +53 -0
  58. kafka/cli/admin/partitions/list_offsets.py +88 -0
  59. kafka/cli/admin/partitions/list_reassignments.py +35 -0
  60. kafka/cli/admin/topics/__init__.py +10 -0
  61. kafka/cli/admin/topics/create.py +13 -0
  62. kafka/cli/admin/topics/delete.py +19 -0
  63. kafka/cli/admin/topics/describe.py +18 -0
  64. kafka/cli/admin/topics/list.py +11 -0
  65. kafka/cli/admin/transactions/__init__.py +17 -0
  66. kafka/cli/admin/transactions/abort.py +38 -0
  67. kafka/cli/admin/transactions/describe.py +24 -0
  68. kafka/cli/admin/transactions/describe_producers.py +29 -0
  69. kafka/cli/admin/transactions/find_hanging.py +26 -0
  70. kafka/cli/admin/transactions/list.py +37 -0
  71. kafka/cli/admin/users/__init__.py +8 -0
  72. kafka/cli/admin/users/alter_user_scram_credentials.py +34 -0
  73. kafka/cli/admin/users/describe_user_scram_credentials.py +15 -0
  74. kafka/cli/common.py +95 -0
  75. kafka/cli/consumer/__init__.py +63 -0
  76. kafka/cli/producer/__init__.py +57 -0
  77. kafka/cluster.py +824 -0
  78. kafka/codec.py +325 -0
  79. kafka/consumer/__init__.py +5 -0
  80. kafka/consumer/__main__.py +5 -0
  81. kafka/consumer/fetcher.py +2012 -0
  82. kafka/consumer/group.py +1347 -0
  83. kafka/consumer/subscription_state.py +897 -0
  84. kafka/coordinator/__init__.py +0 -0
  85. kafka/coordinator/assignors/__init__.py +0 -0
  86. kafka/coordinator/assignors/abstract.py +90 -0
  87. kafka/coordinator/assignors/cooperative_sticky.py +167 -0
  88. kafka/coordinator/assignors/range.py +81 -0
  89. kafka/coordinator/assignors/roundrobin.py +101 -0
  90. kafka/coordinator/assignors/sticky/StickyAssignorUserData.json +37 -0
  91. kafka/coordinator/assignors/sticky/__init__.py +0 -0
  92. kafka/coordinator/assignors/sticky/partition_movements.py +149 -0
  93. kafka/coordinator/assignors/sticky/sorted_set.py +63 -0
  94. kafka/coordinator/assignors/sticky/sticky_assignor.py +665 -0
  95. kafka/coordinator/assignors/sticky/user_data.py +8 -0
  96. kafka/coordinator/base.py +1215 -0
  97. kafka/coordinator/consumer.py +1224 -0
  98. kafka/coordinator/heartbeat.py +82 -0
  99. kafka/coordinator/subscription.py +34 -0
  100. kafka/errors.py +1004 -0
  101. kafka/future.py +166 -0
  102. kafka/metrics/__init__.py +13 -0
  103. kafka/metrics/compound_stat.py +33 -0
  104. kafka/metrics/dict_reporter.py +81 -0
  105. kafka/metrics/kafka_metric.py +36 -0
  106. kafka/metrics/measurable.py +27 -0
  107. kafka/metrics/measurable_stat.py +13 -0
  108. kafka/metrics/metric_config.py +33 -0
  109. kafka/metrics/metric_name.py +105 -0
  110. kafka/metrics/metrics.py +261 -0
  111. kafka/metrics/metrics_reporter.py +53 -0
  112. kafka/metrics/quota.py +41 -0
  113. kafka/metrics/stat.py +19 -0
  114. kafka/metrics/stats/__init__.py +15 -0
  115. kafka/metrics/stats/avg.py +24 -0
  116. kafka/metrics/stats/count.py +17 -0
  117. kafka/metrics/stats/histogram.py +99 -0
  118. kafka/metrics/stats/max_stat.py +17 -0
  119. kafka/metrics/stats/min_stat.py +19 -0
  120. kafka/metrics/stats/percentile.py +14 -0
  121. kafka/metrics/stats/percentiles.py +75 -0
  122. kafka/metrics/stats/rate.py +118 -0
  123. kafka/metrics/stats/sampled_stat.py +99 -0
  124. kafka/metrics/stats/sensor.py +136 -0
  125. kafka/metrics/stats/total.py +15 -0
  126. kafka/net/__init__.py +19 -0
  127. kafka/net/compat.py +165 -0
  128. kafka/net/connection.py +593 -0
  129. kafka/net/http_connect.py +144 -0
  130. kafka/net/inet.py +122 -0
  131. kafka/net/manager.py +451 -0
  132. kafka/net/metrics.py +149 -0
  133. kafka/net/sasl/__init__.py +32 -0
  134. kafka/net/sasl/abc.py +28 -0
  135. kafka/net/sasl/gssapi.py +95 -0
  136. kafka/net/sasl/msk.py +245 -0
  137. kafka/net/sasl/oauth.py +98 -0
  138. kafka/net/sasl/plain.py +42 -0
  139. kafka/net/sasl/scram.py +135 -0
  140. kafka/net/sasl/sspi.py +111 -0
  141. kafka/net/selector.py +644 -0
  142. kafka/net/socks5.py +262 -0
  143. kafka/net/transport.py +415 -0
  144. kafka/net/wakeup_notifier.py +72 -0
  145. kafka/partitioner/__init__.py +8 -0
  146. kafka/partitioner/abc.py +8 -0
  147. kafka/partitioner/default.py +89 -0
  148. kafka/partitioner/sticky.py +109 -0
  149. kafka/producer/__init__.py +5 -0
  150. kafka/producer/__main__.py +5 -0
  151. kafka/producer/future.py +101 -0
  152. kafka/producer/kafka.py +1123 -0
  153. kafka/producer/producer_batch.py +192 -0
  154. kafka/producer/record_accumulator.py +647 -0
  155. kafka/producer/sender.py +884 -0
  156. kafka/producer/transaction_manager.py +1326 -0
  157. kafka/protocol/__init__.py +0 -0
  158. kafka/protocol/admin/__init__.py +29 -0
  159. kafka/protocol/admin/acl.py +83 -0
  160. kafka/protocol/admin/acl.pyi +375 -0
  161. kafka/protocol/admin/client_quotas.py +14 -0
  162. kafka/protocol/admin/client_quotas.pyi +265 -0
  163. kafka/protocol/admin/cluster.py +31 -0
  164. kafka/protocol/admin/cluster.pyi +620 -0
  165. kafka/protocol/admin/configs.py +22 -0
  166. kafka/protocol/admin/configs.pyi +437 -0
  167. kafka/protocol/admin/groups.py +24 -0
  168. kafka/protocol/admin/groups.pyi +261 -0
  169. kafka/protocol/admin/topics.py +53 -0
  170. kafka/protocol/admin/topics.pyi +982 -0
  171. kafka/protocol/admin/transactions.py +18 -0
  172. kafka/protocol/admin/transactions.pyi +311 -0
  173. kafka/protocol/admin/users.py +14 -0
  174. kafka/protocol/admin/users.pyi +223 -0
  175. kafka/protocol/api_data.py +125 -0
  176. kafka/protocol/api_header.py +55 -0
  177. kafka/protocol/api_key.py +97 -0
  178. kafka/protocol/api_message.py +277 -0
  179. kafka/protocol/broker_version_data.py +246 -0
  180. kafka/protocol/consumer/__init__.py +13 -0
  181. kafka/protocol/consumer/fetch.py +16 -0
  182. kafka/protocol/consumer/fetch.pyi +298 -0
  183. kafka/protocol/consumer/group.py +38 -0
  184. kafka/protocol/consumer/group.pyi +824 -0
  185. kafka/protocol/consumer/metadata.py +30 -0
  186. kafka/protocol/consumer/metadata.pyi +89 -0
  187. kafka/protocol/consumer/offsets.py +75 -0
  188. kafka/protocol/consumer/offsets.pyi +288 -0
  189. kafka/protocol/data_container.py +166 -0
  190. kafka/protocol/frame.py +30 -0
  191. kafka/protocol/generate_stubs.py +468 -0
  192. kafka/protocol/metadata/__init__.py +10 -0
  193. kafka/protocol/metadata/api_versions.py +41 -0
  194. kafka/protocol/metadata/api_versions.pyi +128 -0
  195. kafka/protocol/metadata/find_coordinator.py +19 -0
  196. kafka/protocol/metadata/find_coordinator.pyi +105 -0
  197. kafka/protocol/metadata/metadata.py +34 -0
  198. kafka/protocol/metadata/metadata.pyi +160 -0
  199. kafka/protocol/old/__init__.py +0 -0
  200. kafka/protocol/old/abstract.py +17 -0
  201. kafka/protocol/old/add_offsets_to_txn.py +54 -0
  202. kafka/protocol/old/add_partitions_to_txn.py +71 -0
  203. kafka/protocol/old/admin.py +1086 -0
  204. kafka/protocol/old/api.py +205 -0
  205. kafka/protocol/old/api_versions.py +133 -0
  206. kafka/protocol/old/commit.py +355 -0
  207. kafka/protocol/old/consumer_protocol.py +36 -0
  208. kafka/protocol/old/end_txn.py +53 -0
  209. kafka/protocol/old/fetch.py +408 -0
  210. kafka/protocol/old/find_coordinator.py +72 -0
  211. kafka/protocol/old/group.py +451 -0
  212. kafka/protocol/old/init_producer_id.py +42 -0
  213. kafka/protocol/old/list_offsets.py +186 -0
  214. kafka/protocol/old/metadata.py +290 -0
  215. kafka/protocol/old/offset_for_leader_epoch.py +133 -0
  216. kafka/protocol/old/produce.py +247 -0
  217. kafka/protocol/old/sasl_authenticate.py +38 -0
  218. kafka/protocol/old/sasl_handshake.py +39 -0
  219. kafka/protocol/old/struct.py +87 -0
  220. kafka/protocol/old/txn_offset_commit.py +73 -0
  221. kafka/protocol/old/types.py +440 -0
  222. kafka/protocol/parser.py +191 -0
  223. kafka/protocol/producer/__init__.py +7 -0
  224. kafka/protocol/producer/produce.py +17 -0
  225. kafka/protocol/producer/produce.pyi +197 -0
  226. kafka/protocol/producer/transaction.py +30 -0
  227. kafka/protocol/producer/transaction.pyi +663 -0
  228. kafka/protocol/sasl.py +52 -0
  229. kafka/protocol/sasl.pyi +126 -0
  230. kafka/protocol/schemas/__init__.py +7 -0
  231. kafka/protocol/schemas/fields/__init__.py +7 -0
  232. kafka/protocol/schemas/fields/array.py +127 -0
  233. kafka/protocol/schemas/fields/base.py +156 -0
  234. kafka/protocol/schemas/fields/codecs/__init__.py +12 -0
  235. kafka/protocol/schemas/fields/codecs/encode_buffer.py +82 -0
  236. kafka/protocol/schemas/fields/codecs/tagged_fields.py +109 -0
  237. kafka/protocol/schemas/fields/codecs/types.py +505 -0
  238. kafka/protocol/schemas/fields/codegen.py +40 -0
  239. kafka/protocol/schemas/fields/simple.py +127 -0
  240. kafka/protocol/schemas/fields/struct.py +357 -0
  241. kafka/protocol/schemas/fields/struct_array.py +142 -0
  242. kafka/protocol/schemas/load_json.py +42 -0
  243. kafka/protocol/schemas/resources/AddOffsetsToTxnRequest.json +40 -0
  244. kafka/protocol/schemas/resources/AddOffsetsToTxnResponse.json +35 -0
  245. kafka/protocol/schemas/resources/AddPartitionsToTxnRequest.json +65 -0
  246. kafka/protocol/schemas/resources/AddPartitionsToTxnResponse.json +60 -0
  247. kafka/protocol/schemas/resources/AlterClientQuotasRequest.json +47 -0
  248. kafka/protocol/schemas/resources/AlterClientQuotasResponse.json +41 -0
  249. kafka/protocol/schemas/resources/AlterConfigsRequest.json +43 -0
  250. kafka/protocol/schemas/resources/AlterConfigsResponse.json +39 -0
  251. kafka/protocol/schemas/resources/AlterPartitionReassignmentsRequest.json +42 -0
  252. kafka/protocol/schemas/resources/AlterPartitionReassignmentsResponse.json +47 -0
  253. kafka/protocol/schemas/resources/AlterReplicaLogDirsRequest.json +41 -0
  254. kafka/protocol/schemas/resources/AlterReplicaLogDirsResponse.json +41 -0
  255. kafka/protocol/schemas/resources/AlterUserScramCredentialsRequest.json +45 -0
  256. kafka/protocol/schemas/resources/AlterUserScramCredentialsResponse.json +35 -0
  257. kafka/protocol/schemas/resources/ApiVersionsRequest.json +34 -0
  258. kafka/protocol/schemas/resources/ApiVersionsResponse.json +79 -0
  259. kafka/protocol/schemas/resources/ConsumerProtocolAssignment.json +42 -0
  260. kafka/protocol/schemas/resources/ConsumerProtocolSubscription.json +49 -0
  261. kafka/protocol/schemas/resources/CreateAclsRequest.json +46 -0
  262. kafka/protocol/schemas/resources/CreateAclsResponse.json +37 -0
  263. kafka/protocol/schemas/resources/CreatePartitionsRequest.json +47 -0
  264. kafka/protocol/schemas/resources/CreatePartitionsResponse.json +41 -0
  265. kafka/protocol/schemas/resources/CreateTopicsRequest.json +65 -0
  266. kafka/protocol/schemas/resources/CreateTopicsResponse.json +72 -0
  267. kafka/protocol/schemas/resources/DeleteAclsRequest.json +46 -0
  268. kafka/protocol/schemas/resources/DeleteAclsResponse.json +59 -0
  269. kafka/protocol/schemas/resources/DeleteGroupsRequest.json +30 -0
  270. kafka/protocol/schemas/resources/DeleteGroupsResponse.json +36 -0
  271. kafka/protocol/schemas/resources/DeleteRecordsRequest.json +42 -0
  272. kafka/protocol/schemas/resources/DeleteRecordsResponse.json +43 -0
  273. kafka/protocol/schemas/resources/DeleteTopicsRequest.json +43 -0
  274. kafka/protocol/schemas/resources/DeleteTopicsResponse.json +52 -0
  275. kafka/protocol/schemas/resources/DescribeAclsRequest.json +43 -0
  276. kafka/protocol/schemas/resources/DescribeAclsResponse.json +55 -0
  277. kafka/protocol/schemas/resources/DescribeClientQuotasRequest.json +37 -0
  278. kafka/protocol/schemas/resources/DescribeClientQuotasResponse.json +47 -0
  279. kafka/protocol/schemas/resources/DescribeClusterRequest.json +35 -0
  280. kafka/protocol/schemas/resources/DescribeClusterResponse.json +56 -0
  281. kafka/protocol/schemas/resources/DescribeConfigsRequest.json +42 -0
  282. kafka/protocol/schemas/resources/DescribeConfigsResponse.json +69 -0
  283. kafka/protocol/schemas/resources/DescribeGroupsRequest.json +38 -0
  284. kafka/protocol/schemas/resources/DescribeGroupsResponse.json +74 -0
  285. kafka/protocol/schemas/resources/DescribeLogDirsRequest.json +38 -0
  286. kafka/protocol/schemas/resources/DescribeLogDirsResponse.json +65 -0
  287. kafka/protocol/schemas/resources/DescribeProducersRequest.json +32 -0
  288. kafka/protocol/schemas/resources/DescribeProducersResponse.json +55 -0
  289. kafka/protocol/schemas/resources/DescribeQuorumRequest.json +39 -0
  290. kafka/protocol/schemas/resources/DescribeQuorumResponse.json +82 -0
  291. kafka/protocol/schemas/resources/DescribeTopicPartitionsRequest.json +40 -0
  292. kafka/protocol/schemas/resources/DescribeTopicPartitionsResponse.json +66 -0
  293. kafka/protocol/schemas/resources/DescribeTransactionsRequest.json +27 -0
  294. kafka/protocol/schemas/resources/DescribeTransactionsResponse.json +52 -0
  295. kafka/protocol/schemas/resources/DescribeUserScramCredentialsRequest.json +30 -0
  296. kafka/protocol/schemas/resources/DescribeUserScramCredentialsResponse.json +45 -0
  297. kafka/protocol/schemas/resources/ElectLeadersRequest.json +41 -0
  298. kafka/protocol/schemas/resources/ElectLeadersResponse.json +45 -0
  299. kafka/protocol/schemas/resources/EndTxnRequest.json +43 -0
  300. kafka/protocol/schemas/resources/EndTxnResponse.json +41 -0
  301. kafka/protocol/schemas/resources/FetchRequest.json +125 -0
  302. kafka/protocol/schemas/resources/FetchResponse.json +124 -0
  303. kafka/protocol/schemas/resources/FindCoordinatorRequest.json +43 -0
  304. kafka/protocol/schemas/resources/FindCoordinatorResponse.json +58 -0
  305. kafka/protocol/schemas/resources/HeartbeatRequest.json +39 -0
  306. kafka/protocol/schemas/resources/HeartbeatResponse.json +35 -0
  307. kafka/protocol/schemas/resources/IncrementalAlterConfigsRequest.json +44 -0
  308. kafka/protocol/schemas/resources/IncrementalAlterConfigsResponse.json +38 -0
  309. kafka/protocol/schemas/resources/InitProducerIdRequest.json +50 -0
  310. kafka/protocol/schemas/resources/InitProducerIdResponse.json +47 -0
  311. kafka/protocol/schemas/resources/JoinGroupRequest.json +63 -0
  312. kafka/protocol/schemas/resources/JoinGroupResponse.json +69 -0
  313. kafka/protocol/schemas/resources/LeaveGroupRequest.json +47 -0
  314. kafka/protocol/schemas/resources/LeaveGroupResponse.json +47 -0
  315. kafka/protocol/schemas/resources/ListConfigResourcesRequest.json +31 -0
  316. kafka/protocol/schemas/resources/ListConfigResourcesResponse.json +37 -0
  317. kafka/protocol/schemas/resources/ListGroupsRequest.json +36 -0
  318. kafka/protocol/schemas/resources/ListGroupsResponse.json +49 -0
  319. kafka/protocol/schemas/resources/ListOffsetsRequest.json +72 -0
  320. kafka/protocol/schemas/resources/ListOffsetsResponse.json +71 -0
  321. kafka/protocol/schemas/resources/ListPartitionReassignmentsRequest.json +34 -0
  322. kafka/protocol/schemas/resources/ListPartitionReassignmentsResponse.json +46 -0
  323. kafka/protocol/schemas/resources/ListTransactionsRequest.json +40 -0
  324. kafka/protocol/schemas/resources/ListTransactionsResponse.json +42 -0
  325. kafka/protocol/schemas/resources/MetadataRequest.json +56 -0
  326. kafka/protocol/schemas/resources/MetadataResponse.json +101 -0
  327. kafka/protocol/schemas/resources/OffsetCommitRequest.json +76 -0
  328. kafka/protocol/schemas/resources/OffsetCommitResponse.json +71 -0
  329. kafka/protocol/schemas/resources/OffsetDeleteRequest.json +39 -0
  330. kafka/protocol/schemas/resources/OffsetDeleteResponse.json +42 -0
  331. kafka/protocol/schemas/resources/OffsetFetchRequest.json +76 -0
  332. kafka/protocol/schemas/resources/OffsetFetchResponse.json +107 -0
  333. kafka/protocol/schemas/resources/OffsetForLeaderEpochRequest.json +52 -0
  334. kafka/protocol/schemas/resources/OffsetForLeaderEpochResponse.json +51 -0
  335. kafka/protocol/schemas/resources/ProduceRequest.json +73 -0
  336. kafka/protocol/schemas/resources/ProduceResponse.json +96 -0
  337. kafka/protocol/schemas/resources/RequestHeader.json +44 -0
  338. kafka/protocol/schemas/resources/ResponseHeader.json +26 -0
  339. kafka/protocol/schemas/resources/SaslAuthenticateRequest.json +29 -0
  340. kafka/protocol/schemas/resources/SaslAuthenticateResponse.json +34 -0
  341. kafka/protocol/schemas/resources/SaslHandshakeRequest.json +31 -0
  342. kafka/protocol/schemas/resources/SaslHandshakeResponse.json +32 -0
  343. kafka/protocol/schemas/resources/SyncGroupRequest.json +56 -0
  344. kafka/protocol/schemas/resources/SyncGroupResponse.json +46 -0
  345. kafka/protocol/schemas/resources/TxnOffsetCommitRequest.json +68 -0
  346. kafka/protocol/schemas/resources/TxnOffsetCommitResponse.json +47 -0
  347. kafka/protocol/schemas/resources/UpdateFeaturesRequest.json +43 -0
  348. kafka/protocol/schemas/resources/UpdateFeaturesResponse.json +39 -0
  349. kafka/protocol/schemas/resources/WriteTxnMarkersRequest.json +49 -0
  350. kafka/protocol/schemas/resources/WriteTxnMarkersResponse.json +45 -0
  351. kafka/protocol/schemas/resources/__init__.py +0 -0
  352. kafka/record/__init__.py +3 -0
  353. kafka/record/_crc32c.py +161 -0
  354. kafka/record/abc.py +144 -0
  355. kafka/record/default_records.py +782 -0
  356. kafka/record/legacy_records.py +587 -0
  357. kafka/record/memory_records.py +255 -0
  358. kafka/record/util.py +135 -0
  359. kafka/serializer/__init__.py +4 -0
  360. kafka/serializer/abstract.py +20 -0
  361. kafka/serializer/default.py +16 -0
  362. kafka/serializer/json.py +17 -0
  363. kafka/serializer/wrapper.py +21 -0
  364. kafka/structs.py +69 -0
  365. kafka/util.py +159 -0
  366. kafka/vendor/__init__.py +0 -0
  367. kafka/version.py +1 -0
  368. kafka_python-3.0.0.dist-info/METADATA +319 -0
  369. kafka_python-3.0.0.dist-info/RECORD +373 -0
  370. kafka_python-3.0.0.dist-info/WHEEL +5 -0
  371. kafka_python-3.0.0.dist-info/entry_points.txt +2 -0
  372. kafka_python-3.0.0.dist-info/licenses/LICENSE +202 -0
  373. kafka_python-3.0.0.dist-info/top_level.txt +1 -0
File without changes
@@ -0,0 +1,29 @@
1
+ from .acl import *
2
+ from .acl import __all__ as acl_all
3
+
4
+ from .client_quotas import *
5
+ from .client_quotas import __all__ as client_quotas_all
6
+
7
+ from .cluster import *
8
+ from .cluster import __all__ as cluster_all
9
+
10
+ from .configs import *
11
+ from .configs import __all__ as configs_all
12
+
13
+ from .groups import *
14
+ from .groups import __all__ as groups_all
15
+
16
+ from .topics import *
17
+ from .topics import __all__ as topics_all
18
+
19
+ from .transactions import *
20
+ from .transactions import __all__ as transactions_all
21
+
22
+ from .users import *
23
+ from .users import __all__ as users_all
24
+
25
+
26
+ __all__ = (
27
+ acl_all + client_quotas_all + cluster_all + configs_all
28
+ + groups_all + topics_all + transactions_all + users_all
29
+ )
@@ -0,0 +1,83 @@
1
+ from enum import IntEnum
2
+
3
+ from ..api_message import ApiMessage
4
+
5
+
6
+ class CreateAclsRequest(ApiMessage): pass
7
+ class CreateAclsResponse(ApiMessage): pass
8
+
9
+ class DeleteAclsRequest(ApiMessage): pass
10
+ class DeleteAclsResponse(ApiMessage): pass
11
+
12
+ class DescribeAclsRequest(ApiMessage): pass
13
+ class DescribeAclsResponse(ApiMessage): pass
14
+
15
+
16
+ class ACLResourceType(IntEnum):
17
+ """Type of kafka resource to set ACL for
18
+
19
+ The ANY value is only valid in a filter context
20
+ """
21
+ UNKNOWN = 0
22
+ ANY = 1
23
+ TOPIC = 2
24
+ GROUP = 3
25
+ CLUSTER = 4
26
+ TRANSACTIONAL_ID = 5
27
+ DELEGATION_TOKEN = 6
28
+
29
+
30
+ class ACLOperation(IntEnum):
31
+ """Type of operation
32
+
33
+ The ANY value is only valid in a filter context
34
+ """
35
+ UNKNOWN = 0
36
+ ANY = 1
37
+ ALL = 2
38
+ READ = 3
39
+ WRITE = 4
40
+ CREATE = 5
41
+ DELETE = 6
42
+ ALTER = 7
43
+ DESCRIBE = 8
44
+ CLUSTER_ACTION = 9
45
+ DESCRIBE_CONFIGS = 10
46
+ ALTER_CONFIGS = 11
47
+ IDEMPOTENT_WRITE = 12
48
+ CREATE_TOKENS = 13
49
+ DESCRIBE_TOKENS = 14
50
+
51
+
52
+ class ACLPermissionType(IntEnum):
53
+ """An enumerated type of permissions
54
+
55
+ The ANY value is only valid in a filter context
56
+ """
57
+ UNKNOWN = 0
58
+ ANY = 1
59
+ DENY = 2
60
+ ALLOW = 3
61
+
62
+
63
+ class ACLResourcePatternType(IntEnum):
64
+ """An enumerated type of resource patterns
65
+
66
+ More details on the pattern types and how they work
67
+ can be found in KIP-290 (Support for prefixed ACLs)
68
+ https://cwiki.apache.org/confluence/display/KAFKA/KIP-290%3A+Support+for+Prefixed+ACLs
69
+ """
70
+ UNKNOWN = 0
71
+ ANY = 1
72
+ MATCH = 2
73
+ LITERAL = 3
74
+ PREFIXED = 4
75
+
76
+
77
+ __all__ = [
78
+ 'CreateAclsRequest', 'CreateAclsResponse',
79
+ 'DeleteAclsRequest', 'DeleteAclsResponse',
80
+ 'DescribeAclsRequest', 'DescribeAclsResponse',
81
+ 'ACLResourceType', 'ACLOperation',
82
+ 'ACLPermissionType', 'ACLResourcePatternType',
83
+ ]
@@ -0,0 +1,375 @@
1
+ # Generated by generate_stubs.py (Python 3.14)
2
+ import uuid
3
+ from typing import Any, Self
4
+
5
+ from enum import IntEnum
6
+ from kafka.protocol.api_message import ApiMessage
7
+ from kafka.protocol.data_container import DataContainer
8
+
9
+ __all__ = ['CreateAclsRequest', 'CreateAclsResponse', 'DeleteAclsRequest', 'DeleteAclsResponse', 'DescribeAclsRequest', 'DescribeAclsResponse', 'ACLResourceType', 'ACLOperation', 'ACLPermissionType', 'ACLResourcePatternType']
10
+
11
+ class CreateAclsRequest(ApiMessage):
12
+ class AclCreation(DataContainer):
13
+ resource_type: int
14
+ resource_name: str
15
+ resource_pattern_type: int
16
+ principal: str
17
+ host: str
18
+ operation: int
19
+ permission_type: int
20
+ def __init__(
21
+ self,
22
+ *args: Any,
23
+ resource_type: int = ...,
24
+ resource_name: str = ...,
25
+ resource_pattern_type: int = ...,
26
+ principal: str = ...,
27
+ host: str = ...,
28
+ operation: int = ...,
29
+ permission_type: int = ...,
30
+ version: int | None = None,
31
+ **kwargs: Any,
32
+ ) -> None: ...
33
+ @property
34
+ def version(self) -> int | None: ...
35
+ def to_dict(self, meta: bool = False, json: bool = True) -> dict: ...
36
+
37
+ creations: list[AclCreation]
38
+ def __init__(
39
+ self,
40
+ *args: Any,
41
+ creations: list[AclCreation] = ...,
42
+ version: int | None = None,
43
+ **kwargs: Any,
44
+ ) -> None: ...
45
+ @property
46
+ def version(self) -> int | None: ...
47
+ def to_dict(self, meta: bool = False, json: bool = True) -> dict: ...
48
+ name: str
49
+ type: str
50
+ API_KEY: int
51
+ API_VERSION: int
52
+ valid_versions: tuple[int, int]
53
+ min_version: int
54
+ max_version: int
55
+ @property
56
+ def header(self) -> Any: ...
57
+ @classmethod
58
+ def is_request(cls) -> bool: ...
59
+ def expect_response(self) -> bool: ...
60
+ def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ...
61
+
62
+ class CreateAclsResponse(ApiMessage):
63
+ class AclCreationResult(DataContainer):
64
+ error_code: int
65
+ error_message: str | None
66
+ def __init__(
67
+ self,
68
+ *args: Any,
69
+ error_code: int = ...,
70
+ error_message: str | None = ...,
71
+ version: int | None = None,
72
+ **kwargs: Any,
73
+ ) -> None: ...
74
+ @property
75
+ def version(self) -> int | None: ...
76
+ def to_dict(self, meta: bool = False, json: bool = True) -> dict: ...
77
+
78
+ throttle_time_ms: int
79
+ results: list[AclCreationResult]
80
+ def __init__(
81
+ self,
82
+ *args: Any,
83
+ throttle_time_ms: int = ...,
84
+ results: list[AclCreationResult] = ...,
85
+ version: int | None = None,
86
+ **kwargs: Any,
87
+ ) -> None: ...
88
+ @property
89
+ def version(self) -> int | None: ...
90
+ def to_dict(self, meta: bool = False, json: bool = True) -> dict: ...
91
+ name: str
92
+ type: str
93
+ API_KEY: int
94
+ API_VERSION: int
95
+ valid_versions: tuple[int, int]
96
+ min_version: int
97
+ max_version: int
98
+ @property
99
+ def header(self) -> Any: ...
100
+ @classmethod
101
+ def is_request(cls) -> bool: ...
102
+ def expect_response(self) -> bool: ...
103
+ def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ...
104
+
105
+ class DeleteAclsRequest(ApiMessage):
106
+ class DeleteAclsFilter(DataContainer):
107
+ resource_type_filter: int
108
+ resource_name_filter: str | None
109
+ pattern_type_filter: int
110
+ principal_filter: str | None
111
+ host_filter: str | None
112
+ operation: int
113
+ permission_type: int
114
+ def __init__(
115
+ self,
116
+ *args: Any,
117
+ resource_type_filter: int = ...,
118
+ resource_name_filter: str | None = ...,
119
+ pattern_type_filter: int = ...,
120
+ principal_filter: str | None = ...,
121
+ host_filter: str | None = ...,
122
+ operation: int = ...,
123
+ permission_type: int = ...,
124
+ version: int | None = None,
125
+ **kwargs: Any,
126
+ ) -> None: ...
127
+ @property
128
+ def version(self) -> int | None: ...
129
+ def to_dict(self, meta: bool = False, json: bool = True) -> dict: ...
130
+
131
+ filters: list[DeleteAclsFilter]
132
+ def __init__(
133
+ self,
134
+ *args: Any,
135
+ filters: list[DeleteAclsFilter] = ...,
136
+ version: int | None = None,
137
+ **kwargs: Any,
138
+ ) -> None: ...
139
+ @property
140
+ def version(self) -> int | None: ...
141
+ def to_dict(self, meta: bool = False, json: bool = True) -> dict: ...
142
+ name: str
143
+ type: str
144
+ API_KEY: int
145
+ API_VERSION: int
146
+ valid_versions: tuple[int, int]
147
+ min_version: int
148
+ max_version: int
149
+ @property
150
+ def header(self) -> Any: ...
151
+ @classmethod
152
+ def is_request(cls) -> bool: ...
153
+ def expect_response(self) -> bool: ...
154
+ def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ...
155
+
156
+ class DeleteAclsResponse(ApiMessage):
157
+ class DeleteAclsFilterResult(DataContainer):
158
+ class DeleteAclsMatchingAcl(DataContainer):
159
+ error_code: int
160
+ error_message: str | None
161
+ resource_type: int
162
+ resource_name: str
163
+ pattern_type: int
164
+ principal: str
165
+ host: str
166
+ operation: int
167
+ permission_type: int
168
+ def __init__(
169
+ self,
170
+ *args: Any,
171
+ error_code: int = ...,
172
+ error_message: str | None = ...,
173
+ resource_type: int = ...,
174
+ resource_name: str = ...,
175
+ pattern_type: int = ...,
176
+ principal: str = ...,
177
+ host: str = ...,
178
+ operation: int = ...,
179
+ permission_type: int = ...,
180
+ version: int | None = None,
181
+ **kwargs: Any,
182
+ ) -> None: ...
183
+ @property
184
+ def version(self) -> int | None: ...
185
+ def to_dict(self, meta: bool = False, json: bool = True) -> dict: ...
186
+
187
+ error_code: int
188
+ error_message: str | None
189
+ matching_acls: list[DeleteAclsMatchingAcl]
190
+ def __init__(
191
+ self,
192
+ *args: Any,
193
+ error_code: int = ...,
194
+ error_message: str | None = ...,
195
+ matching_acls: list[DeleteAclsMatchingAcl] = ...,
196
+ version: int | None = None,
197
+ **kwargs: Any,
198
+ ) -> None: ...
199
+ @property
200
+ def version(self) -> int | None: ...
201
+ def to_dict(self, meta: bool = False, json: bool = True) -> dict: ...
202
+
203
+ throttle_time_ms: int
204
+ filter_results: list[DeleteAclsFilterResult]
205
+ def __init__(
206
+ self,
207
+ *args: Any,
208
+ throttle_time_ms: int = ...,
209
+ filter_results: list[DeleteAclsFilterResult] = ...,
210
+ version: int | None = None,
211
+ **kwargs: Any,
212
+ ) -> None: ...
213
+ @property
214
+ def version(self) -> int | None: ...
215
+ def to_dict(self, meta: bool = False, json: bool = True) -> dict: ...
216
+ name: str
217
+ type: str
218
+ API_KEY: int
219
+ API_VERSION: int
220
+ valid_versions: tuple[int, int]
221
+ min_version: int
222
+ max_version: int
223
+ @property
224
+ def header(self) -> Any: ...
225
+ @classmethod
226
+ def is_request(cls) -> bool: ...
227
+ def expect_response(self) -> bool: ...
228
+ def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ...
229
+
230
+ class DescribeAclsRequest(ApiMessage):
231
+ resource_type_filter: int
232
+ resource_name_filter: str | None
233
+ pattern_type_filter: int
234
+ principal_filter: str | None
235
+ host_filter: str | None
236
+ operation: int
237
+ permission_type: int
238
+ def __init__(
239
+ self,
240
+ *args: Any,
241
+ resource_type_filter: int = ...,
242
+ resource_name_filter: str | None = ...,
243
+ pattern_type_filter: int = ...,
244
+ principal_filter: str | None = ...,
245
+ host_filter: str | None = ...,
246
+ operation: int = ...,
247
+ permission_type: int = ...,
248
+ version: int | None = None,
249
+ **kwargs: Any,
250
+ ) -> None: ...
251
+ @property
252
+ def version(self) -> int | None: ...
253
+ def to_dict(self, meta: bool = False, json: bool = True) -> dict: ...
254
+ name: str
255
+ type: str
256
+ API_KEY: int
257
+ API_VERSION: int
258
+ valid_versions: tuple[int, int]
259
+ min_version: int
260
+ max_version: int
261
+ @property
262
+ def header(self) -> Any: ...
263
+ @classmethod
264
+ def is_request(cls) -> bool: ...
265
+ def expect_response(self) -> bool: ...
266
+ def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ...
267
+
268
+ class DescribeAclsResponse(ApiMessage):
269
+ class DescribeAclsResource(DataContainer):
270
+ class AclDescription(DataContainer):
271
+ principal: str
272
+ host: str
273
+ operation: int
274
+ permission_type: int
275
+ def __init__(
276
+ self,
277
+ *args: Any,
278
+ principal: str = ...,
279
+ host: str = ...,
280
+ operation: int = ...,
281
+ permission_type: int = ...,
282
+ version: int | None = None,
283
+ **kwargs: Any,
284
+ ) -> None: ...
285
+ @property
286
+ def version(self) -> int | None: ...
287
+ def to_dict(self, meta: bool = False, json: bool = True) -> dict: ...
288
+
289
+ resource_type: int
290
+ resource_name: str
291
+ pattern_type: int
292
+ acls: list[AclDescription]
293
+ def __init__(
294
+ self,
295
+ *args: Any,
296
+ resource_type: int = ...,
297
+ resource_name: str = ...,
298
+ pattern_type: int = ...,
299
+ acls: list[AclDescription] = ...,
300
+ version: int | None = None,
301
+ **kwargs: Any,
302
+ ) -> None: ...
303
+ @property
304
+ def version(self) -> int | None: ...
305
+ def to_dict(self, meta: bool = False, json: bool = True) -> dict: ...
306
+
307
+ throttle_time_ms: int
308
+ error_code: int
309
+ error_message: str | None
310
+ resources: list[DescribeAclsResource]
311
+ def __init__(
312
+ self,
313
+ *args: Any,
314
+ throttle_time_ms: int = ...,
315
+ error_code: int = ...,
316
+ error_message: str | None = ...,
317
+ resources: list[DescribeAclsResource] = ...,
318
+ version: int | None = None,
319
+ **kwargs: Any,
320
+ ) -> None: ...
321
+ @property
322
+ def version(self) -> int | None: ...
323
+ def to_dict(self, meta: bool = False, json: bool = True) -> dict: ...
324
+ name: str
325
+ type: str
326
+ API_KEY: int
327
+ API_VERSION: int
328
+ valid_versions: tuple[int, int]
329
+ min_version: int
330
+ max_version: int
331
+ @property
332
+ def header(self) -> Any: ...
333
+ @classmethod
334
+ def is_request(cls) -> bool: ...
335
+ def expect_response(self) -> bool: ...
336
+ def with_header(self, correlation_id: int = 0, client_id: str = "kafka-python") -> None: ...
337
+
338
+ class ACLResourceType(IntEnum):
339
+ UNKNOWN: int
340
+ ANY: int
341
+ TOPIC: int
342
+ GROUP: int
343
+ CLUSTER: int
344
+ TRANSACTIONAL_ID: int
345
+ DELEGATION_TOKEN: int
346
+
347
+ class ACLOperation(IntEnum):
348
+ UNKNOWN: int
349
+ ANY: int
350
+ ALL: int
351
+ READ: int
352
+ WRITE: int
353
+ CREATE: int
354
+ DELETE: int
355
+ ALTER: int
356
+ DESCRIBE: int
357
+ CLUSTER_ACTION: int
358
+ DESCRIBE_CONFIGS: int
359
+ ALTER_CONFIGS: int
360
+ IDEMPOTENT_WRITE: int
361
+ CREATE_TOKENS: int
362
+ DESCRIBE_TOKENS: int
363
+
364
+ class ACLPermissionType(IntEnum):
365
+ UNKNOWN: int
366
+ ANY: int
367
+ DENY: int
368
+ ALLOW: int
369
+
370
+ class ACLResourcePatternType(IntEnum):
371
+ UNKNOWN: int
372
+ ANY: int
373
+ MATCH: int
374
+ LITERAL: int
375
+ PREFIXED: int
@@ -0,0 +1,14 @@
1
+ from ..api_message import ApiMessage
2
+
3
+
4
+ class AlterClientQuotasRequest(ApiMessage): pass
5
+ class AlterClientQuotasResponse(ApiMessage): pass
6
+
7
+ class DescribeClientQuotasRequest(ApiMessage): pass
8
+ class DescribeClientQuotasResponse(ApiMessage): pass
9
+
10
+
11
+ __all__ = [
12
+ 'AlterClientQuotasRequest', 'AlterClientQuotasResponse',
13
+ 'DescribeClientQuotasRequest', 'DescribeClientQuotasResponse',
14
+ ]