def get_commit_history(self, max_history: int=500) -> list:
    'Get the whole commit history.\n        Commit history - Commit id, author of the commit, commit message and the commit time, in the current branch from the current commit, ordered backwards in time, will be returned in a dictionary in the follow format:\n        {"commit_id":\n        {"author": "commit_author",\n        "message": "commit_message",\n        "timestamp: <datetime object of the timestamp>" }\n        }\n\n        Parameters\n        ----------\n        max_history: int, optional\n            maximum number of commit that would return, counting backwards from your current commit. Default is set to 500. It need to be nop-negitive, if input is 0 it will still give the last commit.\n\n        Example\n        -------\n        >>> from terminusdb_client import WOQLClient\n        >>> client = WOQLClient("https://127.0.0.1:6363"\n        >>> client.connect(db="bank_balance_example")\n        >>> client.get_commit_history()\n        [{\'commit\': \'s90wike9v5xibmrb661emxjs8k7ynwc\', \'author\': \'admin\', \'message\': \'Adding Jane\', \'timestamp\': datetime.da\n        tetime(2020, 9, 3, 15, 29, 34)}, {\'commit\': \'1qhge8qlodajx93ovj67kvkrkxsw3pg\', \'author\': \'example@example.com\', \'m\n        essage\': \'Adding Jim\', \'timestamp\': datetime.datetime(2020, 9, 3, 15, 29, 33)}, {\'commit\': \'rciy1rfu5foj67ch00ow6f6n\n        njjxe3i\', \'author\': \'example@example.com\', \'message\': \'Update mike\', \'timestamp\': datetime.datetime(2020, 9, 3, 15,\n         29, 33)}, {\'commit\': \'n4d86u8juzx852r2ekrega5hl838ovh\', \'author\': \'example@example.com\', \'message\': \'Add mike\', \'\n        timestamp\': datetime.datetime(2020, 9, 3, 15, 29, 33)}, {\'commit\': \'1vk2i8k8xce26p9jpi4zmq1h5vdqyuj\', \'author\': \'gav\n        example@example.com\', \'message\': \'Label for balance was wrong\', \'timestamp\': datetime.datetime(2020, 9, 3, 15, 29, 33)\n        }, {\'commit\': \'9si4na9zv2qol9b189y92fia7ac3hbg\', \'author\': \'example@example.com\', \'message\': \'Adding bank account\n        object to schema\', \'timestamp\': datetime.datetime(2020, 9, 3, 15, 29, 33)}, {\'commit\': \'9egc4h0m36l5rbq1alr1fki6jbfu\n        kuv\', \'author\': \'TerminusDB\', \'message\': \'internal system operation\', \'timstamp\': datetime.datetime(2020, 9, 3, 15,\n         29, 33)}]\n\n        Returns\n        -------\n        list\n        '
    if (max_history < 0):
        raise ValueError('max_history needs to be non-negative.')
    if (max_history > 1):
        limit_history = (max_history - 1)
    else:
        limit_history = 1
    woql_query = WOQLQuery().using('_commits').limit(limit_history).triple('v:branch', 'name', WOQLQuery().string(self.branch)).triple('v:branch', 'head', 'v:commit').path('v:commit', 'parent*', 'v:target_commit').triple('v:target_commit', 'identifier', 'v:cid').triple('v:target_commit', 'author', 'v:author').triple('v:target_commit', 'message', 'v:message').triple('v:target_commit', 'timestamp', 'v:timestamp')
    result = self.query(woql_query).get('bindings')
    if (not result):
        return result
    else:
        result_list = []
        for result_item in result:
            result_list.append({'commit': result_item['cid']['@value'], 'author': result_item['author']['@value'], 'message': result_item['message']['@value'], 'timestamp': datetime.fromtimestamp(int(result_item['timestamp']['@value']))})
        return result_list
Get the whole commit history.
Commit history - Commit id, author of the commit, commit message and the commit time, in the current branch from the current commit, ordered backwards in time, will be returned in a dictionary in the follow format:
{"commit_id":
{"author": "commit_author",
"message": "commit_message",
"timestamp: <datetime object of the timestamp>" }
}

Parameters
----------
max_history: int, optional
    maximum number of commit that would return, counting backwards from your current commit. Default is set to 500. It need to be nop-negitive, if input is 0 it will still give the last commit.

