1{
2 lib,
3 amqp,
4 azure-identity,
5 azure-servicebus,
6 azure-storage-queue,
7 backports-zoneinfo,
8 boto3,
9 buildPythonPackage,
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.7";
31 format = "setuptools";
32
33 disabled = pythonOlder "3.8";
34
35 src = fetchPypi {
36 inherit pname version;
37 hash = "sha256-ARxM2aNVwUod6NNdJXMUodJFbVK3FAOIVhrKw88al78=";
38 };
39
40 propagatedBuildInputs =
41 [
42 amqp
43 vine
44 ]
45 ++ lib.optionals (pythonOlder "3.10") [ typing-extensions ]
46 ++ lib.optionals (pythonOlder "3.9") [ backports-zoneinfo ];
47
48 optional-dependencies = {
49 msgpack = [ msgpack ];
50 yaml = [ pyyaml ];
51 redis = [ redis ];
52 mongodb = [ pymongo ];
53 sqs = [
54 boto3
55 urllib3
56 pycurl
57 ];
58 zookeeper = [ kazoo ];
59 sqlalchemy = [ sqlalchemy ];
60 azurestoragequeues = [
61 azure-identity
62 azure-storage-queue
63 ];
64 azureservicebus = [ azure-servicebus ];
65 confluentkafka = [ confluent-kafka ];
66 # pyro4 doesn't suppport Python 3.11
67 #pyro = [
68 # pyro4
69 #];
70 };
71
72 nativeCheckInputs = [
73 hypothesis
74 pytestCheckHook
75 ] ++ lib.flatten (lib.attrValues optional-dependencies);
76
77 pythonImportsCheck = [ "kombu" ];
78
79 disabledTests = [
80 # Disable pyro4 test
81 "test_driver_version"
82 ];
83
84 meta = with lib; {
85 description = "Messaging library for Python";
86 homepage = "https://github.com/celery/kombu";
87 changelog = "https://github.com/celery/kombu/blob/v${version}/Changelog.rst";
88 license = licenses.bsd3;
89 maintainers = with maintainers; [ fab ];
90 };
91}