1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 numpy,
6 poetry-core,
7 pytestCheckHook,
8 pythonOlder,
9}:
10
11buildPythonPackage rec {
12 pname = "fireflyalgorithm";
13 version = "0.4.4";
14 pyproject = true;
15
16 disabled = pythonOlder "3.9";
17
18 src = fetchFromGitHub {
19 owner = "firefly-cpp";
20 repo = "FireflyAlgorithm";
21 rev = "refs/tags/${version}";
22 hash = "sha256-xsTgSHBtN4gGw+9YvprcLubnCXSNRdn4abcz391cMEE=";
23 };
24
25 nativeBuildInputs = [ poetry-core ];
26
27 propagatedBuildInputs = [ numpy ];
28
29 nativeCheckInputs = [ pytestCheckHook ];
30
31 pythonImportsCheck = [ "fireflyalgorithm" ];
32
33 meta = with lib; {
34 description = "Implementation of the stochastic nature-inspired algorithm for optimization";
35 mainProgram = "firefly-algorithm";
36 homepage = "https://github.com/firefly-cpp/FireflyAlgorithm";
37 changelog = "https://github.com/firefly-cpp/FireflyAlgorithm/blob/${version}/CHANGELOG.md";
38 license = licenses.mit;
39 maintainers = with maintainers; [ firefly-cpp ];
40 };
41}