1{
2 lib,
3 buildPythonPackage,
4 click,
5 fetchPypi,
6 flask,
7 isPy27,
8 nixosTests,
9 prometheus-client,
10 py-air-control,
11 pytestCheckHook,
12}:
13
14buildPythonPackage rec {
15 pname = "py-air-control-exporter";
16 version = "0.3.1";
17 format = "setuptools";
18 disabled = isPy27;
19
20 src = fetchPypi {
21 inherit pname version;
22 sha256 = "0cwhcyyjzc6wlj7jp5h7fcj1hl03wzrz1if3sg205kh2hfrzzlqq";
23 };
24
25 propagatedBuildInputs = [
26 click
27 flask
28 prometheus-client
29 py-air-control
30 ];
31
32 nativeCheckInputs = [ pytestCheckHook ];
33
34 pythonImportsCheck = [ "py_air_control_exporter" ];
35
36 passthru.tests = {
37 inherit (nixosTests.prometheus-exporters) py-air-control;
38 };
39
40 meta = with lib; {
41 description = "Exports Air Quality Metrics to Prometheus";
42 mainProgram = "py-air-control-exporter";
43 homepage = "https://github.com/urbas/py-air-control-exporter";
44 license = licenses.mit;
45 maintainers = with maintainers; [ urbas ];
46 };
47}