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,
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 rev = "refs/tags/${version}";
35 hash = "sha256-rWP0yQ+Ril0UByOCWJKcL3mD7TvzK8Ddq9JlFIRBFU4=";
36 };
37
38 nativeBuildInputs = [ setuptools ];
39
40 propagatedBuildInputs = [
41 botocore
42 jsonpickle
43 requests
44 wrapt
45 ] ++ lib.optionals (pythonOlder "3.8") [ importlib-metadata ];
46
47 nativeCheckInputs = [
48 aiohttp
49 bottle
50 django
51 httpx
52 pymysql
53 pynamodb
54 pytest-asyncio
55 pytestCheckHook
56 sqlalchemy
57 webtest
58 ];
59
60 disabledTestPaths = [
61 # This reduces the amount of dependencies
62 "tests/ext/"
63 # We don't care about benchmarks
64 "tests/test_local_sampling_benchmark.py"
65 "tests/test_patcher.py"
66 ];
67
68 pythonImportsCheck = [ "aws_xray_sdk" ];
69
70 meta = with lib; {
71 description = "AWS X-Ray SDK for the Python programming language";
72 homepage = "https://github.com/aws/aws-xray-sdk-python";
73 changelog = "https://github.com/aws/aws-xray-sdk-python/blob/${version}/CHANGELOG.rst";
74 license = licenses.asl20;
75 maintainers = [ ];
76 };
77}