1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 gitUpdater,
6 google-api-core,
7 google-cloud-access-context-manager,
8 google-cloud-org-policy,
9 google-cloud-os-config,
10 google-cloud-testutils,
11 grpc-google-iam-v1,
12 libcst,
13 mock,
14 proto-plus,
15 protobuf,
16 pytest-asyncio,
17 pytestCheckHook,
18 setuptools,
19}:
20
21buildPythonPackage rec {
22 pname = "google-cloud-asset";
23 version = "3.31.3";
24 pyproject = true;
25
26 src = fetchFromGitHub {
27 owner = "googleapis";
28 repo = "google-cloud-python";
29 tag = "google-cloud-build-v${version}";
30 sha256 = "sha256-qQ+8X6I8lt4OTgbvODsbdab2dYUk0wxWsbaVT2T651U=";
31 };
32
33 sourceRoot = "${src.name}/packages/google-cloud-asset";
34
35 build-system = [ setuptools ];
36
37 dependencies = [
38 grpc-google-iam-v1
39 google-api-core
40 google-cloud-access-context-manager
41 google-cloud-org-policy
42 google-cloud-os-config
43 libcst
44 proto-plus
45 protobuf
46 ]
47 ++ google-api-core.optional-dependencies.grpc;
48
49 optional-dependencies = {
50 libcst = [ libcst ];
51 };
52
53 nativeCheckInputs = [
54 google-cloud-testutils
55 mock
56 pytest-asyncio
57 pytestCheckHook
58 ];
59
60 pythonImportsCheck = [
61 "google.cloud.asset"
62 "google.cloud.asset_v1"
63 "google.cloud.asset_v1p1beta1"
64 "google.cloud.asset_v1p2beta1"
65 "google.cloud.asset_v1p4beta1"
66 "google.cloud.asset_v1p5beta1"
67 ];
68
69 passthru = {
70 # python updater script sets the wrong tag
71 skipBulkUpdate = true;
72 updateScript = gitUpdater {
73 rev-prefix = "google-cloud-asset-v";
74 };
75 };
76
77 meta = {
78 description = "Python Client for Google Cloud Asset API";
79 homepage = "https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-asset";
80 changelog = "https://github.com/googleapis/google-cloud-python/blob/google-cloud-asset-${src.tag}/packages/google-cloud-asset/CHANGELOG.md";
81 license = lib.licenses.asl20;
82 maintainers = [ lib.maintainers.sarahec ];
83 };
84}