Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 buildPythonPackage, 4 deprecated, 5 fetchPypi, 6 google-api-core, 7 google-cloud-core, 8 google-cloud-testutils, 9 grpc-google-iam-v1, 10 grpc-interceptor, 11 libcst, 12 mock, 13 proto-plus, 14 protobuf, 15 pytest-asyncio, 16 pytestCheckHook, 17 pythonOlder, 18 sqlparse, 19 setuptools, 20}: 21 22buildPythonPackage rec { 23 pname = "google-cloud-spanner"; 24 version = "3.45.0"; 25 pyproject = true; 26 27 disabled = pythonOlder "3.7"; 28 29 src = fetchPypi { 30 inherit pname version; 31 hash = "sha256-MKtW6krGqnQ3hCmPgh4N5lRAGTe0DGDMegpUUoSpG0M="; 32 }; 33 34 build-system = [ setuptools ]; 35 36 dependencies = [ 37 deprecated 38 google-api-core 39 google-cloud-core 40 grpc-google-iam-v1 41 grpc-interceptor 42 proto-plus 43 protobuf 44 sqlparse 45 ] ++ google-api-core.optional-dependencies.grpc; 46 47 passthru.optional-dependencies = { 48 libcst = [ libcst ]; 49 }; 50 51 nativeCheckInputs = [ 52 google-cloud-testutils 53 mock 54 pytest-asyncio 55 pytestCheckHook 56 ]; 57 58 preCheck = '' 59 # prevent google directory from shadowing google imports 60 rm -r google 61 ''; 62 63 disabledTestPaths = [ 64 # Requires credentials 65 "tests/system/test_backup_api.py" 66 "tests/system/test_database_api.py" 67 "tests/system/test_dbapi.py" 68 "tests/system/test_instance_api.py" 69 "tests/system/test_session_api.py" 70 "tests/system/test_streaming_chunking.py" 71 "tests/system/test_table_api.py" 72 "tests/unit/spanner_dbapi/test_connect.py" 73 "tests/unit/spanner_dbapi/test_connection.py" 74 "tests/unit/spanner_dbapi/test_cursor.py" 75 ]; 76 77 pythonImportsCheck = [ 78 "google.cloud.spanner_admin_database_v1" 79 "google.cloud.spanner_admin_instance_v1" 80 "google.cloud.spanner_dbapi" 81 "google.cloud.spanner_v1" 82 ]; 83 84 meta = with lib; { 85 description = "Cloud Spanner API client library"; 86 homepage = "https://github.com/googleapis/python-spanner"; 87 changelog = "https://github.com/googleapis/python-spanner/blob/v${version}/CHANGELOG.md"; 88 license = licenses.asl20; 89 maintainers = [ ]; 90 }; 91}