1{ lib, buildPythonPackage, fetchPypi, isPy3k,
2 six, txaio, twisted, zope_interface, cffi, trollius, futures,
3 mock, pytest, cryptography, pynacl
4}:
5buildPythonPackage rec {
6 pname = "autobahn";
7 version = "20.7.1";
8
9 src = fetchPypi {
10 inherit pname version;
11 sha256 = "86bbce30cdd407137c57670993a8f9bfdfe3f8e994b889181d85e844d5aa8dfb";
12 };
13
14 propagatedBuildInputs = [ six txaio twisted zope_interface cffi cryptography pynacl ] ++
15 (lib.optionals (!isPy3k) [ trollius futures ]);
16
17 checkInputs = [ mock pytest ];
18 checkPhase = ''
19 runHook preCheck
20 USE_TWISTED=true py.test $out
21 runHook postCheck
22 '';
23
24 # Tests do no seem to be compatible yet with pytest 5.1
25 # https://github.com/crossbario/autobahn-python/issues/1235
26 doCheck = false;
27
28 meta = with lib; {
29 description = "WebSocket and WAMP in Python for Twisted and asyncio.";
30 homepage = "https://crossbar.io/autobahn";
31 license = licenses.mit;
32 maintainers = with maintainers; [ nand0p ];
33 };
34}