1{ lib
2, buildPythonPackage
3, pythonOlder
4, fetchFromGitHub
5, fetchpatch
6, matplotlib
7, networkx
8, nose
9, numpy
10, scipy
11, pytestCheckHook
12}:
13
14buildPythonPackage rec {
15 pname = "scikit-fuzzy";
16 version = "unstable-2022-11-07";
17 format = "setuptools";
18
19 disabled = pythonOlder "3.6";
20
21 src = fetchFromGitHub {
22 owner = pname;
23 repo = pname;
24 rev = "d8c45c259d62955004379592e45bc64c8e002fc3";
25 hash = "sha256-kS48aHC719wUdc2WcJa9geoMUcLHSj7ZsoRZYAhF2a0=";
26 };
27
28 patches = [
29 # https://github.com/scikit-fuzzy/scikit-fuzzy/pull/299
30 (fetchpatch {
31 name = "numpy-1.25-test-compatibility-1.patch";
32 url = "https://github.com/scikit-fuzzy/scikit-fuzzy/commit/d7d114cff002e2edf9361a55cb985615e91797b5.patch";
33 hash = "sha256-udF/z94tVGRHq7gcOko4BSkvVnqe/A/bAARfCPrc06M=";
34 })
35 (fetchpatch {
36 name = "numpy-1.25-test-compatibility-2.patch";
37 url = "https://github.com/scikit-fuzzy/scikit-fuzzy/commit/f1612f6aeff34dc9329dbded7cee098fcd22ffd9.patch";
38 hash = "sha256-Le1ECR4+RjWCkfqjVrd471GD7tuVaQlZ7RZd3zvFdHU=";
39 })
40 (fetchpatch {
41 name = "numpy-1.25-test-compatibility-3.patch";
42 url = "https://github.com/scikit-fuzzy/scikit-fuzzy/commit/459b9602cf182b7b42f93aad8bcf3bda6f20bfb5.patch";
43 hash = "sha256-gKrhNpGt6XoAlMwQW70OPFZj/ZC8NhQq6dEaBpGE8yY=";
44 })
45 ];
46
47 propagatedBuildInputs = [ networkx numpy scipy ];
48 nativeCheckInputs = [ matplotlib nose pytestCheckHook ];
49
50 pythonImportsCheck = [ "skfuzzy" ];
51
52 meta = with lib; {
53 homepage = "https://github.com/scikit-fuzzy/scikit-fuzzy";
54 description = "Fuzzy logic toolkit for scientific Python";
55 license = licenses.bsd3;
56 maintainers = [ maintainers.bcdarwin ];
57 };
58}