Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 google-api-core,
6 google-cloud-access-context-manager,
7 google-cloud-org-policy,
8 google-cloud-os-config,
9 google-cloud-testutils,
10 grpc-google-iam-v1,
11 libcst,
12 mock,
13 proto-plus,
14 protobuf,
15 pytest-asyncio,
16 pytestCheckHook,
17 setuptools,
18 nix-update-script,
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.updateScript = nix-update-script {
70 extraArgs = [
71 "--version-regex"
72 "google-cloud-asset-v([0-9.]+)"
73 ];
74 };
75
76 meta = {
77 description = "Python Client for Google Cloud Asset API";
78 homepage = "https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-asset";
79 changelog = "https://github.com/googleapis/google-cloud-python/blob/google-cloud-asset-${src.tag}/packages/google-cloud-asset/CHANGELOG.md";
80 license = lib.licenses.asl20;
81 maintainers = [ lib.maintainers.sarahec ];
82 };
83}