docs: def initialise_api(
      debug=False,
      host=None,
      key=None,
      proxy=None,
      user_agent=None,
      headers=None,
      rate_limit=True,
      rate_limit_callback=None,
      error_retry_max=None,
      error_retry_backoff=None,
      error_retry_codes=None,
  ):
      """Initialise the API."""
      config = cloudsmith_api.Configuration()
      config.debug = debug
      config.host = host if host else config.host
      config.proxy = proxy if proxy else config.proxy
      config.user_agent = user_agent
      config.headers = headers
      config.rate_limit = rate_limit
      config.rate_limit_callback = rate_limit_callback
      config.error_retry_max = error_retry_max
      config.error_retry_backoff = error_retry_backoff
      config.error_retry_codes = error_retry_codes
  
      if headers:
          if "Authorization" in config.headers:
              encoded = config.headers["Authorization"].split(" ")[1]
              decoded = base64.b64decode(encoded)
              values = decoded.decode("utf-8")
              config.username, config.password = values.split(":")
  
      set_api_key(config, key)
      return config