1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5
6 # build-system
7 hatch-vcs,
8 hatchling,
9
10 # dependencies
11 matplotlib,
12
13 # optional-dependencies
14 arviz,
15 ipython,
16 myst-nb,
17 pandoc,
18 sphinx,
19 sphinx-book-theme,
20 pytest,
21 scipy,
22
23 # tests
24 pytestCheckHook,
25 corner,
26}:
27
28buildPythonPackage rec {
29 pname = "corner";
30 version = "2.2.3";
31 pyproject = true;
32
33 src = fetchFromGitHub {
34 owner = "dfm";
35 repo = "corner.py";
36 tag = "v${version}";
37 hash = "sha256-gK2yylteI3VLVJ0p7NB7bR7cirCo2BvFKnYIH3kfyh4=";
38 };
39
40 build-system = [
41 hatch-vcs
42 hatchling
43 ];
44
45 dependencies = [ matplotlib ];
46
47 optional-dependencies = {
48 arviz = [ arviz ];
49 docs = [
50 arviz
51 ipython
52 myst-nb
53 pandoc
54 sphinx
55 sphinx-book-theme
56 ];
57 test = [
58 arviz
59 pytest
60 scipy
61 ];
62 };
63
64 pythonImportsCheck = [ "corner" ];
65
66 nativeCheckInputs = [ pytestCheckHook ] ++ corner.optional-dependencies.test;
67
68 # matplotlib.testing.exceptions.ImageComparisonFailure: images not close
69 disabledTests = [
70 "test_1d_fig_argument"
71 "test_arviz"
72 "test_basic"
73 "test_bins"
74 "test_bins_log"
75 "test_color"
76 "test_color_filled"
77 "test_extended_overplotting"
78 "test_hist_bin_factor"
79 "test_labels"
80 "test_levels2"
81 "test_lowNfilled"
82 "test_no_fill_contours"
83 "test_overplot"
84 "test_overplot_log"
85 "test_pandas"
86 "test_quantiles"
87 "test_range_fig_arg"
88 "test_reverse"
89 "test_reverse_overplotting"
90 "test_reverse_truths"
91 "test_smooth1"
92 "test_tight"
93 "test_title_quantiles"
94 "test_title_quantiles_default"
95 "test_title_quantiles_raises"
96 "test_titles1"
97 "test_titles2"
98 "test_top_ticks"
99 "test_truths"
100 ];
101
102 meta = {
103 description = "Make some beautiful corner plots";
104 homepage = "https://github.com/dfm/corner.py";
105 changelog = "https://github.com/dfm/corner.py/releases/tag/v${version}";
106 license = lib.licenses.bsd2;
107 maintainers = with lib.maintainers; [ GaetanLepage ];
108 };
109}