1{ lib
2, buildPythonPackage
3, fetchPypi
4, py
5, pytestCheckHook
6, python
7, pythonOlder
8, tornado
9, zeromq
10, pytest-asyncio
11}:
12
13buildPythonPackage rec {
14 pname = "pyzmq";
15 version = "25.1.1";
16 format = "setuptools";
17
18 disabled = pythonOlder "3.6";
19
20 src = fetchPypi {
21 inherit pname version;
22 hash = "sha256-JZwiSFtxq6zfqL95cgzXvPS50SizDqVU8BrnH9v9qiM=";
23 };
24
25 buildInputs = [
26 zeromq
27 ];
28
29 propagatedBuildInputs = [
30 py
31 ];
32
33 nativeCheckInputs = [
34 pytestCheckHook
35 tornado
36 pytest-asyncio
37 ];
38
39 pythonImportsCheck = [
40 "zmq"
41 ];
42
43 pytestFlagsArray = [
44 "$out/${python.sitePackages}/zmq/tests/" # Folder with tests
45 # pytest.ini is missing in pypi's sdist
46 # https://github.com/zeromq/pyzmq/issues/1853#issuecomment-1592731986
47 "--asyncio-mode auto"
48 ];
49
50 disabledTests = [
51 # Tests hang
52 "test_socket"
53 "test_monitor"
54 # https://github.com/zeromq/pyzmq/issues/1272
55 "test_cython"
56 # Test fails
57 "test_mockable"
58 # Issues with the sandbox
59 "TestFutureSocket"
60 "TestIOLoop"
61 "TestPubLog"
62 ];
63
64 # Some of the tests use localhost networking.
65 __darwinAllowLocalNetworking = true;
66
67 meta = with lib; {
68 description = "Python bindings for ØMQ";
69 homepage = "https://pyzmq.readthedocs.io/";
70 license = with licenses; [ bsd3 /* or */ lgpl3Only ];
71 maintainers = with maintainers; [ ];
72 };
73}