1{ lib
2, buildPythonPackage
3, dask
4, fetchFromGitHub
5, matplotlib
6, pint
7, pooch
8, pytestCheckHook
9, pythonOlder
10, regex
11, rich
12, scipy
13, setuptools
14, setuptools-scm
15, shapely
16, wheel
17, xarray
18}:
19
20buildPythonPackage rec {
21 pname = "cf-xarray";
22 version = "0.8.6";
23 pyproject = true;
24
25 disabled = pythonOlder "3.9";
26
27 src = fetchFromGitHub {
28 owner = "xarray-contrib";
29 repo = "cf-xarray";
30 rev = "refs/tags/v${version}";
31 hash = "sha256-qcoHz/yZoPVu0uBKKx4AV7MOokiuXSCaWPD/92VlRFk=";
32 };
33
34 nativeBuildInputs = [
35 setuptools
36 setuptools-scm
37 wheel
38 xarray
39 ];
40
41 propagatedBuildInputs = [
42 xarray
43 ];
44
45 passthru.optional-dependencies = {
46 all = [
47 matplotlib
48 pint
49 pooch
50 regex
51 rich
52 shapely
53 ];
54 };
55
56 nativeCheckInputs = [
57 dask
58 pytestCheckHook
59 scipy
60 ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
61
62 pythonImportsCheck = [
63 "cf_xarray"
64 ];
65
66 disabledTestPaths = [
67 # Tests require network access
68 "cf_xarray/tests/test_accessor.py"
69 "cf_xarray/tests/test_helpers.py"
70 ];
71
72 meta = with lib; {
73 description = "An accessor for xarray objects that interprets CF attributes";
74 homepage = "https://github.com/xarray-contrib/cf-xarray";
75 changelog = "https://github.com/xarray-contrib/cf-xarray/releases/tag/v${version}";
76 license = licenses.asl20;
77 maintainers = with maintainers; [ fab ];
78 };
79}