1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 numpy,
6 python,
7 pythonOlder,
8}:
9
10buildPythonPackage rec {
11 pname = "cma";
12 version = "3.3.0";
13 format = "setuptools";
14
15 disabled = pythonOlder "3.7";
16
17 src = fetchFromGitHub {
18 owner = "CMA-ES";
19 repo = "pycma";
20 rev = "refs/tags/r${version}";
21 hash = "sha256-+UJI3hDVbDMfRF4bkwHED3eJCHzxS2hO4YPUzJqcoQI=";
22 };
23
24 propagatedBuildInputs = [ numpy ];
25
26 checkPhase = ''
27 # At least one doctest fails, thus only limited amount of files is tested
28 ${python.executable} -m cma.test interfaces.py purecma.py logger.py optimization_tools.py transformations.py
29 '';
30
31 pythonImportsCheck = [ "cma" ];
32
33 meta = with lib; {
34 description = "Library for Covariance Matrix Adaptation Evolution Strategy for non-linear numerical optimization";
35 homepage = "https://github.com/CMA-ES/pycma";
36 license = licenses.bsd3;
37 maintainers = with maintainers; [ ];
38 };
39}