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}