1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 google-api-core,
6 google-cloud-core,
7 grpcio,
8 grpc-google-iam-v1,
9 libcst,
10 mock,
11 proto-plus,
12 protobuf,
13 pytestCheckHook,
14 pythonOlder,
15 setuptools,
16}:
17
18buildPythonPackage rec {
19 pname = "google-cloud-bigtable";
20 version = "2.24.0";
21 pyproject = true;
22
23 disabled = pythonOlder "3.7";
24
25 src = fetchPypi {
26 inherit pname version;
27 hash = "sha256-rOdfYso8UtZhnU/3rtmCEpyuUIuvd22BszMT9PnqXtQ=";
28 };
29
30 build-system = [ setuptools ];
31
32 dependencies = [
33 google-api-core
34 google-cloud-core
35 grpc-google-iam-v1
36 proto-plus
37 protobuf
38 ] ++ google-api-core.optional-dependencies.grpc;
39
40 passthru.optional-dependencies = {
41 libcst = [ libcst ];
42 };
43
44 nativeCheckInputs = [
45 grpcio
46 mock
47 pytestCheckHook
48 ];
49
50 checkPhase = ''
51 # Prevent google directory from shadowing google imports
52 rm -r google
53 '';
54
55 disabledTests = [ "policy" ];
56
57 pythonImportsCheck = [
58 "google.cloud.bigtable_admin_v2"
59 "google.cloud.bigtable_v2"
60 "google.cloud.bigtable"
61 ];
62
63 meta = with lib; {
64 description = "Google Cloud Bigtable API client library";
65 homepage = "https://github.com/googleapis/python-bigtable";
66 changelog = "https://github.com/googleapis/python-bigtable/blob/v${version}/CHANGELOG.md";
67 license = licenses.asl20;
68 maintainers = [ ];
69 };
70}