1{
2 lib,
3 aiohttp,
4 botocore,
5 bottle,
6 buildPythonPackage,
7 django,
8 fetchFromGitHub,
9 httpx,
10 importlib-metadata,
11 jsonpickle,
12 pymysql,
13 pytest-asyncio_0,
14 pynamodb,
15 pytestCheckHook,
16 pythonOlder,
17 requests,
18 setuptools,
19 sqlalchemy,
20 webtest,
21 wrapt,
22}:
23
24buildPythonPackage rec {
25 pname = "aws-xray-sdk";
26 version = "2.14.0";
27 pyproject = true;
28
29 disabled = pythonOlder "3.7";
30
31 src = fetchFromGitHub {
32 owner = "aws";
33 repo = "aws-xray-sdk-python";
34 tag = version;
35 hash = "sha256-rWP0yQ+Ril0UByOCWJKcL3mD7TvzK8Ddq9JlFIRBFU4=";
36 };
37
38 nativeBuildInputs = [ setuptools ];
39
40 propagatedBuildInputs = [
41 botocore
42 jsonpickle
43 requests
44 wrapt
45 ]
46 ++ lib.optionals (pythonOlder "3.8") [ importlib-metadata ];
47
48 nativeCheckInputs = [
49 aiohttp
50 bottle
51 django
52 httpx
53 pymysql
54 pynamodb
55 pytest-asyncio_0
56 pytestCheckHook
57 sqlalchemy
58 webtest
59 ];
60
61 disabledTestPaths = [
62 # This reduces the amount of dependencies
63 "tests/ext/"
64 # We don't care about benchmarks
65 "tests/test_local_sampling_benchmark.py"
66 "tests/test_patcher.py"
67 # async def functions are not natively supported.
68 "tests/test_async_recorder.py"
69 ];
70
71 pythonImportsCheck = [ "aws_xray_sdk" ];
72
73 meta = with lib; {
74 description = "AWS X-Ray SDK for the Python programming language";
75 homepage = "https://github.com/aws/aws-xray-sdk-python";
76 changelog = "https://github.com/aws/aws-xray-sdk-python/blob/${version}/CHANGELOG.rst";
77 license = licenses.asl20;
78 maintainers = [ ];
79 };
80}