1{ lib
2, arviz
3, buildPythonPackage
4, cachetools
5, cloudpickle
6, fastprogress
7, fetchFromGitHub
8, numpy
9, pytensor
10, pythonOlder
11, scipy
12, typing-extensions
13}:
14
15buildPythonPackage rec {
16 pname = "pymc";
17 version = "5.9.1";
18 pyproject = true;
19
20 disabled = pythonOlder "3.9";
21
22 src = fetchFromGitHub {
23 owner = "pymc-devs";
24 repo = "pymc";
25 rev = "refs/tags/v${version}";
26 hash = "sha256-yY8W3B1yqj0oOkR6+nMbFgCFmTStXkePWnEYPHI8Zto=";
27 };
28
29 propagatedBuildInputs = [
30 arviz
31 cachetools
32 cloudpickle
33 fastprogress
34 numpy
35 pytensor
36 scipy
37 typing-extensions
38 ];
39
40 postPatch = ''
41 substituteInPlace setup.py \
42 --replace ', "pytest-cov"' ""
43 '';
44
45 # The test suite is computationally intensive and test failures are not
46 # indicative for package usability hence tests are disabled by default.
47 doCheck = false;
48
49 pythonImportsCheck = [
50 "pymc"
51 ];
52
53 meta = with lib; {
54 description = "Bayesian estimation, particularly using Markov chain Monte Carlo (MCMC)";
55 homepage = "https://github.com/pymc-devs/pymc3";
56 changelog = "https://github.com/pymc-devs/pymc/releases/tag/v${version}";
57 license = licenses.asl20;
58 maintainers = with maintainers; [ nidabdella ];
59 };
60}