1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 google-api-core,
6 grpc-google-iam-v1,
7 libcst,
8 mock,
9 nix-update-script,
10 proto-plus,
11 protobuf,
12 pytest-asyncio,
13 pytestCheckHook,
14 setuptools,
15}:
16
17buildPythonPackage rec {
18 pname = "google-cloud-datacatalog";
19 version = "3.31.3";
20 pyproject = true;
21
22 src = fetchFromGitHub {
23 owner = "googleapis";
24 repo = "google-cloud-python";
25 tag = "google-cloud-build-v${version}";
26 hash = "sha256-qQ+8X6I8lt4OTgbvODsbdab2dYUk0wxWsbaVT2T651U=";
27 };
28
29 sourceRoot = "${src.name}/packages/google-cloud-datacatalog";
30
31 build-system = [ setuptools ];
32
33 dependencies = [
34 google-api-core
35 grpc-google-iam-v1
36 libcst
37 proto-plus
38 protobuf
39 ]
40 ++ google-api-core.optional-dependencies.grpc;
41
42 nativeCheckInputs = [
43 mock
44 pytest-asyncio
45 pytestCheckHook
46 ];
47
48 pythonImportsCheck = [ "google.cloud.datacatalog" ];
49
50 passthru.updateScript = nix-update-script {
51 extraArgs = [
52 "--version-regex"
53 "google-cloud-datacatalog-v([0-9.]+)"
54 ];
55 };
56
57 meta = {
58 description = "Google Cloud Data Catalog API API client library";
59 homepage = "https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-datacatalog";
60 changelog = "https://github.com/googleapis/google-cloud-python/blob/google-cloud-datacatalog-${src.tag}/packages/google-cloud-datacatalog/CHANGELOG.md";
61 license = lib.licenses.asl20;
62 maintainers = [ lib.maintainers.sarahec ];
63 };
64}