def METHOD_NAME(self, job, grouping_key=None, handler=default_handler) -> None:
    """Push metrics to the given pushgateway.
    `job` is the job label to be attached to all pushed metrics
    `grouping_key` please see the pushgateway documentation for details.
                Defaults to None
    `handler` is an optional function which can be provided to perform
            requests to the 'gateway'.
            Defaults to None, in which case an http or https request
            will be carried out by a default handler.
            If not None, the argument must be a function which accepts
            the following arguments:
            url, method, timeout, headers, and content
            May be used to implement additional functionality not
            supported by the built-in default handler (such as SSL
            client certicates, and HTTP authentication mechanisms).
            'url' is the URL for the request, the 'gateway' argument
            described earlier will form the basis of this URL.
            'method' is the HTTP method which should be used when
            carrying out the request.
            'timeout' requests not successfully completed after this
            many seconds should be aborted.  If timeout is None, then
            the handler should not set a timeout.
            'headers' is a list of ("header-name","header-value") tuples
            which must be passed to the pushgateway in the form of HTTP
            request headers.
            The function should raise an exception (e.g. IOError) on
            failure.
            'content' is the data which should be used to form the HTTP
            Message Body.
    This overwrites all metrics with the same job and grouping_key.
    This uses the PUT HTTP method.
    """
    prometheus_client.METHOD_NAME(
        gateway=self.gateway,
        job=job,
        registry=self._registry,
        grouping_key=grouping_key,
        timeout=self.timeout,
        handler=handler,
    )