1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5
6 # build-system
7 setuptools,
8 versioneer,
9
10 # dependencies
11 arviz,
12 cachetools,
13 cloudpickle,
14 numpy,
15 pandas,
16 pytensor,
17 rich,
18 scipy,
19 threadpoolctl,
20 typing-extensions,
21}:
22
23buildPythonPackage rec {
24 pname = "pymc";
25 version = "5.22.0";
26 pyproject = true;
27
28 src = fetchFromGitHub {
29 owner = "pymc-devs";
30 repo = "pymc";
31 tag = "v${version}";
32 hash = "sha256-NQYvtt/cjssJ7Lv3RyDeBMQByKMmt1p0X9F+LqhtTV4=";
33 };
34
35 build-system = [
36 setuptools
37 versioneer
38 ];
39
40 dependencies = [
41 arviz
42 cachetools
43 cloudpickle
44 numpy
45 pandas
46 pytensor
47 rich
48 scipy
49 threadpoolctl
50 typing-extensions
51 ];
52
53 # The test suite is computationally intensive and test failures are not
54 # indicative for package usability hence tests are disabled by default.
55 doCheck = false;
56
57 pythonImportsCheck = [ "pymc" ];
58
59 meta = {
60 description = "Bayesian estimation, particularly using Markov chain Monte Carlo (MCMC)";
61 homepage = "https://github.com/pymc-devs/pymc";
62 changelog = "https://github.com/pymc-devs/pymc/releases/tag/v${version}";
63 license = lib.licenses.asl20;
64 maintainers = with lib.maintainers; [
65 nidabdella
66 ferrine
67 ];
68 };
69}