1{ lib, stdenv, buildPythonPackage, fetchFromGitHub, isPy27
2, pandas, shapely, fiona, descartes, pyproj
3, pytestCheckHook, Rtree, fetchpatch }:
4
5buildPythonPackage rec {
6 pname = "geopandas";
7 version = "0.8.1";
8 disabled = isPy27;
9
10 src = fetchFromGitHub {
11 owner = "geopandas";
12 repo = "geopandas";
13 rev = "v${version}";
14 sha256 = "0618p0s0biisxk2s0h43hkc3bs1nwjk84rxbfyd6brfvs9yx4vq7";
15 };
16
17 patches = [
18 # Fix for test test_numerical_operations: https://github.com/geopandas/geopandas/issues/1541
19 (fetchpatch {
20 url = "https://github.com/geopandas/geopandas/pull/1544/commits/6ce868a33a2f483b071089d51e178030fa4414d0.patch";
21 sha256 = "1sjgxrqgbhz5krx51hrv230ywszcdl6z8q3bj6830kfad8n8b5dq";
22 })
23 # Fix GeoJSON for Fiona>=1.8.16 (Sep. 7, 2020).
24 # https://github.com/geopandas/geopandas/issues/1606
25 # Will be included in next upstream release after 0.8.1
26 (fetchpatch {
27 url = "https://github.com/geopandas/geopandas/commit/72427d3d8c128039bfce1d54a76c0b652887b276.patch";
28 sha256 = "1726mrpddgmba0ngff73a5bsb6ywpsg63a2pdd2grp9339bgvi4a";
29 })
30 ];
31
32 propagatedBuildInputs = [
33 pandas
34 shapely
35 fiona
36 descartes
37 pyproj
38 ];
39
40 doCheck = !stdenv.isDarwin;
41 checkInputs = [ pytestCheckHook Rtree ];
42 disabledTests = [ "web" ];
43 pytestFlagsArray = [ "geopandas" ];
44
45 meta = with lib; {
46 description = "Python geospatial data analysis framework";
47 homepage = "https://geopandas.org";
48 license = licenses.bsd3;
49 maintainers = with maintainers; [ knedlsepp ];
50 };
51}