POPPY may be installed from PyPI in the usual manner for Python packages:
% pip install poppy --upgrade
The source code is hosted in this repository on GitHub. It is possible to directly install the latest development version from git:
% git clone https://github.com/spacetelescope/poppy.git % cd poppy % pip install -e .
Users at STScI may also access POPPY through the standard SSB software distributions.
Python 3.6, or more recent. Earlier versions of Python are no longer supported.
POPPY relies upon the astropy community-developed core library for astronomy. astropy, version 1.3 or more recent, is needed.
The following are optional. The first,
pysynphot, is recommended
for most users. The other optional installs are only worth adding for speed
improvements if you are spending substantial time running calculations.
psutil enables slightly better automatic selection of numbers of processes for multiprocess calculations.
pyFFTW. The FFTW library can speed up the FFTs used in multi-plane optical simulations such as coronagraphiy or slit spectroscopy. Since direct imaging simulations use a discrete matrix FFT instead, direct imaging simulation speed is unchanged. pyFFTW is recommended if you expect to perform many coronagraphic calculations, particularly for MIRI. (Note: POPPY previously made use of the PyFFTW3 package, which is different from pyFFTW. The latter is more actively maintained and supported today, hence the switch. Note also that some users have reported intermittent stability issues with pyFFTW for reasons that are not yet clear.) At this time we recommend most users should skip installing pyFFTW while getting started with poppy.
Installing or updating pysynphot¶
The minimum needed to have stellar spectral models available for use when creating PSFs is pysynphot itself plus just one of the CDBS data files: the Castelli & Kurucz stellar atlas, file synphot3.tar.gz (18 MB). Feel free to ignore the rest of the synphot CDBS files unless you know you want a larger set of input spectra or need the reference files for other purposes.
Testing your installation of poppy¶
Poppy includes a suite of unit tests that exercise its functionality and verify outputs match expectations. If you have cloned the repository, you can optionally run this test suite to verify that your installation is working properly:
% cd poppy/tests/ % pytest ============================ test session starts ===================================== Python 3.6.5, pytest-3.6.1, py-1.5.3, pluggy-0.6.0 Running tests with Astropy version 3.0.3. ... [etc] ... ================= 147 passed, 2 skipped, 1 xfailed in 173.92 seconds ==================
Some tests may be automatically skipped depending on whether certain optional packaged are
installed, and other tests in development may be marked “expected to fail” (
as long as no tests actually fail then your installation is working as expected.