1{
2 lib,
3 python,
4 buildPythonPackage,
5 fetchFromGitHub,
6 pytestCheckHook,
7
8 # for passthru.tests
9 distributed,
10 jupyter-server,
11 jupyterlab,
12 matplotlib,
13 mitmproxy,
14 pytest-tornado,
15 pytest-tornasync,
16 pyzmq,
17 sockjs-tornado,
18 urllib3,
19}:
20
21buildPythonPackage rec {
22 pname = "tornado";
23 version = "6.3.3";
24 format = "setuptools";
25
26 src = fetchFromGitHub {
27 owner = "tornadoweb";
28 repo = "tornado";
29 rev = "v${version}";
30 hash = "sha256-l9Ce/c2wDSmsySr9yXu5Fl/+63QkQay46aDSUTJmetA=";
31 };
32
33 nativeCheckInputs = [ pytestCheckHook ];
34
35 disabledTestPaths = [
36 # additional tests that have extra dependencies, run slowly, or produce more output than a simple pass/fail
37 # https://github.com/tornadoweb/tornado/blob/v6.2.0/maint/test/README
38 "maint/test"
39
40 # AttributeError: 'TestIOStreamWebMixin' object has no attribute 'io_loop'
41 "tornado/test/iostream_test.py"
42 ];
43
44 disabledTests = [
45 # Exception: did not get expected log message
46 "test_unix_socket_bad_request"
47 ];
48
49 pythonImportsCheck = [ "tornado" ];
50
51 __darwinAllowLocalNetworking = true;
52
53 passthru.tests = {
54 inherit
55 distributed
56 jupyter-server
57 jupyterlab
58 matplotlib
59 mitmproxy
60 pytest-tornado
61 pytest-tornasync
62 pyzmq
63 sockjs-tornado
64 urllib3
65 ;
66 };
67
68 meta = with lib; {
69 description = "A web framework and asynchronous networking library";
70 homepage = "https://www.tornadoweb.org/";
71 license = licenses.asl20;
72 maintainers = with maintainers; [ ];
73 };
74}