<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def eval(self, expression, args=None, *, timeout=-1.0, push_subscribe=False) -> _MethodRet: """ Eval request coroutine. Examples: .. code-block:: pycon <Response sync=3 rowcount=1 data=[42]> <Response sync=3 rowcount=1 data=['2.1.1-7-gd381a45b6']> :param expression: expression to execute :param args: arguments to pass to the function, that will execute your expression (list object) :param timeout: Request timeout :param push_subscribe: Subscribe to push messages :returns: :class:`asynctnt.Response` instance """

        return self._db.eval(expression, args,
                             timeout=timeout, push_subscribe=push_subscribe)