def __init__(self, **kwargs):
        """Initialization method.

        Args:
            **kwargs: Keyword arguments.

        Kwargs:
            hash_table (str): The hash table package id.
            remote (str): The remote ckan url.
            api_key (str): The ckan api key.
            ua (str): The user agent.
            force (bool): Force (default: True).
            quiet (bool): Suppress debug statements (default: False).

        Returns:
            New instance of :class:`CKAN`

        Examples:
            >>> CKAN()  #doctest: +ELLIPSIS
            <ckanutils.CKAN object at 0x...>
        """
        default_ua = environ.get(UA_ENV, DEF_USER_AGENT)
        def_remote = environ.get(REMOTE_ENV)
        def_api_key = environ.get(API_KEY_ENV)
        remote = kwargs.get('remote', def_remote)

        self.api_key = kwargs.get('api_key', def_api_key)
        self.force = kwargs.get('force', True)
        self.quiet = kwargs.get('quiet')
        self.user_agent = kwargs.get('ua', default_ua)
        self.verbose = not self.quiet
        self.hash_table = kwargs.get('hash_table', DEF_HASH_PACK)

        ckan_kwargs = {'apikey': self.api_key, 'user_agent': self.user_agent}
        attr = 'RemoteCKAN' if remote else 'LocalCKAN'
        ckan = getattr(ckanapi, attr)(remote, **ckan_kwargs)

        self.address = ckan.address
        self.package_show = ckan.action.package_show

        try:
            self.hash_table_pack = self.package_show(id=self.hash_table)
        except NotFound:
            self.hash_table_pack = None
        except ValidationError as err:
            if err.error_dict.get('resource_id') == ['Not found: Resource']:
                self.hash_table_pack = None
            else:
                raise err

        try:
            self.hash_table_id = self.hash_table_pack['resources'][0]['id']
        except (IndexError, TypeError):
            self.hash_table_id = None

        # shortcuts
        self.datastore_search = ckan.action.datastore_search
        self.datastore_create = ckan.action.datastore_create
        self.datastore_delete = ckan.action.datastore_delete
        self.datastore_upsert = ckan.action.datastore_upsert
        self.datastore_search = ckan.action.datastore_search
        self.resource_show = ckan.action.resource_show
        self.resource_create = ckan.action.resource_create
        self.package_create = ckan.action.package_create
        self.package_update = ckan.action.package_update
        self.package_privatize = ckan.action.bulk_update_private
        self.revision_show = ckan.action.revision_show
        self.organization_list = ckan.action.organization_list_for_user
        self.organization_show = ckan.action.organization_show
        self.license_list = ckan.action.license_list
        self.group_list = ckan.action.group_list
        self.user = ckan.action.get_site_user()