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