1{ lib 2, asynctest 3, aiohttp 4, blinker 5, buildPythonPackage 6, certifi 7, ecs-logging 8, fetchFromGitHub 9, httpx 10, jinja2 11, jsonschema 12, Logbook 13, mock 14, pytest-asyncio 15, pytest-bdd 16, pytest-localserver 17, pytest-mock 18, pytestCheckHook 19, pythonOlder 20, sanic 21, sanic-testing 22, starlette 23, structlog 24, tornado 25, urllib3 26, webob 27}: 28 29buildPythonPackage rec { 30 pname = "elastic-apm"; 31 version = "6.12.0"; 32 format = "setuptools"; 33 34 disabled = pythonOlder "3.8"; 35 36 src = fetchFromGitHub { 37 owner = "elastic"; 38 repo = "apm-agent-python"; 39 rev = "refs/tags/v${version}"; 40 hash = "sha256-tAX96aOPuwtchLk5A1ANuZI5w5H9/yX3Zj9bRSyHv90="; 41 }; 42 43 propagatedBuildInputs = [ 44 aiohttp 45 blinker 46 certifi 47 sanic 48 starlette 49 tornado 50 urllib3 51 ]; 52 53 checkInputs = [ 54 asynctest 55 ecs-logging 56 jinja2 57 jsonschema 58 Logbook 59 mock 60 httpx 61 pytest-asyncio 62 pytest-bdd 63 pytest-mock 64 pytest-localserver 65 sanic-testing 66 pytestCheckHook 67 structlog 68 webob 69 ]; 70 71 disabledTests = [ 72 "elasticapm_client" 73 ]; 74 75 disabledTestPaths = [ 76 # Exclude tornado tests 77 "tests/contrib/asyncio/tornado/tornado_tests.py" 78 ]; 79 80 pythonImportsCheck = [ 81 "elasticapm" 82 ]; 83 84 meta = with lib; { 85 description = "Python agent for the Elastic APM"; 86 homepage = "https://github.com/elastic/apm-agent-python"; 87 license = with licenses; [ bsd3 ]; 88 maintainers = with maintainers; [ fab ]; 89 }; 90}