1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
{
lib,
stdenv,
buildPythonPackage,
arviz,
fetchFromGitHub,
# build-system
flit-core,
# dependencies
arviz-base,
arviz-stats,
# optional-dependencies
# bokeh
bokeh,
# doc
h5netcdf,
jupyter-sphinx,
myst-nb,
myst-parser,
numpydoc,
plotly,
sphinx,
sphinx-book-theme,
sphinx-copybutton,
sphinx-design,
# matplotlib
matplotlib,
# plotly
webcolors,
# test
hypothesis,
kaleido,
pytest,
pytest-cov,
# tests
pytestCheckHook,
}:
buildPythonPackage (finalAttrs: {
pname = "arviz-plots";
inherit (arviz) version;
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "arviz-devs";
repo = "arviz-plots";
tag = "v${finalAttrs.version}";
hash = "sha256-FHhF/spTt1KPVG45Dtdkf/C41VbOU+CXUSoeCfOWR50=";
};
build-system = [
flit-core
];
dependencies = [
arviz-base
arviz-stats
]
# Otherwise, import fails with "ModuleNotFoundError: No module named 'xarray_einstats'"
++ arviz-stats.optional-dependencies.xarray;
optional-dependencies = {
bokeh = [
bokeh
];
doc = [
h5netcdf
jupyter-sphinx
myst-nb
myst-parser
numpydoc
plotly
sphinx
sphinx-book-theme
sphinx-copybutton
sphinx-design
];
matplotlib = [
matplotlib
];
plotly = [
plotly
webcolors
];
test = [
h5netcdf
hypothesis
kaleido
pytest
pytest-cov
];
};
pythonImportsCheck = [ "arviz_plots" ];
env = lib.optionalAttrs stdenv.hostPlatform.isDarwin {
# Prevents 'Fatal Python error: Aborted' on darwin during checkPhase
MPLBACKEND = "Agg";
};
nativeCheckInputs = [
bokeh
h5netcdf
hypothesis
matplotlib
plotly
pytestCheckHook
webcolors
];
disabledTests = [
# flaky, timeout
"test_plot_trace_dist"
];
meta = {
description = "ArviZ modular plotting";
homepage = "https://github.com/arviz-devs/arviz-plots";
changelog = "https://github.com/arviz-devs/arviz-plots/blob/${finalAttrs.src.tag}/CHANGELOG.md";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ GaetanLepage ];
};
})
|