1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pytestCheckHook,
6 pythonOlder,
7
8 pystac,
9 pytest-benchmark,
10 pytest-console-scripts,
11 pytest-mock,
12 pytest-recording,
13 python-dateutil,
14 requests,
15 requests-mock,
16 setuptools,
17}:
18
19buildPythonPackage rec {
20 pname = "pystac-client";
21 version = "0.9.0";
22 pyproject = true;
23 disabled = pythonOlder "3.9";
24
25 src = fetchFromGitHub {
26 owner = "stac-utils";
27 repo = "pystac-client";
28 tag = "v${version}";
29 hash = "sha256-+DOWf1ZAwylicdSuOBNivi0Z7DxaymZF756X7fogAjc=";
30 };
31
32 build-system = [ setuptools ];
33
34 dependencies = [
35 pystac
36 python-dateutil
37 requests
38 ];
39
40 nativeCheckInputs = [
41 pytest-benchmark
42 pytestCheckHook
43 pytest-console-scripts
44 pytest-mock
45 pytest-recording
46 requests-mock
47 ];
48
49 pytestFlags = [
50 "--benchmark-disable"
51 ];
52
53 disabledTestMarks = [
54 # Tests accessing Internet
55 "vcr"
56 ];
57
58 # requires cql2
59 disabledTests = [
60 "test_filter_conversion_to_cql2_json"
61 "test_filter_conversion_to_cql2_text"
62 ];
63
64 pythonImportsCheck = [ "pystac_client" ];
65
66 meta = {
67 description = "Python client for working with STAC Catalogs and APIs";
68 homepage = "https://github.com/stac-utils/pystac-client";
69 license = lib.licenses.asl20;
70 teams = [ lib.teams.geospatial ];
71 };
72}