Python code for Stellar Population Inference from Spectra and SEDs
Switch branches/tags
Clone or download
Latest commit 1819576 Oct 24, 2018


Conduct principled inference of stellar population properties from photometric and/or spectroscopic data. Prospector allows you to:

  • Infer high-dimensional stellar population properties using parameteric or nonparametric SFHs (with nested or ensemble MCMC sampling)

  • Use spectra and/or photometry to constrain the linear combination of stellar population components that are present in a galaxy (i.e. non-parametric SFHs).

  • Combine photometric and spectroscopic data rigorously using a flexible spectroscopic calibration model.

  • Forward model many aspects of spectroscopic data analysis and calibration, including spectrophotometric calibration, sky emission (coming soon), and wavelength solution, thus properly incorporating uncertainties in these components in the final parameter uncertainties.

Read the documentation here.


Inference with mock broadband data, showing the change in posteriors as the number of photometric bands is increased. Demonstration of posteriro inference with increasing number of photometric bands


cd <install_dir>
git clone
cd prospector
python install

Then in Python

import prospect

Prospector is pure python. See installation for requirements. Other files in the doc/ directory explain the usage of the code, and you can read the documentation here.

See also the tutorial, the demo notebook, or the deconstructed demo for fitting photometric data with composite stellar populations.


If you use this code, please reference the doi below, and make sure to cite the dependencies as listed in installation DOI

You should also cite:

   author = {{Leja}, J. and {Johnson}, B.~D. and {Conroy}, C. and {van Dokkum}, P.~G. and {Byler}, N.},
   title = "{Deriving Physical Properties from Broadband Photometry with Prospector: Description of the Model and a Demonstration of its Accuracy Using 129 Galaxies in the Local Universe}",
   journal = {\apj},
   year = 2017,
   volume = 837,
   pages = {170},
   eprint = {1609.09073},
   doi = {10.3847/1538-4357/aa5ffe},
  adsurl = {},