def url_builder(self, endpoint, *, root=None, params=None, url_params=None):
if root is None:<EOL><INDENT>root = self.ROOT<EOL><DEDENT>scheme, netloc, path, _, _ = urlsplit(root)<EOL>return urlunsplit((<EOL>scheme,<EOL>netloc,<EOL>urljoin(path, endpoint),<EOL>urlencode(url_params or {}),<EOL>'<STR_LIT>',<EOL>)).format(**params or {})<EOL>
Create a URL for the specified endpoint.

        Arguments:
          endpoint (:py:class:`str`): The API endpoint to access.
          root: (:py:class:`str`, optional): The root URL for the
            service API.
          params: (:py:class:`dict`, optional): The values for format
            into the created URL (defaults to ``None``).
          url_params: (:py:class:`dict`, optional): Parameters to add
            to the end of the URL (defaults to ``None``).

        Returns:
          :py:class:`str`: The resulting URL.