class_docstr: Template object for geocoders.
class_docstr_tok: ["Template","object","for","geocoders","."]
code: def __init__(
      self,
      *,
      scheme=None,
      timeout=DEFAULT_SENTINEL,
      proxies=DEFAULT_SENTINEL,
      user_agent=None,
      ssl_context=DEFAULT_SENTINEL,
      adapter_factory=None,
  ):
      self.scheme = scheme or options.default_scheme
      if self.scheme not in ("http", "https"):
          raise ConfigurationError(
              "Supported schemes are `http` and `https`."
          )
      self.timeout = (
          timeout
          if timeout is not DEFAULT_SENTINEL
          else options.default_timeout
      )
      self.proxies = (
          proxies
          if proxies is not DEFAULT_SENTINEL
          else options.default_proxies
      )
      self.headers = {
          "User-Agent": user_agent or options.default_user_agent
      }
      self.ssl_context = (
          ssl_context
          if ssl_context is not DEFAULT_SENTINEL
          else options.default_ssl_context
      )
  
      if isinstance(self.proxies, str):
          self.proxies = {"http": self.proxies, "https": self.proxies}
  
      if adapter_factory is None:
          adapter_factory = options.default_adapter_factory
      self.adapter = adapter_factory(
          proxies=self.proxies,
          ssl_context=self.ssl_context,
      )
      if isinstance(self.adapter, BaseSyncAdapter):
          self.__run_async = False
      elif isinstance(self.adapter, BaseAsyncAdapter):
          self.__run_async = True
      else:
          raise ConfigurationError(
              "Adapter %r must extend either BaseSyncAdapter or BaseAsyncAdapter"
              % (type(self.adapter),)
          )
  
imports: import asyncio
  import functools
  import inspect
  import threading
  from geopy import compat
  from geopy.adapters import AdapterHTTPError, BaseAsyncAdapter, BaseSyncAdapter, RequestsAdapter, URLLibAdapter, get_retry_after
  from geopy.exc import ConfigurationError, GeocoderAuthenticationFailure, GeocoderInsufficientPrivileges, GeocoderQueryError, GeocoderQuotaExceeded, GeocoderRateLimited, GeocoderServiceError, GeocoderTimedOut
  from geopy.point import Point
  from geopy.util import __version__, logger
label_desc: Use image node_id 1 to create a new Geocoder object  with example: obj = Geocoder()