def __init__(self, **kwargs):
api_key = kwargs.get('<STR_LIT>', None)<EOL>api_host = kwargs.get('<STR_LIT>', None)<EOL>api_timeout = kwargs.get('<STR_LIT>', None)<EOL>use_cache = kwargs.get('<STR_LIT>', None)<EOL>cache_backend = kwargs.get('<STR_LIT>', None)<EOL>cache_timeout = kwargs.get('<STR_LIT>', None)<EOL>no_api_key = True<EOL>if hasattr(settings, '<STR_LIT>'):<EOL><INDENT>self._api_key = api_key if api_key else settings.CACHED_HTTPBL_API_KEY<EOL>if self._api_key is not None:<EOL><INDENT>no_api_key = False<EOL><DEDENT><DEDENT>if no_api_key:<EOL><INDENT>raise ImproperlyConfigured(<EOL>'<STR_LIT>'<EOL>'<STR_LIT>'<EOL>)<EOL><DEDENT>self._last_result = None<EOL>self._api_host = api_host if api_host else settings.CACHED_HTTPBL_API_HOST<EOL>self._api_timeout = api_timeout if api_timeout else settings.CACHED_HTTPBL_API_TIMEOUT<EOL>self._use_cache = use_cache if use_cache else settings.CACHED_HTTPBL_USE_CACHE<EOL>self._cache_backend = cache_backend if cache_backend else settings.CACHED_HTTPBL_CACHE_BACKEND<EOL>self._cache_timeout = cache_timeout if cache_timeout else settings.CACHED_HTTPBL_CACHE_TIMEOUT<EOL>self._cache_version = <NUM_LIT:1><EOL>if self._use_cache and self._cache_backend is None:<EOL><INDENT>self._cache_backend = '<STR_LIT:default>'<EOL><DEDENT>if self._use_cache:<EOL><INDENT>try:<EOL><INDENT>self._cache = cache.caches[self._cache_backend]<EOL>try:<EOL><INDENT>self._cache_version = int(self._cache.get('<STR_LIT>'.format(self._api_key)))<EOL><DEDENT>except TypeError:<EOL><INDENT>self._cache.set('<STR_LIT>'.format(self._api_key), str(<NUM_LIT:1>))<EOL><DEDENT><DEDENT>except cache.InvalidCacheBackendError:<EOL><INDENT>raise ImproperlyConfigured('<STR_LIT>')<EOL><DEDENT><DEDENT>
Instantiate the CachedHTTPBL object.

:param kwargs: optional parameters
:return: