1{
2 lib,
3 blinker,
4 buildPythonPackage,
5 fetchFromGitHub,
6 flask,
7 pythonOlder,
8 setuptools,
9 webob,
10 pytestCheckHook,
11}:
12
13buildPythonPackage rec {
14 pname = "bugsnag";
15 version = "4.8.0";
16 pyproject = true;
17
18 disabled = pythonOlder "3.10";
19
20 src = fetchFromGitHub {
21 owner = "bugsnag";
22 repo = "bugsnag-python";
23 tag = "v${version}";
24 hash = "sha256-aN7/MpTdsRsAINPXOmSau4pG1+F8gmvjlx5czKpx7H8=";
25 };
26
27 postPatch = ''
28 substituteInPlace tox.ini --replace-fail \
29 "--cov=bugsnag --cov-report html --cov-append --cov-report term" ""
30 '';
31
32 build-system = [ setuptools ];
33
34 dependencies = [ webob ];
35
36 optional-dependencies = {
37 flask = [
38 blinker
39 flask
40 ];
41 };
42
43 pythonImportsCheck = [ "bugsnag" ];
44
45 nativeCheckInputs = [ pytestCheckHook ];
46
47 disabledTestPaths = [
48 # Extra dependencies
49 "tests/integrations"
50 # Flaky due to timeout
51 "tests/test_client.py::ClientTest::test_flush_waits_for_outstanding_events_before_returning"
52 # Flaky due to timeout
53 "tests/test_client.py::ClientTest::test_flush_waits_for_outstanding_sessions_before_returning"
54 # Flaky failure due to AssertionError: assert 0 == 3
55 "tests/test_client.py::ClientTest::test_aws_lambda_handler_decorator_warns_of_potential_timeout"
56 # Flaky failure due to AssertionError: assert 0 == 1
57 "tests/test_client.py::ClientTest::test_exception_hook_does_not_leave_a_breadcrumb_if_errors_are_disabled"
58 ];
59
60 __darwinAllowLocalNetworking = true;
61
62 meta = with lib; {
63 description = "Automatic error monitoring for Python applications";
64 homepage = "https://github.com/bugsnag/bugsnag-python";
65 changelog = "https://github.com/bugsnag/bugsnag-python/blob/v${version}/CHANGELOG.md";
66 license = licenses.mit;
67 maintainers = [ ];
68 };
69}