class_docstr: Geocoder using Photon geocoding service (data based on OpenStreetMap
  and service provided by Komoot on https://photon.komoot.io).
  
  Documentation at:
      https://github.com/komoot/photon
  
  Photon/Komoot geocoder aims to let you `search as you type with
  OpenStreetMap`. No API Key is needed by this platform.
  
  .. versionchanged:: 2.2
      Changed default domain from ``photon.komoot.de``
      to ``photon.komoot.io``.
class_docstr_tok: ["Geocoder","using","Photon","geocoding","service","(","data","based","on","OpenStreetMap","and","service","provided","by","Komoot","on","https",":","\/\/photon.komoot.io",")",".","Documentation","at",":","https",":","\/\/github.com\/komoot\/photon","Photon\/Komoot","geocoder","aims","to","let","you","`","search","as","you","type","with","OpenStreetMap","`",".","No","API","Key","is","needed","by","this","platform",".","..","versionchanged",":",":","2.2","Changed","default","domain","from","``","photon.komoot.de","``","to","``","photon.komoot.io","``","."]
docstr: :param str scheme:
      See :attr:`geopy.geocoders.options.default_scheme`.
  
  :param int timeout:
      See :attr:`geopy.geocoders.options.default_timeout`.
  
  :param dict proxies:
      See :attr:`geopy.geocoders.options.default_proxies`.
  
  :param str domain: Should be the localized Photon domain to
      connect to. The default is ``'photon.komoot.io'``, but you
      can change it to a domain of your own.
  
  :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`.
  
      .. versionadded:: 2.0
docstr_tok: [":","param","str","scheme",":","See",":","attr",":","`","geopy.geocoders.options.default_scheme","`",".",":","param","int","timeout",":","See",":","attr",":","`","geopy.geocoders.options.default_timeout","`",".",":","param","dict","proxies",":","See",":","attr",":","`","geopy.geocoders.options.default_proxies","`",".",":","param","str","domain",":","Should","be","the","localized","Photon","domain","to","connect","to",".","The","default","is","``","'photon.komoot.io","'","``",",","but","you","can","change","it","to","a","domain","of","your","own",".",":","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","`",".","..","versionadded",":",":","2.0"]
code: def __init__(
      self,
      *,
      scheme=None,
      timeout=DEFAULT_SENTINEL,
      proxies=DEFAULT_SENTINEL,
      domain="photon.komoot.io",
      user_agent=None,
      ssl_context=DEFAULT_SENTINEL,
      adapter_factory=None,
  ):
      """
  
      :param str scheme:
          See :attr:`geopy.geocoders.options.default_scheme`.
  
      :param int timeout:
          See :attr:`geopy.geocoders.options.default_timeout`.
  
      :param dict proxies:
          See :attr:`geopy.geocoders.options.default_proxies`.
  
      :param str domain: Should be the localized Photon domain to
          connect to. The default is ``'photon.komoot.io'``, but you
          can change it to a domain of your own.
  
      :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`.
  
          .. versionadded:: 2.0
      """
      super().__init__(
          scheme=scheme,
          timeout=timeout,
          proxies=proxies,
          user_agent=user_agent,
          ssl_context=ssl_context,
          adapter_factory=adapter_factory,
      )
      self.domain = domain.strip("/")
      self.api = "%s://%s%s" % (
          self.scheme,
          self.domain,
          self.geocode_path,
      )
      self.reverse_api = "%s://%s%s" % (
          self.scheme,
          self.domain,
          self.reverse_path,
      )
  
file_path: geopy/geopy/geocoders/photon.py
imports: import collections.abc
  from functools import partial
  from urllib.parse import urlencode
  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 Photon object from inherited base classes: Geocoder with example: obj = Photon()