Sherpa, Python, and Astronomy
A successful co-evolution


Fit N-D data sets in the Poisson/Gaussian regime, on Linux and OS X

Build complex model expressions, including instrument response and your own Python functions

Calculate confidence levels and visualize parameter space

Choose a robust optimization method for the fit:
Levenberg-Marquardt
Nelder-Mead Simplex
Differential Evolution

Perform Bayesian analysis using the Markov Chain Monte Carlo

Use Python to create complex analysis tasks and extend the built-in functionality.

Automated Quality Assurance
Continuous Integration
Travis CI & Co.
Coverage Analysis
Coveralls & Co.
Static Code Analysis
Code Climate & Co.



UI vs API design and documentation
Some users prefer:
load_data '3c273.pi'
fit
IOError: [Errno 2] No such file or directory: '3c273.pi'
Other Users (and all Developers) prefer:
from sherpa.astro.ui.utils import Session
s = Session()
s.load_data(input)
s.fit()
...
/soft/ciao-4.8/lib/python2.7/site-packages/sherpa/utils/__init__.pyc in is_binary_file(filename)
1132 1024 bytes of the file.
1133 """
-> 1134 fd = open(filename, 'r')
1135 lines = fd.readlines(1024)
1136 fd.close()
IOError: [Errno 2] No such file or directory: '3c273.pi'
Sherpa Workshop at Grapevine AAS
http://cxc.cfa.harvard.edu/contrib/sherpa/
