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.27.0";
21 pyproject = true;
22
23 disabled = pythonOlder "3.7";
24
25 src = fetchPypi {
26 pname = "google_cloud_bigtable";
27 inherit version;
28 hash = "sha256-pqIZgoO9fRHkPD+Ydnqa9DeJs4mvhadhoFsI/dn1e6s=";
29 };
30
31 build-system = [ setuptools ];
32
33 dependencies = [
34 google-api-core
35 google-cloud-core
36 grpc-google-iam-v1
37 proto-plus
38 protobuf
39 ] ++ google-api-core.optional-dependencies.grpc;
40
41 optional-dependencies = {
42 libcst = [ libcst ];
43 };
44
45 nativeCheckInputs = [
46 grpcio
47 mock
48 pytestCheckHook
49 ];
50
51 checkPhase = ''
52 # Prevent google directory from shadowing google imports
53 rm -r google
54 '';
55
56 disabledTests = [ "policy" ];
57
58 pythonImportsCheck = [
59 "google.cloud.bigtable_admin_v2"
60 "google.cloud.bigtable_v2"
61 "google.cloud.bigtable"
62 ];
63
64 meta = with lib; {
65 description = "Google Cloud Bigtable API client library";
66 homepage = "https://github.com/googleapis/python-bigtable";
67 changelog = "https://github.com/googleapis/python-bigtable/blob/v${version}/CHANGELOG.md";
68 license = licenses.asl20;
69 maintainers = [ ];
70 };
71}