nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 niapy,
6 numpy,
7 pandas,
8 poetry-core,
9 pytestCheckHook,
10 scikit-learn,
11 toml-adapt,
12}:
13
14buildPythonPackage rec {
15 pname = "niaclass";
16 version = "0.2.4";
17 pyproject = true;
18
19 src = fetchFromGitHub {
20 owner = "firefly-cpp";
21 repo = "NiaClass";
22 tag = version;
23 hash = "sha256-hJ3ZNl13s/woL4G08nNFqL+/olXUtg9MZQQr0BGX0ys=";
24 };
25
26 pythonRelaxDeps = [
27 "numpy"
28 "pandas"
29 ];
30
31 nativeBuildInputs = [
32 poetry-core
33 toml-adapt
34 ];
35
36 propagatedBuildInputs = [
37 niapy
38 numpy
39 pandas
40 scikit-learn
41 ];
42
43 # create scikit-learn dep version consistent
44 preBuild = ''
45 toml-adapt -path pyproject.toml -a change -dep scikit-learn -ver X
46 '';
47
48 nativeCheckInputs = [ pytestCheckHook ];
49
50 pythonImportsCheck = [ "niaclass" ];
51
52 meta = {
53 description = "Framework for solving classification tasks using Nature-inspired algorithms";
54 homepage = "https://github.com/firefly-cpp/NiaClass";
55 changelog = "https://github.com/firefly-cpp/NiaClass/releases/tag/${src.tag}";
56 license = lib.licenses.mit;
57 maintainers = with lib.maintainers; [ firefly-cpp ];
58 };
59}