1{
2 lib,
3 stdenv,
4 buildPythonPackage,
5 fetchFromGitHub,
6 flatten-dict,
7 funcy,
8 matplotlib,
9 tabulate,
10 pytestCheckHook,
11 pytest-mock,
12 pytest-test-utils,
13 pythonOlder,
14 setuptools-scm,
15}:
16
17buildPythonPackage rec {
18 pname = "dvc-render";
19 version = "1.0.2";
20 pyproject = true;
21
22 disabled = pythonOlder "3.8";
23
24 src = fetchFromGitHub {
25 owner = "iterative";
26 repo = "dvc-render";
27 tag = version;
28 hash = "sha256-V4QVZu4PSOW9poT6YUWbgTjJpIJ8YUtGDAE4Ijgm5Ac=";
29 };
30
31 build-system = [ setuptools-scm ];
32
33 optional-dependencies = {
34 table = [
35 flatten-dict
36 tabulate
37 ];
38 markdown = [
39 tabulate
40 matplotlib
41 ];
42 };
43
44 nativeCheckInputs = [
45 funcy
46 pytestCheckHook
47 pytest-mock
48 pytest-test-utils
49 ]
50 ++ optional-dependencies.table
51 ++ optional-dependencies.markdown;
52
53 disabledTestPaths = lib.optionals stdenv.hostPlatform.isDarwin [ "tests/test_vega.py" ];
54
55 pythonImportsCheck = [ "dvc_render" ];
56
57 meta = with lib; {
58 description = "Library for rendering DVC plots";
59 homepage = "https://github.com/iterative/dvc-render";
60 changelog = "https://github.com/iterative/dvc-render/releases/tag/${version}";
61 license = licenses.asl20;
62 maintainers = with maintainers; [ fab ];
63 };
64}