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