def set(self, key=None, username=None, base_url=None):
        """Update the credentials of a Credentials instance instead with new
        values.

        Args:
            key (str): API key of user account. Defaults to previous value if
                not specified.
            username (str): User name of account. This parameter is optional if
                `base_url` is not specified, but defaults to the previous
                value if not set.
            base_url (str): Base URL of user account. This parameter is
                optional if `username` is specified and on CARTO's
                cloud-based account. Generally of the form
                ``https://your_user_name.carto.com/`` for cloud-based accounts.
                If on-prem or otherwise, contact your admin.

        Example:

            .. code::

                from cartoframes import Credentials
                # load credentials saved in previous session
                creds = Credentials()
                # set new API key
                creds.set(key='new_api_key')
                # save new creds to default user config directory
                creds.save()

        Note:
            If the `username` is specified but the `base_url` is not, the
            `base_url` will be updated to ``https://<username>.carto.com/``.
        """
        self.__init__(key=(key or self._key),
                      username=(username or self._username),
                      base_url=base_url)
Update the credentials of a Credentials instance instead with new
        values.

        Args:
            key (str): API key of user account. Defaults to previous value if
                not specified.
            username (str): User name of account. This parameter is optional if
                `base_url` is not specified, but defaults to the previous
                value if not set.
            base_url (str): Base URL of user account. This parameter is
                optional if `username` is specified and on CARTO's
                cloud-based account. Generally of the form
                ``https://your_user_name.carto.com/`` for cloud-based accounts.
                If on-prem or otherwise, contact your admin.

        Example:

            .. code::

                from cartoframes import Credentials
                # load credentials saved in previous session
                creds = Credentials()
                # set new API key
                creds.set(key='new_api_key')
                # save new creds to default user config directory
                creds.save()

        Note:
            If the `username` is specified but the `base_url` is not, the
            `base_url` will be updated to ``https://<username>.carto.com/``.