Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5
6 # build-system
7 hatchling,
8
9 # dependencies
10 affine,
11 dask,
12 numpy,
13 odc-geo,
14 odc-loader,
15 pandas,
16 pystac,
17 rasterio,
18 toolz,
19 xarray,
20
21 # optional-dependencies
22 botocore,
23
24 # tests
25 geopandas,
26 distributed,
27 pystac-client,
28 pytestCheckHook,
29}:
30
31buildPythonPackage rec {
32 pname = "odc-stac";
33 version = "0.4.0";
34 pyproject = true;
35
36 src = fetchFromGitHub {
37 owner = "opendatacube";
38 repo = "odc-stac";
39 tag = "v${version}";
40 hash = "sha256-Ekyavcin13B4DAxv0/XG5QTBuLE7PRospAXe40fHeX0=";
41 };
42
43 build-system = [
44 hatchling
45 ];
46
47 dependencies = [
48 affine
49 dask
50 numpy
51 odc-geo
52 odc-loader
53 pandas
54 pystac
55 rasterio
56 toolz
57 xarray
58 ];
59
60 optional-dependencies = {
61 botocore = [ botocore ];
62 };
63
64 nativeCheckInputs = [
65 geopandas
66 distributed
67 pystac-client
68 pytestCheckHook
69 ]
70 ++ optional-dependencies.botocore;
71
72 disabledTestMarks = [ "network" ];
73
74 disabledTests = [
75 # pystac href error (possible related to network)
76 "test_extract_md"
77 "test_parse_item"
78 "test_parse_item_no_proj"
79 # urllib url open error
80 "test_norm_geom"
81 "test_output_geobox"
82 ];
83
84 pythonImportsCheck = [
85 "odc.stac"
86 ];
87
88 meta = {
89 description = "Load STAC items into xarray Datasets";
90 homepage = "https://github.com/opendatacube/odc-stac/";
91 changelog = "https://github.com/opendatacube/odc-stac/tag/${src.tag}";
92 license = lib.licenses.asl20;
93 maintainers = with lib.maintainers; [ daspk04 ];
94 };
95}