about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/python-modules/elastic-apm/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/elastic-apm/default.nix')
-rw-r--r--nixpkgs/pkgs/development/python-modules/elastic-apm/default.nix90
1 files changed, 90 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/elastic-apm/default.nix b/nixpkgs/pkgs/development/python-modules/elastic-apm/default.nix
new file mode 100644
index 000000000000..bf78fec5e5d3
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/elastic-apm/default.nix
@@ -0,0 +1,90 @@
+{ lib
+, asynctest
+, aiohttp
+, blinker
+, buildPythonPackage
+, certifi
+, ecs-logging
+, fetchFromGitHub
+, httpx
+, jinja2
+, jsonschema
+, Logbook
+, mock
+, pytest-asyncio
+, pytest-bdd
+, pytest-localserver
+, pytest-mock
+, pytestCheckHook
+, pythonOlder
+, sanic
+, sanic-testing
+, starlette
+, structlog
+, tornado
+, urllib3
+, webob
+}:
+
+buildPythonPackage rec {
+  pname = "elastic-apm";
+  version = "6.7.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "elastic";
+    repo = "apm-agent-python";
+    rev = "v${version}";
+    sha256 = "sha256-NyoFJ3HVxE3AdCCZCZrEk4dDiTIv9cGZYPHVre/PMO4=";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    blinker
+    certifi
+    sanic
+    starlette
+    tornado
+    urllib3
+  ];
+
+  checkInputs = [
+    asynctest
+    ecs-logging
+    jinja2
+    jsonschema
+    Logbook
+    mock
+    httpx
+    pytest-asyncio
+    pytest-bdd
+    pytest-mock
+    pytest-localserver
+    sanic-testing
+    pytestCheckHook
+    structlog
+    webob
+  ];
+
+  disabledTests = [
+    "elasticapm_client"
+  ];
+
+  disabledTestPaths = [
+    # Exclude tornado tests
+    "tests/contrib/asyncio/tornado/tornado_tests.py"
+  ];
+
+  pythonImportsCheck = [
+    "elasticapm"
+  ];
+
+  meta = with lib; {
+    description = "Python agent for the Elastic APM";
+    homepage = "https://github.com/elastic/apm-agent-python";
+    license = with licenses; [ bsd3 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}