1{
2 lib,
3 boto3,
4 botocore,
5 buildPythonPackage,
6 dateparser,
7 fetchFromGitHub,
8 matplotlib,
9 numpy,
10 pandas,
11 poetry-core,
12 prometheus-api-client,
13 pydantic,
14 requests,
15}:
16
17buildPythonPackage {
18 pname = "prometrix";
19 version = "0.1.18-unstable-2024-04-30";
20 pyproject = true;
21
22 src = fetchFromGitHub {
23 owner = "robusta-dev";
24 repo = "prometrix";
25 # https://github.com/robusta-dev/prometrix/issues/19
26 rev = "35128847d46016b88455e0a98f0eeec08d042107";
27 hash = "sha256-g8ZqgL9ETVwpKLMQS7s7A4GpSGfaFEDLOr8JBvFl2C4=";
28 };
29
30 pythonRelaxDeps = [
31 "pydantic"
32 "urllib3"
33 ];
34
35 build-system = [ poetry-core ];
36
37 dependencies = [
38 boto3
39 botocore
40 dateparser
41 matplotlib
42 numpy
43 pandas
44 prometheus-api-client
45 pydantic
46 requests
47 ];
48
49 # Fixture is missing
50 # https://github.com/robusta-dev/prometrix/issues/9
51 doCheck = false;
52
53 pythonImportsCheck = [ "prometrix" ];
54
55 meta = with lib; {
56 description = "Unified Prometheus client";
57 longDescription = ''
58 This Python package provides a unified Prometheus client that can be used
59 to connect to and query various types of Prometheus instances.
60 '';
61 homepage = "https://github.com/robusta-dev/prometrix";
62 license = licenses.mit;
63 maintainers = [ ];
64 # prometheus-api-client 0.5.5 is not working
65 # https://github.com/robusta-dev/prometrix/issues/14
66 broken = versionAtLeast prometheus-api-client.version "0.5.3";
67 };
68}