1{
2 buildPythonPackage,
3 flask,
4 hatchling,
5 opentelemetry-api,
6 opentelemetry-instrumentation,
7 opentelemetry-instrumentation-wsgi,
8 opentelemetry-semantic-conventions,
9 opentelemetry-test-utils,
10 opentelemetry-util-http,
11 packaging,
12 pytestCheckHook,
13 pythonOlder,
14}:
15
16buildPythonPackage {
17 inherit (opentelemetry-instrumentation) version src;
18 pname = "opentelemetry-instrumentation-flask";
19 pyproject = true;
20
21 disabled = pythonOlder "3.8";
22
23 sourceRoot = "${opentelemetry-instrumentation.src.name}/instrumentation/opentelemetry-instrumentation-flask";
24
25 build-system = [ hatchling ];
26
27 dependencies = [
28 flask
29 opentelemetry-api
30 opentelemetry-instrumentation
31 opentelemetry-instrumentation-wsgi
32 opentelemetry-semantic-conventions
33 opentelemetry-util-http
34 packaging
35 ];
36
37 nativeCheckInputs = [
38 opentelemetry-test-utils
39 pytestCheckHook
40 ];
41
42 pythonImportsCheck = [ "opentelemetry.instrumentation.flask" ];
43
44 meta = opentelemetry-instrumentation.meta // {
45 homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/instrumentation/opentelemetry-instrumentation-flask";
46 description = "Flask Middleware for OpenTelemetry based on the WSGI middleware";
47 };
48}