code: def eci2geodetic(
      x, y, z, t: datetime, ell: Ellipsoid = None, *, deg: bool = True
  ) -> tuple:
      """
      convert Earth Centered Internal ECI to geodetic coordinates
  
      J2000 time
  
      Parameters
      ----------
      x
          ECI x-location [meters]
      y
          ECI y-location [meters]
      z
          ECI z-location [meters]
      t : datetime.datetime, float
          UTC time
      ell : Ellipsoid, optional
          planet ellipsoid model
      deg : bool, optional
          if True, degrees. if False, radians
  
      Results
      -------
      lat
            geodetic latitude
      lon
            geodetic longitude
      alt
            altitude above ellipsoid  (meters)
  
      eci2geodetic() a.k.a. eci2lla()
      """
  
      try:
          xecef, yecef, zecef = eci2ecef(x, y, z, t)
      except NameError:
          raise ImportError("pip install numpy")
  
      return ecef2geodetic(xecef, yecef, zecef, ell, deg)
  
file_path: pymap3d/src/pymap3d/ecef.py
imports: from __future__ import annotations
  import warnings
  from datetime import datetime
  from math import pi
  from .ellipsoid import Ellipsoid
  from .mathfun import atan, atan2, cos, degrees, hypot, isclose, radians, sin, sqrt, tan
  from .utils import sanitize
label_desc: Use image node_id 7 for calling a global function with example usage: eci2geodetic(x, y, z, t, ell) and returns: ecef2geodetic