at master 1.7 kB view raw
1{ 2 lib, 3 buildPythonPackage, 4 cython, 5 fetchPypi, 6 fontconfig, 7 gdal, 8 geos, 9 matplotlib, 10 numpy, 11 owslib, 12 pillow, 13 proj, 14 pyproj, 15 pyshp, 16 pytest-mpl, 17 pytestCheckHook, 18 pythonOlder, 19 scipy, 20 setuptools-scm, 21 shapely, 22}: 23 24buildPythonPackage rec { 25 pname = "cartopy"; 26 version = "0.25.0"; 27 pyproject = true; 28 29 disabled = pythonOlder "3.10"; 30 31 src = fetchPypi { 32 inherit pname version; 33 hash = "sha256-VfGjkOXz8HWyIcfZH7ECWK2XjbeGx5MOugbrRdKHU/4="; 34 }; 35 36 build-system = [ setuptools-scm ]; 37 38 nativeBuildInputs = [ 39 cython 40 geos # for geos-config 41 proj 42 ]; 43 44 buildInputs = [ 45 geos 46 proj 47 ]; 48 49 dependencies = [ 50 matplotlib 51 numpy 52 pyproj 53 pyshp 54 shapely 55 ]; 56 57 optional-dependencies = { 58 ows = [ 59 owslib 60 pillow 61 ]; 62 plotting = [ 63 gdal 64 pillow 65 scipy 66 ]; 67 }; 68 69 nativeCheckInputs = [ 70 pytest-mpl 71 pytestCheckHook 72 ] 73 ++ lib.flatten (lib.attrValues optional-dependencies); 74 75 preCheck = '' 76 export FONTCONFIG_FILE=${fontconfig.out}/etc/fonts/fonts.conf 77 export HOME=$TMPDIR 78 ''; 79 80 pytestFlags = [ 81 "--pyargs" 82 "cartopy" 83 ]; 84 85 disabledTestMarks = [ 86 "network" 87 "natural_earth" 88 ]; 89 90 disabledTests = [ 91 "test_gridliner_constrained_adjust_datalim" 92 "test_gridliner_labels_bbox_style" 93 ]; 94 95 meta = with lib; { 96 description = "Process geospatial data to create maps and perform analyses"; 97 homepage = "https://scitools.org.uk/cartopy/docs/latest/"; 98 changelog = "https://github.com/SciTools/cartopy/releases/tag/v${version}"; 99 license = licenses.lgpl3Plus; 100 maintainers = with maintainers; [ ]; 101 mainProgram = "feature_download"; 102 }; 103}