1{ lib
2, python
3, buildPythonPackage
4, fetchFromGitHub
5, pytestCheckHook
6
7# for passthru.tests
8, distributed
9, jupyter-server
10, jupyterlab
11, matplotlib
12, mitmproxy
13, pytest-tornado
14, pytest-tornasync
15, pyzmq
16, sockjs-tornado
17, urllib3
18}:
19
20buildPythonPackage rec {
21 pname = "tornado";
22 version = "6.3.3";
23
24 src = fetchFromGitHub {
25 owner = "tornadoweb";
26 repo = "tornado";
27 rev = "v${version}";
28 hash = "sha256-l9Ce/c2wDSmsySr9yXu5Fl/+63QkQay46aDSUTJmetA=";
29 };
30
31 nativeCheckInputs = [
32 pytestCheckHook
33 ];
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 meta = with lib; {
68 description = "A web framework and asynchronous networking library";
69 homepage = "https://www.tornadoweb.org/";
70 license = licenses.asl20;
71 maintainers = with maintainers; [ ];
72 };
73}