1{ lib 2, buildPythonPackage 3, fetchFromGitHub 4, contexttimer 5, setuptools 6, versioneer 7, cython 8, numpy 9, pytestCheckHook 10, pythonOlder 11}: 12 13buildPythonPackage rec { 14 pname = "pyrevolve"; 15 version = "2.2.3"; 16 format = "pyproject"; 17 18 disabled = pythonOlder "3.7"; 19 20 src = fetchFromGitHub { 21 owner = "devitocodes"; 22 repo = pname; 23 rev = "refs/tags/v${version}"; 24 hash = "sha256-z1G8DXG06Capd87x02zqrtYyBrX4xmJP94t4bgaR2PE="; 25 }; 26 27 postPatch = '' 28 substituteInPlace setup.py \ 29 --replace ', "flake8"' "" 30 ''; 31 32 nativeBuildInputs = [ 33 cython 34 setuptools 35 versioneer 36 ]; 37 38 propagatedBuildInputs = [ 39 contexttimer 40 numpy 41 ]; 42 43 nativeCheckInputs = [ 44 pytestCheckHook 45 ]; 46 47 preCheck = '' 48 rm -rf pyrevolve 49 ''; 50 51 pythonImportsCheck = [ 52 "pyrevolve" 53 ]; 54 55 meta = with lib; { 56 homepage = "https://github.com/devitocodes/pyrevolve"; 57 changelog = "https://github.com/devitocodes/pyrevolve/releases/tag/v${version}"; 58 description = "Python library to manage checkpointing for adjoints"; 59 license = licenses.epl10; 60 maintainers = with maintainers; [ atila ]; 61 }; 62}