Source code for aiopromql.utils

[docs] def make_label_string(negate_keys=None, **labels) -> str: """ Return PromQL label selector string from provided labels. negate_keys: iterable of keys whose match should be negated (using !=). labels: key=value pairs for labels. """ negate_keys = set(negate_keys or []) # Filter out None values filtered = {k: v for k, v in labels.items() if v is not None} if not filtered: return "" parts = [] for k, v in filtered.items(): op = "!=" if k in negate_keys else "=" parts.append(f'{k}{op}"{v}"') return "{" + ",".join(parts) + "}"