1{ buildPythonPackage, lib, fetchPypi
2, pytestCheckHook, filelock, mock, pep8
3, cython
4, six, pyshp, shapely, geos, numpy
5, gdal, pillow, matplotlib, pyepsg, pykdtree, scipy, owslib, fiona
6, proj, flufl_lock
7}:
8
9buildPythonPackage rec {
10 pname = "cartopy";
11 version = "0.20.0";
12
13 src = fetchPypi {
14 inherit version;
15 pname = "Cartopy";
16 sha256 = "eae58aff26806e63cf115b2bce9477cedc4aa9f578c5e477b2c25cfa404f2b7a";
17 };
18
19 postPatch = ''
20 # https://github.com/SciTools/cartopy/issues/1880
21 substituteInPlace lib/cartopy/tests/test_crs.py \
22 --replace "test_osgb(" "dont_test_osgb(" \
23 --replace "test_epsg(" "dont_test_epsg("
24 '';
25
26 buildInputs = [
27 geos proj
28 ];
29
30 propagatedBuildInputs = [
31 # required
32 six pyshp shapely numpy
33
34 # optional
35 gdal pillow matplotlib pyepsg pykdtree scipy fiona owslib
36 ];
37
38 checkInputs = [ pytestCheckHook filelock mock pep8 flufl_lock ];
39
40 pytestFlagsArray = [
41 "--pyargs" "cartopy"
42 "-m" "'not network and not natural_earth'"
43 ];
44
45 disabledTests = [
46 "test_nightshade_image"
47 "background_img"
48 "test_gridliner_labels_bbox_style"
49 ];
50
51 nativeBuildInputs = [
52 cython
53 geos # for geos-config
54 proj
55 ];
56
57 meta = with lib; {
58 description = "Process geospatial data to create maps and perform analyses";
59 license = licenses.lgpl3Plus;
60 homepage = "https://scitools.org.uk/cartopy/docs/latest/";
61 maintainers = with maintainers; [ mredaelli ];
62 };
63}