1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 hatchling,
6 numpy,
7 scipy,
8 matplotlib,
9 pytestCheckHook,
10}:
11
12buildPythonPackage rec {
13 pname = "kneed";
14 version = "0.8.5";
15 format = "pyproject";
16
17 src = fetchFromGitHub {
18 owner = "arvkevi";
19 repo = "kneed";
20 rev = "refs/tags/v${version}";
21 sha256 = "sha256-oakP6NkdvTzMZcoXS6cKNsRo//K+CoPLlhvbQLGij00=";
22 };
23
24 postPatch = ''
25 substituteInPlace pytest.ini \
26 --replace "--cov=kneed" ""
27 '';
28
29 nativeBuildInputs = [ hatchling ];
30
31 propagatedBuildInputs = [
32 numpy
33 scipy
34 ];
35
36 checkInputs = [
37 pytestCheckHook
38 matplotlib
39 ];
40
41 disabledTestPaths = [
42 # Fails when matplotlib is installed
43 "tests/test_no_matplotlib.py"
44 ];
45
46 meta = with lib; {
47 description = "Knee point detection in Python";
48 homepage = "https://github.com/arvkevi/kneed";
49 license = licenses.bsd3;
50 maintainers = with maintainers; [ tm-drtina ];
51 };
52}