1{ lib
2, buildPythonPackage
3, fetchPypi
4, grpc-google-iam-v1
5, google-cloud-core
6, google-cloud-testutils
7, libcst
8, mock
9, proto-plus
10, pytestCheckHook
11, pytest-asyncio
12, sqlparse
13, pythonOlder
14}:
15
16buildPythonPackage rec {
17 pname = "google-cloud-spanner";
18 version = "3.23.0";
19 format = "setuptools";
20
21 disabled = pythonOlder "3.7";
22
23 src = fetchPypi {
24 inherit pname version;
25 hash = "sha256-1RHzpCRYU2dUxZLa+zzopHd+xfnq7eWF6HDIkVk+2NY=";
26 };
27
28 propagatedBuildInputs = [
29 google-cloud-core
30 grpc-google-iam-v1
31 libcst
32 proto-plus
33 sqlparse
34 ];
35
36 checkInputs = [
37 google-cloud-testutils
38 mock
39 pytestCheckHook
40 pytest-asyncio
41 ];
42
43 preCheck = ''
44 # prevent google directory from shadowing google imports
45 rm -r google
46 '';
47
48 disabledTestPaths = [
49 # Requires credentials
50 "tests/system/test_backup_api.py"
51 "tests/system/test_database_api.py"
52 "tests/system/test_dbapi.py"
53 "tests/system/test_instance_api.py"
54 "tests/system/test_session_api.py"
55 "tests/system/test_streaming_chunking.py"
56 "tests/system/test_table_api.py"
57 "tests/unit/spanner_dbapi/test_connect.py"
58 "tests/unit/spanner_dbapi/test_connection.py"
59 "tests/unit/spanner_dbapi/test_cursor.py"
60 ];
61
62 pythonImportsCheck = [
63 "google.cloud.spanner_admin_database_v1"
64 "google.cloud.spanner_admin_instance_v1"
65 "google.cloud.spanner_dbapi"
66 "google.cloud.spanner_v1"
67 ];
68
69 meta = with lib; {
70 description = "Cloud Spanner API client library";
71 homepage = "https://github.com/googleapis/python-spanner";
72 license = licenses.asl20;
73 maintainers = with maintainers; [ SuperSandro2000 ];
74 };
75}