1{ lib
2, amqp
3, azure-identity
4, azure-servicebus
5, azure-storage-queue
6, backports-zoneinfo
7, boto3
8, buildPythonPackage
9, case
10, confluent-kafka
11, fetchPypi
12, hypothesis
13, kazoo
14, msgpack
15, pycurl
16, pymongo
17 #, pyro4
18, pytestCheckHook
19, pythonOlder
20, pyyaml
21, redis
22, sqlalchemy
23, typing-extensions
24, urllib3
25, vine
26}:
27
28buildPythonPackage rec {
29 pname = "kombu";
30 version = "5.3.4";
31 format = "setuptools";
32
33 disabled = pythonOlder "3.8";
34
35 src = fetchPypi {
36 inherit pname version;
37 hash = "sha256-C7LieGRNEd6mJywXl0o9u5aIqUnzu2CutbeRMpxE+tw=";
38 };
39
40 propagatedBuildInputs = [
41 amqp
42 vine
43 ] ++ lib.optionals (pythonOlder "3.10") [
44 typing-extensions
45 ] ++ lib.optionals (pythonOlder "3.9") [
46 backports-zoneinfo
47 ];
48
49 passthru.optional-dependencies = {
50 msgpack = [
51 msgpack
52 ];
53 yaml = [
54 pyyaml
55 ];
56 redis = [
57 redis
58 ];
59 mongodb = [
60 pymongo
61 ];
62 sqs = [
63 boto3
64 urllib3
65 pycurl
66 ];
67 zookeeper = [
68 kazoo
69 ];
70 sqlalchemy = [
71 sqlalchemy
72 ];
73 azurestoragequeues = [
74 azure-identity
75 azure-storage-queue
76 ];
77 azureservicebus = [
78 azure-servicebus
79 ];
80 confluentkafka = [
81 confluent-kafka
82 ];
83 # pyro4 doesn't suppport Python 3.11
84 #pyro = [
85 # pyro4
86 #];
87 };
88
89 nativeCheckInputs = [
90 case
91 hypothesis
92 pytestCheckHook
93 ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
94
95 pythonImportsCheck = [
96 "kombu"
97 ];
98
99 disabledTests = [
100 # Disable pyro4 test
101 "test_driver_version"
102 ];
103
104 meta = with lib; {
105 description = "Messaging library for Python";
106 homepage = "https://github.com/celery/kombu";
107 changelog = "https://github.com/celery/kombu/blob/v${version}/Changelog.rst";
108 license = licenses.bsd3;
109 maintainers = with maintainers; [ fab ];
110 };
111}