code: def convert(self, df: pd.DataFrame) -> pd.DataFrame:
      # TODO temporary turn off country detection
  
      # track_metrics = get_track_metrics()
      # if (
      #     track_metrics is not None
      #     and "ip" in track_metrics
      #     and track_metrics["ip"] is not None
      #     and track_metrics["ip"] != "0.0.0.0"
      # ):
      #     country_code = self._get_country_code(track_metrics["ip"])  # TODO check that country_code is not None!
      #     msg = bundle.get("country_auto_determined").format(country_code)
      #     print(msg)
      #     self.logger.info(msg)
      #     df["country_code"] = country_code
      #     self.search_keys["country_code"] = SearchKey.COUNTRY
  
      return df
  
file_path: upgini/src/upgini/utils/ip_utils.py
imports: import logging
  from typing import Dict, List, Optional
  import pandas
  from requests import get
  from upgini.metadata import SearchKey
label_desc: Use image node_id 3 for calling the IpToCountrySearchKeyConverter obj's underlying member method code with example usage: obj.convert(df) and returns: df