Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / elastic-apm / default.nix
blob25ef39efea06496cc7077b090b8bae318c63f976
2   lib,
3   stdenv,
4   aiohttp,
5   blinker,
6   buildPythonPackage,
7   certifi,
8   ecs-logging,
9   fetchFromGitHub,
10   httpx,
11   jinja2,
12   jsonschema,
13   logbook,
14   mock,
15   pytest-asyncio,
16   pytest-bdd,
17   pytest-localserver,
18   pytest-mock,
19   pytest-random-order,
20   pytestCheckHook,
21   pythonOlder,
22   pythonRelaxDepsHook,
23   sanic,
24   sanic-testing,
25   setuptools,
26   starlette,
27   structlog,
28   tornado,
29   urllib3,
30   webob,
31   wrapt,
34 buildPythonPackage rec {
35   pname = "elastic-apm";
36   version = "6.22.0";
37   pyproject = true;
39   disabled = pythonOlder "3.8";
41   src = fetchFromGitHub {
42     owner = "elastic";
43     repo = "apm-agent-python";
44     rev = "refs/tags/v${version}";
45     hash = "sha256-VuVx+QUiV4M/ebyv2uF/YZwfvcaPDJAEi55fXfoIttU=";
46   };
48   pythonRelaxDeps = [ "wrapt" ];
50   build-system = [ setuptools ];
52   nativeBuildInputs = [ pythonRelaxDepsHook ];
54   dependencies = [
55     aiohttp
56     blinker
57     certifi
58     sanic
59     starlette
60     tornado
61     urllib3
62     wrapt
63   ];
65   nativeCheckInputs = [
66     ecs-logging
67     httpx
68     jinja2
69     jsonschema
70     logbook
71     mock
72     pytest-asyncio
73     pytest-bdd
74     pytest-localserver
75     pytest-mock
76     pytest-random-order
77     pytestCheckHook
78     sanic-testing
79     structlog
80     webob
81   ];
83   disabledTests = [ "elasticapm_client" ];
85   disabledTestPaths =
86     [
87       # Exclude tornado tests
88       "tests/contrib/asyncio/tornado/tornado_tests.py"
89     ]
90     ++ lib.optionals stdenv.isDarwin [
91       # Flaky tests on Darwin
92       "tests/utils/threading_tests.py"
93     ];
95   pythonImportsCheck = [ "elasticapm" ];
97   meta = with lib; {
98     description = "Python agent for the Elastic APM";
99     homepage = "https://github.com/elastic/apm-agent-python";
100     changelog = "https://github.com/elastic/apm-agent-python/releases/tag/v${version}";
101     license = with licenses; [ bsd3 ];
102     maintainers = with maintainers; [ fab ];
103     mainProgram = "elasticapm-run";
104   };