class_docstr: What3Words geocoder using the V3 API.
  
  Documentation at:
      https://developer.what3words.com/public-api/docs
  
  .. versionadded:: 2.2
docstr: :param str api_key: Key provided by What3Words
      (https://accounts.what3words.com/register).
  
  :param int timeout:
      See :attr:`geopy.geocoders.options.default_timeout`.
  
  :param dict proxies:
      See :attr:`geopy.geocoders.options.default_proxies`.
  
  :param str user_agent:
      See :attr:`geopy.geocoders.options.default_user_agent`.
  
  :type ssl_context: :class:`ssl.SSLContext`
  :param ssl_context:
      See :attr:`geopy.geocoders.options.default_ssl_context`.
  
  :param callable adapter_factory:
      See :attr:`geopy.geocoders.options.default_adapter_factory`.
  
  :param str domain: base api domain
  
      .. versionadded:: 2.4
docstr_tok: [":","param","str","api_key",":","Key","provided","by","What3Words","(","https",":","\/\/accounts.what3words.com\/register",")",".",":","param","int","timeout",":","See",":","attr",":","`","geopy.geocoders.options.default_timeout","`",".",":","param","dict","proxies",":","See",":","attr",":","`","geopy.geocoders.options.default_proxies","`",".",":","param","str","user_agent",":","See",":","attr",":","`","geopy.geocoders.options.default_user_agent","`",".",":","type","ssl_context",":",":","class",":","`","ssl.SSLContext","`",":","param","ssl_context",":","See",":","attr",":","`","geopy.geocoders.options.default_ssl_context","`",".",":","param","callable","adapter_factory",":","See",":","attr",":","`","geopy.geocoders.options.default_adapter_factory","`",".",":","param","str","domain",":","base","api","domain","..","versionadded",":",":","2.4"]
code: def __init__(
      self,
      api_key,
      *,
      timeout=DEFAULT_SENTINEL,
      proxies=DEFAULT_SENTINEL,
      user_agent=None,
      ssl_context=DEFAULT_SENTINEL,
      adapter_factory=None,
      domain="api.what3words.com",
  ):
      """
  
      :param str api_key: Key provided by What3Words
          (https://accounts.what3words.com/register).
  
      :param int timeout:
          See :attr:`geopy.geocoders.options.default_timeout`.
  
      :param dict proxies:
          See :attr:`geopy.geocoders.options.default_proxies`.
  
      :param str user_agent:
          See :attr:`geopy.geocoders.options.default_user_agent`.
  
      :type ssl_context: :class:`ssl.SSLContext`
      :param ssl_context:
          See :attr:`geopy.geocoders.options.default_ssl_context`.
  
      :param callable adapter_factory:
          See :attr:`geopy.geocoders.options.default_adapter_factory`.
  
      :param str domain: base api domain
  
          .. versionadded:: 2.4
      """
      super().__init__(
          scheme="https",
          timeout=timeout,
          proxies=proxies,
          user_agent=user_agent,
          ssl_context=ssl_context,
          adapter_factory=adapter_factory,
      )
  
      self.api_key = api_key
      self.geocode_api = "%s://%s%s" % (
          self.scheme,
          domain,
          self.geocode_path,
      )
      self.reverse_api = "%s://%s%s" % (
          self.scheme,
          domain,
          self.reverse_path,
      )
  
imports: import re
  from functools import partial
  from urllib.parse import urlencode
  from geopy import exc
  from geopy.geocoders.base import DEFAULT_SENTINEL, Geocoder
  from geopy.location import Location
  from geopy.util import logger
label_desc: Use image node_id 1 to create a new What3WordsV3 object from inherited base classes: Geocoder with example: obj = What3WordsV3(api_key)