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}