code: def url_builder(self, endpoint, *, root=None, params=None, url_params=None):
          
          if root is None:
              root = self.ROOT
          scheme, netloc, path, _, _ = urlsplit(root)
          return urlunsplit((
              scheme,
              netloc,
              urljoin(path, endpoint),
              urlencode(url_params or {}),
              '',
          )).format(**params or {})
docs: 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.