'Get real-time events from the server. Similar to the ``docker events``
command.
Args:
since (UTC datetime or int): Get events from this point
until (UTC datetime or int): Get events until this point
filters (dict): Filter the events by event time, container or image
decode (bool): If set to true, stream will be decoded into dicts on
the fly. False by default.
Returns:
(generator): A blocking generator you can iterate over to retrieve
events as they happen.
Raises:
:py:class:`docker.errors.APIError`
If the server returns an error.
Example:
>>> for event in client.events()
...   print event
{u\'from\': u\'image/with:tag\',
u\'id\': u\'container-id\',
u\'status\': u\'start\',
u\'time\': 1423339459}'

def events(self, since=None, until=None, filters=None, decode=None):

    if isinstance(since, datetime):
        since = utils.datetime_to_timestamp(since)
    if isinstance(until, datetime):
        until = utils.datetime_to_timestamp(until)
    if filters:
        filters = utils.convert_filters(filters)
    params = {'since': since, 'until': until, 'filters': filters}
    url = self._url('/events')
    return self._stream_helper(self._get(url, params=params, stream=True, timeout=None), decode=decode)
