1{ lib
2, buildPythonPackage
3, docopt
4, fetchFromGitHub
5, hypothesis
6, passlib
7, poetry-core
8, pytest-asyncio
9, pytestCheckHook
10, pythonOlder
11, pyyaml
12, transitions
13, websockets
14}:
15
16buildPythonPackage rec {
17 pname = "amqtt";
18 version = "0.10.0-alpha.3";
19 format = "pyproject";
20 disabled = pythonOlder "3.7";
21
22 src = fetchFromGitHub {
23 owner = "Yakifo";
24 repo = pname;
25 rev = "v${version}";
26 sha256 = "0wz85ykjgi2174qcdgpakmc4m0p96v62az7pvc9hyallq1v1k4n6";
27 };
28
29 nativeBuildInputs = [ poetry-core ];
30
31 propagatedBuildInputs = [
32 docopt
33 passlib
34 pyyaml
35 transitions
36 websockets
37 ];
38
39 checkInputs = [
40 hypothesis
41 pytest-asyncio
42 pytestCheckHook
43 ];
44
45 disabledTestPaths = [
46 # Test are not ported from hbmqtt yet
47 "tests/test_cli.py"
48 "tests/test_client.py"
49 ];
50
51 disabledTests = [
52 # Requires network access
53 "test_connect_tcp"
54 ];
55
56 pythonImportsCheck = [ "amqtt" ];
57
58 meta = with lib; {
59 description = "Python MQTT client and broker implementation";
60 homepage = "https://amqtt.readthedocs.io/";
61 license = with licenses; [ mit ];
62 maintainers = with maintainers; [ fab ];
63 };
64}