1{ lib
2, stdenv
3, aiohttp
4, apache-beam
5, asttokens
6, blinker
7, botocore
8, bottle
9, buildPythonPackage
10, celery
11, certifi
12, chalice
13, django
14, executing
15, falcon
16, fetchFromGitHub
17, flask
18, flask-login
19, gevent
20, httpx
21, jsonschema
22, mock
23, pure-eval
24, pyramid
25, pyrsistent
26, pyspark
27, pytest-forked
28, pytest-localserver
29, pytest-watch
30, pytestCheckHook
31, pythonOlder
32, rq
33, sanic
34, sqlalchemy
35, tornado
36, trytond
37, urllib3
38, werkzeug
39}:
40
41buildPythonPackage rec {
42 pname = "sentry-sdk";
43 version = "1.11.0";
44 format = "setuptools";
45
46 disabled = pythonOlder "3.7";
47
48 src = fetchFromGitHub {
49 owner = "getsentry";
50 repo = "sentry-python";
51 rev = "refs/tags/${version}";
52 hash = "sha256-PObYXwWYQ7cC//W3c+n/qceu2ShjFqMGAaLyNflwcL4=";
53 };
54
55 propagatedBuildInputs = [
56 certifi
57 urllib3
58 ];
59
60 passthru.optional-dependencies = {
61 aiohttp = [
62 aiohttp
63 ];
64 beam = [
65 apache-beam
66 ];
67 bottle = [
68 bottle
69 ];
70 celery = [
71 celery
72 ];
73 chalice = [
74 chalice
75 ];
76 django = [
77 django
78 ];
79 falcon = [
80 falcon
81 ];
82 flask = [
83 flask
84 blinker
85 ];
86 httpx = [
87 httpx
88 ];
89 pyspark = [
90 pyspark
91 ];
92 pure_eval = [
93 asttokens
94 executing
95 pure-eval
96 ];
97 quart = [
98 # quart missing
99 blinker
100 ];
101 rq = [
102 rq
103 ];
104 sanic = [
105 sanic
106 ];
107 sqlalchemy = [
108 sqlalchemy
109 ];
110 tornado = [
111 tornado
112 ];
113 };
114
115 checkInputs = [
116 asttokens
117 executing
118 gevent
119 jsonschema
120 mock
121 pure-eval
122 pyrsistent
123 pytest-forked
124 pytest-localserver
125 pytest-watch
126 pytestCheckHook
127 ];
128
129 doCheck = !stdenv.isDarwin;
130
131 disabledTests = [
132 # Issue with the asseration
133 "test_auto_enabling_integrations_catches_import_error"
134 ];
135
136 disabledTestPaths = [
137 # Varius integration tests fail every once in a while when we
138 # upgrade depencies, so don't bother testing them.
139 "tests/integrations/"
140 ] ++ lib.optionals (stdenv.buildPlatform != "x86_64-linux") [
141 # test crashes on aarch64
142 "tests/test_transport.py"
143 ];
144
145 pythonImportsCheck = [
146 "sentry_sdk"
147 ];
148
149 meta = with lib; {
150 description = "Python SDK for Sentry.io";
151 homepage = "https://github.com/getsentry/sentry-python";
152 changelog = "https://github.com/getsentry/sentry-python/blob/${version}/CHANGELOG.md";
153 license = licenses.bsd2;
154 maintainers = with maintainers; [ fab gebner ];
155 };
156}