1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5
6 # build-system
7 flit-core,
8
9 # dependencies
10 affine,
11 dask,
12 numpy,
13 odc-geo,
14 odc-loader,
15 pandas,
16 pystac,
17 rasterio,
18 toolz,
19 typing-extensions,
20 xarray,
21
22 # optional-dependencies
23 botocore,
24
25 # tests
26 geopandas,
27 distributed,
28 pystac-client,
29 pytestCheckHook,
30}:
31
32buildPythonPackage rec {
33 pname = "odc-stac";
34 version = "0.4.0";
35 pyproject = true;
36
37 src = fetchFromGitHub {
38 owner = "opendatacube";
39 repo = "odc-stac";
40 tag = "v${version}";
41 hash = "sha256-Ekyavcin13B4DAxv0/XG5QTBuLE7PRospAXe40fHeX0=";
42 };
43
44 build-system = [ flit-core ];
45
46 dependencies = [
47 affine
48 dask
49 numpy
50 odc-geo
51 odc-loader
52 pandas
53 pystac
54 rasterio
55 toolz
56 typing-extensions
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 = [ "odc.stac" ];
85
86 meta = {
87 description = "Load STAC items into xarray Datasets";
88 homepage = "https://github.com/opendatacube/odc-stac/";
89 changelog = "https://github.com/opendatacube/odc-stac/tag/${src.tag}";
90 license = lib.licenses.asl20;
91 maintainers = with lib.maintainers; [ daspk04 ];
92 };
93}