diff --git a/pkgs/development/python-modules/nianet/default.nix b/pkgs/development/python-modules/nianet/default.nix new file mode 100644 index 000000000000..4adca2e5b701 --- /dev/null +++ b/pkgs/development/python-modules/nianet/default.nix @@ -0,0 +1,62 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, matplotlib +, niapy +, numpy +, poetry-core +, pytestCheckHook +, pythonOlder +, scikit-learn +, toml-adapt +, torch +}: + +buildPythonPackage rec { + pname = "nianet"; + version = "1.1.4"; + format = "pyproject"; + + disabled = pythonOlder "3.6"; + + src = fetchFromGitHub { + owner = "SasoPavlic"; + repo = pname; + rev = "version_${version}"; + sha256 = "sha256-FZipl6Z9AfiL6WH0kvUn8bVxt8JLdDVlmTSqnyxe0nY="; + }; + + nativeBuildInputs = [ + toml-adapt + poetry-core + ]; + + propagatedBuildInputs = [ + niapy + numpy + scikit-learn + torch + ]; + + # create niapy and torch dep version consistent + preBuild = '' + toml-adapt -path pyproject.toml -a change -dep niapy -ver X + toml-adapt -path pyproject.toml -a change -dep torch -ver X + ''; + + checkInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "nianet" + ]; + + meta = with lib; { + description = "Designing and constructing neural network topologies using nature-inspired algorithms"; + homepage = "https://github.com/SasoPavlic/NiaNet"; + changelog = "https://github.com/SasoPavlic/NiaNet/releases/tag/v${version}"; + license = licenses.mit; + maintainers = with maintainers; [ firefly-cpp ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 3b7dc5a9a691..1101911e57c9 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6436,6 +6436,8 @@ self: super: with self; { niaaml = callPackage ../development/python-modules/niaaml { }; + nianet = callPackage ../development/python-modules/nianet { }; + niaarm = callPackage ../development/python-modules/niaarm { }; niapy = callPackage ../development/python-modules/niapy { };