Example
-------
>>> from terminusdb_client import WOQLClient
>>> client = WOQLClient("https://127.0.0.1:6363"
>>> client.connect(db="bank_balance_example")
>>> client.get_commit_history()
[{'commit': 's90wike9v5xibmrb661emxjs8k7ynwc', 'author': 'admin', 'message': 'Adding Jane', 'timestamp': datetime.da
tetime(2020, 9, 3, 15, 29, 34)}, {'commit': '1qhge8qlodajx93ovj67kvkrkxsw3pg', 'author': 'example@example.com', 'm
essage': 'Adding Jim', 'timestamp': datetime.datetime(2020, 9, 3, 15, 29, 33)}, {'commit': 'rciy1rfu5foj67ch00ow6f6n
njjxe3i', 'author': 'example@example.com', 'message': 'Update mike', 'timestamp': datetime.datetime(2020, 9, 3, 15,
 29, 33)}, {'commit': 'n4d86u8juzx852r2ekrega5hl838ovh', 'author': 'example@example.com', 'message': 'Add mike', '
timestamp': datetime.datetime(2020, 9, 3, 15, 29, 33)}, {'commit': '1vk2i8k8xce26p9jpi4zmq1h5vdqyuj', 'author': 'gav
example@example.com', 'message': 'Label for balance was wrong', 'timestamp': datetime.datetime(2020, 9, 3, 15, 29, 33)
}, {'commit': '9si4na9zv2qol9b189y92fia7ac3hbg', 'author': 'example@example.com', 'message': 'Adding bank account
object to schema', 'timestamp': datetime.datetime(2020, 9, 3, 15, 29, 33)}, {'commit': '9egc4h0m36l5rbq1alr1fki6jbfu
kuv', 'author': 'TerminusDB', 'message': 'internal system operation', 'timstamp': datetime.datetime(2020, 9, 3, 15,
 29, 33)}]

Returns
-------
list
def get_commit_history(self, max_history: int=500) -> list:
    'Get the whole commit history.\n        Commit history - Commit id, author of the commit, commit message and the commit time, in the current branch from the current commit, ordered backwards in time, will be returned in a dictionary in the follow format:\n        {"commit_id":\n        {"author": "commit_author",\n        "message": "commit_message",\n        "timestamp: <datetime object of the timestamp>" }\n        }\n\n        Parameters\n        ----------\n        max_history: int, optional\n            maximum number of commit that would return, counting backwards from your current commit. Default is set to 500. It need to be nop-negitive, if input is 0 it will still give the last commit.\n\n        Example\n        -------\n        >>> from terminusdb_client import WOQLClient\n        >>> client = WOQLClient("https://127.0.0.1:6363"\n        >>> client.connect(db="bank_balance_example")\n        >>> client.get_commit_history()\n        [{\'commit\': \'s90wike9v5xibmrb661emxjs8k7ynwc\', \'author\': \'admin\', \'message\': \'Adding Jane\', \'timestamp\': datetime.da\n        tetime(2020, 9, 3, 15, 29, 34)}, {\'commit\': \'1qhge8qlodajx93ovj67kvkrkxsw3pg\', \'author\': \'example@example.com\', \'m\n        essage\': \'Adding Jim\', \'timestamp\': datetime.datetime(2020, 9, 3, 15, 29, 33)}, {\'commit\': \'rciy1rfu5foj67ch00ow6f6n\n        njjxe3i\', \'author\': \'example@example.com\', \'message\': \'Update mike\', \'timestamp\': datetime.datetime(2020, 9, 3, 15,\n         29, 33)}, {\'commit\': \'n4d86u8juzx852r2ekrega5hl838ovh\', \'author\': \'example@example.com\', \'message\': \'Add mike\', \'\n        timestamp\': datetime.datetime(2020, 9, 3, 15, 29, 33)}, {\'commit\': \'1vk2i8k8xce26p9jpi4zmq1h5vdqyuj\', \'author\': \'gav\n        example@example.com\', \'message\': \'Label for balance was wrong\', \'timestamp\': datetime.datetime(2020, 9, 3, 15, 29, 33)\n        }, {\'commit\': \'9si4na9zv2qol9b189y92fia7ac3hbg\', \'author\': \'example@example.com\', \'message\': \'Adding bank account\n        object to schema\', \'timestamp\': datetime.datetime(2020, 9, 3, 15, 29, 33)}, {\'commit\': \'9egc4h0m36l5rbq1alr1fki6jbfu\n        kuv\', \'author\': \'TerminusDB\', \'message\': \'internal system operation\', \'timstamp\': datetime.datetime(2020, 9, 3, 15,\n         29, 33)}]\n\n        Returns\n        -------\n        list\n        '
    if (max_history < 0):
        raise ValueError('max_history needs to be non-negative.')
    if (max_history > 1):
        limit_history = (max_history - 1)
    else:
        limit_history = 1
    woql_query = WOQLQuery().using('_commits').limit(limit_history).triple('v:branch', 'name', WOQLQuery().string(self.branch)).triple('v:branch', 'head', 'v:commit').path('v:commit', 'parent*', 'v:target_commit').triple('v:target_commit', 'identifier', 'v:cid').triple('v:target_commit', 'author', 'v:author').triple('v:target_commit', 'message', 'v:message').triple('v:target_commit', 'timestamp', 'v:timestamp')
    result = self.query(woql_query).get('bindings')
    if (not result):
        return result
    else:
        result_list = []
        for result_item in result:
            result_list.append({'commit': result_item['cid']['@value'], 'author': result_item['author']['@value'], 'message': result_item['message']['@value'], 'timestamp': datetime.fromtimestamp(int(result_item['timestamp']['@value']))})
        return result_list