def squash(self, message: Optional[str]=None, author: Optional[str]=None, reset: bool=False) -> str:
    'Squash the current branch HEAD into a commit\n\n        Raises\n        ------\n        InterfaceError\n            if the client does not connect to a database\n\n        Notes\n        -----\n        The "remote" repo can live in the local database.\n\n        Parameters\n        ----------\n        message : string\n            Message for the newly created squash commit\n        author : string\n            Author of the commit\n        reset : bool\n            Perform reset after squash\n\n        Returns\n        -------\n        str\n            commit id to be reset\n\n        Examples\n        --------\n        >>> client = WOQLClient("https://127.0.0.1:6363/")\n        >>> client.connect(user="admin", key="root", team="admin", db="some_db")\n        >>> client.squash(\'This is a squash commit message!\')\n        '
    self._check_connection()
    result = requests.post(self._squash_url(), headers={'user-agent': f'terminusdb-client-python/{__version__}'}, json={'commit_info': self._generate_commit(message, author)}, auth=self._auth())
    commit_id = json.loads(_finish_response(result)).get('api:commit')
    if reset:
        self.reset(commit_id)
    return commit_id
Squash the current branch HEAD into a commit

Raises
------
InterfaceError
    if the client does not connect to a database

Notes
-----
The "remote" repo can live in the local database.

Parameters
----------
message : string
    Message for the newly created squash commit
author : string
    Author of the commit
reset : bool
    Perform reset after squash

Returns
-------
str
    commit id to be reset

Examples
--------
>>> client = WOQLClient("https://127.0.0.1:6363/")
>>> client.connect(user="admin", key="root", team="admin", db="some_db")
>>> client.squash('This is a squash commit message!')
def squash(self, message: Optional[str]=None, author: Optional[str]=None, reset: bool=False) -> str:
    'Squash the current branch HEAD into a commit\n\n        Raises\n        ------\n        InterfaceError\n            if the client does not connect to a database\n\n        Notes\n        -----\n        The "remote" repo can live in the local database.\n\n        Parameters\n        ----------\n        message : string\n            Message for the newly created squash commit\n        author : string\n            Author of the commit\n        reset : bool\n            Perform reset after squash\n\n        Returns\n        -------\n        str\n            commit id to be reset\n\n        Examples\n        --------\n        >>> client = WOQLClient("https://127.0.0.1:6363/")\n        >>> client.connect(user="admin", key="root", team="admin", db="some_db")\n        >>> client.squash(\'This is a squash commit message!\')\n        '
    self._check_connection()
    result = requests.post(self._squash_url(), headers={'user-agent': f'terminusdb-client-python/{__version__}'}, json={'commit_info': self._generate_commit(message, author)}, auth=self._auth())
    commit_id = json.loads(_finish_response(result)).get('api:commit')
    if reset:
        self.reset(commit_id)
    return commit_id