1{ buildPythonPackage
2, fetchFromGitHub
3, lib
4, pythonAtLeast
5, pythonOlder
6
7# runtime
8, six
9
10# tests
11, freezegun
12, pytest-mock
13, pytestCheckHook
14, tornado_4
15}:
16
17buildPythonPackage rec {
18 pname = "lomond";
19 version = "0.3.3";
20
21 src = fetchFromGitHub {
22 owner = "wildfoundry";
23 repo = "dataplicity-${pname}";
24 rev = "b30dad3cc38d5ff210c5dd01f8c3c76aa6c616d1";
25 sha256 = "0lydq0imala08wxdyg2iwhqa6gcdrn24ah14h91h2zcxjhjk4gv8";
26 };
27
28 postPatch = ''
29 substituteInPlace setup.py \
30 --replace "'pytest-runner'" ""
31 '';
32
33 propagatedBuildInputs = [
34 six
35 ];
36
37 nativeCheckInputs = [
38 freezegun
39 pytest-mock
40 pytestCheckHook
41 ] ++ lib.optionals (pythonOlder "3.10") [
42 tornado_4
43 ];
44
45 disabledTests = [
46 # Makes HTTP requests
47 "test_proxy"
48 "test_live"
49 ];
50
51 disabledTestPaths = lib.optionals (pythonAtLeast "3.10") [
52 # requires tornado_4, which is not compatible with python3.10
53 "tests/test_integration.py"
54 ];
55
56 meta = with lib; {
57 description = "Websocket Client Library";
58 homepage = "https://github.com/wildfoundry/dataplicity-lomond";
59 license = licenses.bsd3;
60 maintainers = with maintainers; [ jamiemagee ];
61 };
62}