code: def info(self, name, description, labelnames=None, labelvalues=None, **labels):
          
  
          if labels and labelnames:
              raise ValueError(
                  'Cannot have labels defined as `dict` '
                  'and collections of names and values'
              )
  
          if labelnames is None and labels:
              labelnames = labels.keys()
  
          elif labelnames and labelvalues:
              for idx, label_name in enumerate(labelnames):
                  labels[label_name] = labelvalues[idx]
  
          gauge = Gauge(
              name, description, labelnames or tuple(),
              registry=self.registry
          )
  
          if labels:
              gauge = gauge.labels(**labels)
  
          gauge.set(1)
  
          return gauge
docs: Report any information as a Prometheus metric.
          This will create a `Gauge` with the initial value of 1.
  
          The easiest way to use it is:
  
              metrics = PrometheusMetrics(app)
              metrics.info(
                  'app_info', 'Application info',
                  version='1.0', major=1, minor=0
              )
  
          If the order of the labels matters:
  
              metrics = PrometheusMetrics(app)
              metrics.info(
                  'app_info', 'Application info',
                  ('version', 'major', 'minor'),
                  ('1.0', 1, 0)
              )
  
          :param name: the name of the metric
          :param description: the description of the metric
          :param labelnames: the names of the labels
          :param labelvalues: the values of the labels
          :param labels: the names and values of the labels
          :return: the newly created `Gauge` metric