docs: def flux(self, photon_energy, distance=1 * u.kpc):
          """Differential flux at a given distance from the source.
  
          Parameters
          ----------
          photon_energy : :class:`~astropy.units.Quantity` float or array
              Photon energy array.
  
          distance : :class:`~astropy.units.Quantity` float, optional
              Distance to the source. If set to 0, the intrinsic differential
              luminosity will be returned. Default is 1 kpc.
          """
  
          spec = self._spectrum(photon_energy)
  
          if distance != 0:
              distance = validate_scalar(
                  "distance", distance, physical_type="length"
              )
              spec /= 4 * np.pi * distance.to("cm") ** 2
              out_unit = "1/(s cm2 eV)"
          else:
              out_unit = "1/(s eV)"
  
          return spec.to(out_unit)