1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, niapy
5, numpy
6, pandas
7, poetry-core
8, scikit-learn
9, toml-adapt
10, pytestCheckHook
11, pythonOlder
12}:
13
14buildPythonPackage rec {
15 pname = "niaaml";
16 version = "1.1.12";
17 format = "pyproject";
18
19 disabled = pythonOlder "3.7";
20
21 src = fetchFromGitHub {
22 owner = "lukapecnik";
23 repo = "NiaAML";
24 rev = version;
25 hash = "sha256-GAUXEkUOD04DQtRG/RAeeeLmenBd25h18Lmrxbm4X3A=";
26 };
27
28 nativeBuildInputs = [
29 poetry-core
30 toml-adapt
31 ];
32
33 propagatedBuildInputs = [
34 niapy
35 numpy
36 pandas
37 scikit-learn
38 ];
39
40 # create scikit-learn and niapy deps version consistent
41 preBuild = ''
42 toml-adapt -path pyproject.toml -a change -dep scikit-learn -ver X
43 toml-adapt -path pyproject.toml -a change -dep niapy -ver X
44 '';
45
46 nativeCheckInputs = [
47 pytestCheckHook
48 ];
49
50 pythonImportsCheck = [
51 "niaaml"
52 ];
53
54 meta = with lib; {
55 description = "Python automated machine learning framework";
56 homepage = "https://github.com/lukapecnik/NiaAML";
57 license = licenses.mit;
58 maintainers = with maintainers; [ firefly-cpp ];
59 };
60}