1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 6 # build-system 7 setuptools, 8 9 # dependencies 10 google-api-core, 11 google-cloud-logging, 12 proto-plus, 13 protobuf, 14 15 # testing 16 google-cloud-testutils, 17 mock, 18 pytest-asyncio, 19 pytestCheckHook, 20}: 21 22buildPythonPackage rec { 23 pname = "google-cloud-error-reporting"; 24 version = "1.12.0"; 25 pyproject = true; 26 27 src = fetchFromGitHub { 28 owner = "googleapis"; 29 repo = "python-error-reporting"; 30 tag = "v${version}"; 31 hash = "sha256-V97V3WbsChc93nqhCOh34O/hn8fqLMwR4/DcHmc9vdU="; 32 }; 33 34 build-system = [ setuptools ]; 35 36 pythonRelaxDeps = [ "protobuf" ]; 37 38 dependencies = [ 39 google-api-core 40 google-cloud-logging 41 proto-plus 42 protobuf 43 ] 44 ++ google-api-core.optional-dependencies.grpc; 45 46 nativeCheckInputs = [ 47 google-cloud-testutils 48 mock 49 pytest-asyncio 50 pytestCheckHook 51 ]; 52 53 disabledTests = [ 54 # Tests require credentials 55 "test_report_error_event" 56 "test_report_exception" 57 # Import is already tested 58 "test_namespace_package_compat" 59 ]; 60 61 preCheck = '' 62 # prevent google directory from shadowing google imports 63 rm -r google 64 ''; 65 66 pythonImportsCheck = [ 67 "google.cloud.error_reporting" 68 "google.cloud.errorreporting_v1beta1" 69 ]; 70 71 meta = { 72 description = "Stackdriver Error Reporting API client library"; 73 homepage = "https://github.com/googleapis/python-error-reporting"; 74 changelog = "https://github.com/googleapis/python-error-reporting/blob/${src.tag}/CHANGELOG.md"; 75 license = lib.licenses.asl20; 76 maintainers = [ lib.maintainers.sarahec ]; 77 }; 78}