1{
2 lib,
3 aiomisc-pytest,
4 aiormq,
5 buildPythonPackage,
6 docker,
7 fetchFromGitHub,
8 pamqp,
9 poetry-core,
10 pytestCheckHook,
11 pythonOlder,
12 shortuuid,
13 testcontainers,
14 wrapt,
15 yarl,
16}:
17
18buildPythonPackage rec {
19 pname = "aio-pika";
20 version = "9.4.1";
21 pyproject = true;
22
23 disabled = pythonOlder "3.9";
24
25 src = fetchFromGitHub {
26 owner = "mosquito";
27 repo = "aio-pika";
28 rev = "refs/tags/${version}";
29 hash = "sha256-aRXYFW4fl3iXH3bwP30+TllRm4BkIUcGMX/lNfhiqjo=";
30 };
31
32 build-system = [ poetry-core ];
33
34 dependencies = [
35 aiormq
36 yarl
37 ];
38
39 nativeCheckInputs = [
40 aiomisc-pytest
41 docker
42 pamqp
43 pytestCheckHook
44 shortuuid
45 testcontainers
46 wrapt
47 ];
48
49 disabledTests = [
50 # Tests attempt to connect to a RabbitMQ server
51 "test_connection_interleave"
52 "test_connection_happy_eyeballs_delay"
53 "test_robust_connection_interleave"
54 "test_robust_connection_happy_eyeballs_delay"
55 ];
56
57 disabledTestPaths = [
58 # Tests attempt to connect to a RabbitMQ server
59 "tests/test_amqp.py"
60 "tests/test_amqp_robust.py"
61 "tests/test_amqp_robust_proxy.py"
62 "tests/test_amqps.py"
63 "tests/test_master.py"
64 "tests/test_memory_leak.py"
65 "tests/test_rpc.py"
66 "tests/test_types.py"
67 ];
68
69 pythonImportsCheck = [ "aio_pika" ];
70
71 meta = with lib; {
72 description = "AMQP 0.9 client designed for asyncio and humans";
73 homepage = "https://github.com/mosquito/aio-pika";
74 changelog = "https://github.com/mosquito/aio-pika/blob/${version}/CHANGELOG.md";
75 license = licenses.asl20;
76 maintainers = with maintainers; [ emilytrau ];
77 };
78}