1{
2 lib,
3 stdenv,
4 buildPythonPackage,
5 fetchFromGitHub,
6 pytestCheckHook,
7 pythonOlder,
8 setuptools,
9
10 fiona,
11 packaging,
12 pandas,
13 pyproj,
14 rtree,
15 shapely,
16}:
17
18buildPythonPackage rec {
19 pname = "geopandas";
20 version = "0.14.4";
21 pyproject = true;
22
23 disabled = pythonOlder "3.9";
24
25 src = fetchFromGitHub {
26 owner = "geopandas";
27 repo = "geopandas";
28 rev = "refs/tags/v${version}";
29 hash = "sha256-FBhPcae8bnNnsfr14I1p22VhoOf9USF9DAcrAqx+zso=";
30 };
31
32 build-system = [ setuptools ];
33
34 propagatedBuildInputs = [
35 fiona
36 packaging
37 pandas
38 pyproj
39 shapely
40 ];
41
42 nativeCheckInputs = [
43 pytestCheckHook
44 rtree
45 ];
46
47 doCheck = !stdenv.isDarwin;
48
49 preCheck = ''
50 export HOME=$(mktemp -d);
51 '';
52
53 disabledTests = [
54 # Requires network access
55 "test_read_file_url"
56 ];
57
58 pytestFlagsArray = [ "geopandas" ];
59
60 pythonImportsCheck = [ "geopandas" ];
61
62 meta = with lib; {
63 description = "Python geospatial data analysis framework";
64 homepage = "https://geopandas.org";
65 changelog = "https://github.com/geopandas/geopandas/blob/v${version}/CHANGELOG.md";
66 license = licenses.bsd3;
67 maintainers = teams.geospatial.members;
68 };
69}