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}