1{
2 lib,
3 stdenv,
4 buildPythonPackage,
5 fetchFromGitHub,
6 matplotlib,
7 numpy,
8 pytestCheckHook,
9 pythonOlder,
10 requests,
11 scipy,
12 seaborn,
13 setuptools,
14}:
15
16buildPythonPackage rec {
17 pname = "simpful";
18 version = "2.12.0";
19 pyproject = true;
20
21 disabled = pythonOlder "3.7";
22
23 src = fetchFromGitHub {
24 owner = "aresio";
25 repo = "simpful";
26 tag = version;
27 hash = "sha256-NtTw7sF1WfVebUk1wHrM8FHAe3/FXDcMApPkDbw0WXo=";
28 };
29
30 nativeBuildInputs = [ setuptools ];
31
32 propagatedBuildInputs = [
33 numpy
34 scipy
35 requests
36 ];
37
38 optional-dependencies = {
39 plotting = [
40 matplotlib
41 seaborn
42 ];
43 };
44
45 nativeCheckInputs = [
46 pytestCheckHook
47 ]
48 ++ lib.flatten (builtins.attrValues optional-dependencies);
49
50 pythonImportsCheck = [ "simpful" ];
51
52 meta = with lib; {
53 description = "Library for fuzzy logic";
54 homepage = "https://github.com/aresio/simpful";
55 changelog = "https://github.com/aresio/simpful/releases/tag/${version}";
56 license = with licenses; [ lgpl3Only ];
57 maintainers = with maintainers; [ fab ];
58 broken = stdenv.hostPlatform.isDarwin;
59 };
60}