<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def update_tag(self, tag_name, description=None, custom_properties=None, **kwargs):
 """update a tag by name Args: tag_name (string):
 name of tag to update description (optional[string]):
 a description custom_properties (optional[dict]):
 dictionary of custom properties """

        data = {'description': description or '',
                'customProperties': custom_properties or {}}
        resp = self._put(self._u(self._TAG_ENDPOINT_SUFFIX, tag_name),
                         data=data, **kwargs)
        resp.raise_for_status()
        return resp.json()