at 23.11-beta 1.9 kB view raw
1{ lib 2, stdenv 3, buildPythonPackage 4, cons 5, cython 6, etuples 7, fetchFromGitHub 8, filelock 9, hatch-vcs 10, hatchling 11, jax 12, jaxlib 13, logical-unification 14, minikanren 15, numba 16, numba-scipy 17, numpy 18, pytestCheckHook 19, pythonOlder 20, scipy 21, typing-extensions 22}: 23 24buildPythonPackage rec { 25 pname = "aesara"; 26 version = "2.9.3"; 27 format = "pyproject"; 28 29 disabled = pythonOlder "3.8"; 30 31 src = fetchFromGitHub { 32 owner = "aesara-devs"; 33 repo = "aesara"; 34 rev = "refs/tags/rel-${version}"; 35 hash = "sha256-aO0+O7Ts9phsV4ghunNolxfAruGBbC+tHjVkmFedcCI="; 36 }; 37 38 nativeBuildInputs = [ 39 cython 40 hatch-vcs 41 hatchling 42 ]; 43 44 propagatedBuildInputs = [ 45 cons 46 etuples 47 filelock 48 logical-unification 49 minikanren 50 numpy 51 scipy 52 typing-extensions 53 ]; 54 55 nativeCheckInputs = [ 56 jax 57 jaxlib 58 numba 59 numba-scipy 60 pytestCheckHook 61 ]; 62 63 postPatch = '' 64 substituteInPlace pyproject.toml \ 65 --replace "--durations=50" "" 66 ''; 67 68 preBuild = '' 69 export HOME=$(mktemp -d) 70 ''; 71 72 pythonImportsCheck = [ 73 "aesara" 74 ]; 75 76 disabledTestPaths = [ 77 # Don't run the most compute-intense tests 78 "tests/scan/" 79 "tests/tensor/" 80 "tests/sandbox/" 81 "tests/sparse/sandbox/" 82 # JAX is not available on all platform and often broken 83 "tests/link/jax/" 84 ]; 85 86 disabledTests = [ 87 # Disable all benchmark tests 88 "test_scan_multiple_output" 89 "test_logsumexp_benchmark" 90 ]; 91 92 meta = with lib; { 93 description = "Python library to define, optimize, and efficiently evaluate mathematical expressions involving multi-dimensional arrays"; 94 homepage = "https://github.com/aesara-devs/aesara"; 95 changelog = "https://github.com/aesara-devs/aesara/releases/tag/rel-${version}"; 96 license = licenses.bsd3; 97 maintainers = with maintainers; [ Etjean ]; 98 broken = (stdenv.isLinux && stdenv.isAarch64); 99 }; 100}