Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / python-modules / altair / default.nix
blobb7fbcb552746a75cf16c2cf468878ad51b7b4c4d
1 { lib
2 , buildPythonPackage
3 , fetchFromGitHub
4 , pythonOlder
6 # Runtime dependencies
7 , hatchling
8 , toolz
9 , numpy
10 , jsonschema
11 , typing-extensions
12 , pandas
13 , jinja2
14 , packaging
16 # Build, dev and test dependencies
17 , anywidget
18 , ipython
19 , pytestCheckHook
20 , vega-datasets
21 , sphinx
24 buildPythonPackage rec {
25   pname = "altair";
26   version = "5.1.2";
27   format = "pyproject";
28   disabled = pythonOlder "3.8";
30   src = fetchFromGitHub {
31     owner = "altair-viz";
32     repo = "altair";
33     rev = "refs/tags/v${version}";
34     hash = "sha256-30M+rt5IfD4hvK5CwaW8HfQacDBPjowff/f9o7iido0=";
35   };
37   nativeBuildInputs = [
38     hatchling
39   ];
41   propagatedBuildInputs = [
42     jinja2
43     jsonschema
44     numpy
45     packaging
46     pandas
47     toolz
48   ] ++ lib.optional (pythonOlder "3.11") typing-extensions;
50   nativeCheckInputs = [
51     anywidget
52     ipython
53     sphinx
54     vega-datasets
55     pytestCheckHook
56   ];
58   pythonImportsCheck = [ "altair" ];
60   disabledTestPaths = [
61     # Disabled because it requires internet connectivity
62     "tests/test_examples.py"
63     # TODO: Disabled because of missing altair_viewer package
64     "tests/vegalite/v5/test_api.py"
65     # avoid updating files and dependency on black
66     "tests/test_toplevel.py"
67     # require vl-convert package
68     "tests/utils/test_compiler.py"
69   ];
71   meta = with lib; {
72     description = "A declarative statistical visualization library for Python.";
73     homepage = "https://altair-viz.github.io";
74     downloadPage = "https://github.com/altair-viz/altair";
75     changelog = "https://altair-viz.github.io/releases/changes.html";
76     license = licenses.bsd3;
77     maintainers = with maintainers; [ teh vinetos ];
78   };