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