1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pytestCheckHook,
6 pythonOlder,
7
8 beautifulsoup4,
9 fiona,
10 geodatasets,
11 geopandas,
12 numpy,
13 packaging,
14 pandas,
15 platformdirs,
16 requests,
17 scikit-learn,
18 scipy,
19 setuptools-scm,
20 shapely,
21}:
22
23buildPythonPackage rec {
24 pname = "libpysal";
25 version = "4.13.0";
26 pyproject = true;
27
28 disabled = pythonOlder "3.10";
29
30 src = fetchFromGitHub {
31 owner = "pysal";
32 repo = "libpysal";
33 tag = "v${version}";
34 hash = "sha256-lUaSUNNT2alfbBOjo59Dbjc3Yrkim3ZQHdLbxdrhDFw=";
35 };
36
37 build-system = [ setuptools-scm ];
38
39 dependencies = [
40 beautifulsoup4
41 fiona
42 geopandas
43 numpy
44 packaging
45 pandas
46 platformdirs
47 requests
48 scikit-learn
49 scipy
50 shapely
51 ];
52
53 nativeCheckInputs = [
54 geodatasets
55 pytestCheckHook
56 ];
57
58 preCheck = ''
59 export HOME=$TMPDIR
60 '';
61
62 # requires network access
63 disabledTestPaths = [
64 "libpysal/graph/tests/test_summary.py"
65 "libpysal/cg/tests/test_geoJSON.py"
66 "libpysal/examples/tests/test_available.py"
67 "libpysal/graph/tests/test_base.py"
68 "libpysal/graph/tests/test_builders.py"
69 "libpysal/graph/tests/test_contiguity.py"
70 "libpysal/graph/tests/test_kernel.py"
71 "libpysal/graph/tests/test_matching.py"
72 "libpysal/graph/tests/test_plotting.py"
73 "libpysal/graph/tests/test_triangulation.py"
74 "libpysal/graph/tests/test_utils.py"
75 "libpysal/graph/tests/test_set_ops.py"
76 "libpysal/weights/tests/test_contiguity.py"
77 "libpysal/weights/tests/test_util.py"
78 ];
79
80 pythonImportsCheck = [ "libpysal" ];
81
82 meta = {
83 description = "Library of spatial analysis functions";
84 homepage = "https://pysal.org/libpysal/";
85 changelog = "https://github.com/pysal/libpysal/releases/tag/${src.tag}";
86 license = lib.licenses.bsd3;
87 teams = [ lib.teams.geospatial ];
88 };
89}