nixpkgs/pkgs/development/python-modules/lomond/default.nix
2024-02-24 04:01:02 +01:00

66 lines
1.3 KiB
Nix

{ buildPythonPackage
, fetchFromGitHub
, lib
, pythonAtLeast
, pythonOlder
# runtime
, six
# tests
, freezegun
, pytest-mock
, pytestCheckHook
, tornado_4
}:
buildPythonPackage rec {
pname = "lomond";
version = "0.3.3";
format = "setuptools";
src = fetchFromGitHub {
owner = "wildfoundry";
repo = "dataplicity-${pname}";
rev = "b30dad3cc38d5ff210c5dd01f8c3c76aa6c616d1";
sha256 = "0lydq0imala08wxdyg2iwhqa6gcdrn24ah14h91h2zcxjhjk4gv8";
};
postPatch = ''
substituteInPlace setup.py \
--replace "'pytest-runner'" ""
'';
propagatedBuildInputs = [
six
];
nativeCheckInputs = [
freezegun
pytest-mock
pytestCheckHook
] ++ lib.optionals (pythonOlder "3.10") [
tornado_4
];
disabledTests = [
# Makes HTTP requests
"test_proxy"
"test_live"
] ++ lib.optionals (pythonAtLeast "3.12") [
# https://github.com/wildfoundry/dataplicity-lomond/issues/91
"test_that_on_ping_responds_with_pong"
];
disabledTestPaths = lib.optionals (pythonAtLeast "3.10") [
# requires tornado_4, which is not compatible with python3.10
"tests/test_integration.py"
];
meta = with lib; {
description = "Websocket Client Library";
homepage = "https://github.com/wildfoundry/dataplicity-lomond";
license = licenses.bsd3;
maintainers = with maintainers; [ jamiemagee ];
};
}