code: def phase_angle(ephemeris, body, t):
      
      earth = ephemeris['earth']
      sun = ephemeris['sun']
      body = ephemeris[body]
      pe = earth.at(t).observe(body)
      pe.position.au *= -1     # rotate 180 degrees to point back at Earth
      t2 = t.ts.tt_jd(t.tt - pe.light_time)
      ps = body.at(t2).observe(sun)
      return pe.separation_from(ps)
docs: Compute the phase angle of a body viewed from Earth.
  
      The ``body`` should be an integer or string that can be looked up in
      the given ``ephemeris``, which will also be asked to provide
      positions for the Earth and Sun.  The return value will be an
      :class:`~skyfield.units.Angle` object.