1{ lib
2, buildPythonPackage
3, fetchPypi
4, google-api-core
5, google-cloud-core
6, google-cloud-testutils
7, libcst
8, mock
9, proto-plus
10, protobuf
11, pytest-asyncio
12, pytestCheckHook
13, pythonOlder
14}:
15
16buildPythonPackage rec {
17 pname = "google-cloud-datastore";
18 version = "2.18.0";
19 format = "setuptools";
20
21 disabled = pythonOlder "3.7";
22
23 src = fetchPypi {
24 inherit pname version;
25 hash = "sha256-Y7MbZ23LJ4amUNI9Mk2PiGxOFFhq/dDP5uJgpz8SRI4=";
26 };
27
28 propagatedBuildInputs = [
29 google-api-core
30 google-cloud-core
31 proto-plus
32 protobuf
33 ] ++ google-api-core.optional-dependencies.grpc;
34
35 passthru.optional-dependencies = {
36 libcst = [
37 libcst
38 ];
39 };
40
41 nativeCheckInputs = [
42 google-cloud-testutils
43 mock
44 pytestCheckHook
45 pytest-asyncio
46 ];
47
48 preCheck = ''
49 # directory shadows imports
50 rm -r google
51 '';
52
53 disabledTestPaths = [
54 # Requires credentials
55 "tests/system/test_aggregation_query.py"
56 "tests/system/test_allocate_reserve_ids.py"
57 "tests/system/test_query.py"
58 "tests/system/test_put.py"
59 "tests/system/test_read_consistency.py"
60 "tests/system/test_transaction.py"
61 ];
62
63 pythonImportsCheck = [
64 "google.cloud.datastore"
65 "google.cloud.datastore_admin_v1"
66 "google.cloud.datastore_v1"
67 ];
68
69 meta = with lib; {
70 description = "Google Cloud Datastore API client library";
71 homepage = "https://github.com/googleapis/python-datastore";
72 changelog = "https://github.com/googleapis/python-datastore/blob/v${version}/CHANGELOG.md";
73 license = licenses.asl20;
74 maintainers = with maintainers; [ ];
75 };
76}