Package: jwst
JWST Calibration PipelineJWST requires a C compiler for dependencies and is currently limited to Python 3.9, 3.10 or 3.11.Until Python 3.12 is supported, fresh conda environments will require setting the
Python version to one of the three supported versions.Linux and MacOS platforms are tested and supported.  Windows is not currently supported.If installing on MacOS Mojave 10.14, you must install
into an environment with python 3.9. Installation will fail on python 3.10 due
to lack of a stable build for dependencyopencv-python.InstallationPlease contact theJWST Help Deskfor installation issues.The easiest way to install the latestjwstrelease into a fresh virtualenv or conda environment ispip install jwstDetailed InstallationThejwstpackage can be installed into a virtualenv or conda environment viapip.
We recommend that for each installation you start by creating a fresh
environment that only has Python installed and then install thejwstpackage and
its dependencies into that bare environment.
If using conda environments, first make sure you have a recent version of Anaconda
or Miniconda installed.
If desired, you can create multiple environments to allow for switching between different
versions of thejwstpackage (e.g. a released version versus the current development version).In all cases, the installation is generally a 3-step process:Create a conda environmentActivate that environmentInstall the desired version of thejwstpackage into that environmentDetails are given below on how to do this for different types of installations,
including tagged releases, DMS builds used in operations, and development versions.
Remember that all conda operations must be done from within a bash/zsh shell.Installing latest releasesYou can install the latest released version viapip.  From a bash/zsh shell:conda create -n <env_name> python=3.11
conda activate <env_name>
pip install jwstYou can also install a specific version:conda create -n <env_name> python=3.11
conda activate <env_name>
pip install jwst==1.9.4Installing the development version from GithubYou can install the latest development version (not as well tested) from the
Github master branch:conda create -n <env_name> python=3.11
conda activate <env_name>
pip install git+https://github.com/spacetelescope/jwstInstalling a DMS Operational BuildThere may be occasions where an exact copy of an operational DMS build is
desired (e.g. for validation testing or debugging operational issues).
We package releases for DMS builds via environment snapshots that specify the
exact versions of all packages to be installed.To install a particular DMS build, consult theSoftware vs DMS build version maptable shown below to determine the correct jwst tag. For example, to install the
version ofjwstused in DMS build 9.0, use jwst tag 1.8.2. The overall
procedure is similar to the 3-step process outlined in the previous section, but the
details of each command vary, due to the use of environment snapshot files that specify
all of the particular packages to install. Also note that different snapshot files are
used for Linux and Mac OS systems.Linux:conda create -n jwstdp-1.12.5 --file https://ssb.stsci.edu/releases/jwstdp/1.12.5/conda_python_stable-deps.txt
conda activate jwstdp-1.12.5
pip install -r https://ssb.stsci.edu/releases/jwstdp/1.12.5/reqs_stable-deps.txtMacOS:conda create -n jwstdp-1.12.5 --file https://ssb.stsci.edu/releases/jwstdp/1.12.5/conda_python_macos-stable-deps.txt
conda activate jwstdp-1.12.5
pip install -r https://ssb.stsci.edu/releases/jwstdp/1.12.5/reqs_macos-stable-deps.txtEach DMS delivery has its own installation instructions, which may be found in
the corresponding release documentation linked from this page:https://github.com/astroconda/astroconda-releases/tree/master/jwstdpThe installation procedures may change from time to time, so consulting the
documentation page for the specific version in question is the best way to get
that version installed.Installing for DevelopersIf you want to be able to work on and test the source code with thejwstpackage,
the high-level procedure to do this is to first create a conda environment using
the same procedures outlined above, but then install your personal copy of the
code overtop of the original code in that environment. Again, this should be done
in a separate conda environment from any existing environments that you may have
already installed with released versions of thejwstpackage.As usual, the first two steps are to create and activate an environment:conda create -n <env_name> python=3.11
conda activate <env_name>To install your own copy of the code into that environment, you first need to
fork and clone thejwstrepo:cd <where you want to put the repo>
git clone https://github.com/<your_github_username>/jwst.git
cd jwstNote:python setup.py installandpython setup.py developcommands do not work.Install from your local checked-out copy as an "editable" install:pip install -e .If you want to run the unit or regression tests and/or build the docs, you can make
sure those dependencies are installed too:pip install -e ".[test]"
pip install -e ".[docs]"
pip install -e ".[test,docs]"Need other useful packages in your development environment?pip install ipython jupyter matplotlib pylintCalibration References Data System (CRDS) SetupNote: As of November 10, 2022, the process of deprecating the CRDS PUB Server will start.
For details, refer to theCRDS PUB Server Freeze
and Deprecation pageCRDS is the system that manages the reference files needed to run the pipeline.
For details about CRDS, see theUser's
GuideThe JWST CRDS server is available athttps://jwst-crds.stsci.eduIt supports the automatic processing pipeline at STScI.
Inside the STScI network, the same server is used by the pipeline by default with no modifications.
To run the pipeline outside the STScI network, CRDS must be configured by setting
two environment variables:export CRDS_PATH=<locally-accessable-path>/crds_cache/jwst_ops
export CRDS_SERVER_URL=https://jwst-crds.stsci.edu<locally-accessable-path>can be any the user has permissions to use, such as$HOME.
Expect to use upwards of 200GB of disk space to cache the latest couple of contexts.To use a specific CRDS context, other than the current default, set theCRDS_CONTEXTenvironment variable:export CRDS_CONTEXT=jwst_1179.pmapDocumentationDocumentation (built daily from the Githubmasterbranch) is available at:https://jwst-pipeline.readthedocs.io/en/latest/To build the docs yourself, clone this repository and build the documentation with:pip install -e ".[docs]"
cd docs
make html
make latexpdfContributions and FeedbackWe welcome contributions and feedback on the project. Please follow thecontributing guidelinesto submit an issue or a pull request.We strive to provide a welcoming community to all of our users by abiding with
theCode of Conduct.If you have questions or concerns regarding the software, please open an issue
athttps://github.com/spacetelescope/jwst/issuesor
contact theJWST Help Desk.Software vs DMS build version mapThe table below provides information on each release of thejwstpackage
and its relationship to software builds used in the STScI JWST DMS operations
environment. TheReleasedcolumn gives the date on which thejwsttag
was released on PyPi and theOps Installcolumn gives the date on which
the build incorporating that release was installed in DMS operations.
Note that theCRDS_CONTEXTlisted is a minimum context that can be used with
that release. A release should work with any contexts between
the specified context and less than the context for the next release.jwst tagDMS buildSDP_VERCRDS_CONTEXTReleasedOps InstallNotes1.13.411852024-01-25PyPI-only release for external users1.13.3B10.1rc42023.4.011812024-01-05Final release candidate for B10.11.13.2B10.1rc32023.4.011812023-12-21Third release candidate for B10.11.13.1B10.1rc22023.4.011812023-12-19Second release candidate for B10.11.13.0B10.1rc12023.4.011792023-12-15First release candidate for B10.11.12.5B10.0.12023.3.111662023-10-192023-12-05Patch release B10.0.11.12.42023-10-12Pinning dependencies for external users1.12.3B10.02023.3.011352023-10-032023-12-05Final release candidate for B10.01.12.2B10.0rc311352023-10-02Third release candidate for B10.01.12.1B10.0rc211322023-09-26Second release candidate for B10.01.12.0B10.0rc111302023-09-18First release candidate for B10.01.11.4B9.3.12023.2.111072023-08-142023-08-24Final release for B9.3.1 patch1.11.3B9.32023.2.010972023-07-17Final release candidate for B9.31.11.2B9.3rc310972023-07-12Third release candidate for B9.31.11.1B9.3rc210942023-06-29Second release candidate for B9.31.11.0B9.3rc110942023-06-21First release candidate for B9.31.10.210772023-04-14Pinning dependencies for external users1.10.1B9.2.x2023.1.110772023-04-132023-05-23Final release candidate for B9.21.10.0B9.2rc110752023-03-31First release candidate for B9.21.9.6B9.1.22022.5.210682023-03-092023-03-15Final release candidate for B9.1.21.9.510612023-03-02First release candidate for B9.1.21.9.4B9.1.12022.5.110412023-01-272023-02-28Final release candidate for B9.1.11.9.3B9.12022.5.010302023-01-122023-02-28Final release candidate for B9.11.9.2B9.1rc22023-01-04Second release candidate for B9.1 (hotfix)1.9.1B9.1rc22023-01-03Second release candidate for B9.11.9.0B9.1rc12022-12-27First release candidate for B9.11.8.5B9.010192022-12-12Documentation patch release for B9.01.8.4B9.02022-11-16Documentation patch release for B9.01.8.3B9.02022-11-11Documentation patch release for B9.01.8.2B9.02022.4.010172022-10-192022-11-17Final release candidate for B9.01.8.1B9.0rc22022-10-17Second release candidate for B9.01.8.0B9.0rc12022-10-10First release candidate for B9.01.7.2B8.1.22022.3.109842022-09-122022-09-21Final release candidate for B8.1.21.7.1B8.1.2rc22022-09-07Second release candidate for B8.1.21.7.0B8.1.2rc12022-09-01First release candidate for B8.1.21.6.2B8.12022.3.009532022-07-192022-08-19Final release candidate for B8.11.6.1B8.1rc22022-07-15Second release candidate for B8.11.6.0B8.1rc12022-07-11First release candidate for B8.11.5.3B8.0.12022.2.109132022-06-202022-06-30Patch release B8.0.11.5.2B8.02022.2.008742022-05-202022-06-16Final release candidate for B8.01.5.1B8.0rc22022-05-17Second release candidate for B8.01.5.0B8.0rc12022-05-05First release candidate for B8.01.4.6B7.9.32022.1.208002022-03-25Final release candidate for B7.9.31.4.5B7.9.3rc22022-03-23Second release candidate for B7.9.31.4.4B7.9.3rc12022-03-16First release candidate for B7.9.31.4.3B7.9.12022.1.108002022-02-03Final B7.9.11.4.2B7.92022.1.007972022-01-20Final release candidate for B7.91.4.1B7.9rc22022-01-15Second release candidate for B7.91.4.0B7.9rc12022-01-10First release candidate for B7.9Pre-launch releases1.3.3B7.8.22021.4.007642021-10-05Same as 1.3.2, but with installation bug fix1.3.2B7.8.22021.4.007642021-09-03Final release candidate for B7.8.21.3.1B7.8.12021.3.007422021-08-09Final release candidate for B7.8.11.3.0B7.8.1rc107412021-08-02First release candidate for B7.8.11.2.3B7.82021.2.007322021-06-08Final release candidate for B7.81.2.2B7.8rc32021-06-08Third release candidate for B7.81.2.1B7.8rc22021-06-07Second release candidate for B7.81.2.0B7.8rc107232021-05-24First release candidate for B7.81.1.0B7.7.12021.1.006822021-02-26Final release candidate for B7.7.11.0.0B7.7.1rc106782021-02-22First release candidate for B7.7.10.18.3B7.72020.4.006702021-01-25Final release candidate for B7.70.18.2B7.7rc306682021-01-19Third release candidate for B7.70.18.1B7.7rc206642021-01-08Second release candidate for B7.70.18.0B7.7rc106452020-12-21First release candidate for B7.70.17.1B7.62020.3.006412020-09-15Final release candidate for B7.60.17.0B7.6rc106372020-08-28First release candidate for B7.60.16.2B7.52020.2.006192020-06-10Same as 0.16.1, but with installation bug fix0.16.1B7.52020.2.006192020-05-19Final release candidate for B7.50.16.0B7.5rc106142020-05-04First release candidate for B7.50.15.1B7.4.22020.1.005862020-03-10Final release candidate for B7.4.20.15.0B7.4.2rc105852020-02-28First release candidate for B7.4.20.14.2B7.42019.3.005702019-11-18Final release candidate for B7.40.14.1B7.4rc205682019-11-11Second release candidate for B7.40.14.0B7.4rc105632019-10-25First release candidate for B7.40.13.8B7.3.12019.2.005412019-09-05Patch for Build 7.3 released as Build 7.3.10.13.7B7.32019.1.005352019-06-21Final release candidate for Build 7.30.13.6B7.3rc405342019-06-20Fourth release candidate for Build 7.30.13.5B7.3rc305342019-06-19Third release candidate for Build 7.30.13.4B7.3rc205342019-06-18Second release candidate for Build 7.30.13.3B7.3rc105322019-06-04First release candidate for Build 7.30.13.205002019-05-14DMS test, no delivery to I&T0.13.105002019-03-08DMS test, no delivery to I&T0.13.005002019-02-15DMS test, no delivery to I&T0.12.3B7.2.105002019-01-15DMS Build 7.2.1 patch release0.12.2B7.22018_204952018-11-07Final release candidate for Build 7.20.12.1B7.2rc204952018-11-01Second release candidate for Build 7.20.12.0B7.2rc104932018-10-09First release candidate for Build 7.20.11.004822018-09-10DMS test, no delivery to I&T0.10.004772018-07-31DMS test, no delivery to I&T0.9.6B7.1.32018_104682018-06-08Final release candidate for Build 7.1.30.9.5B7.1.3rc304682018-06-06Third release candidate for Build 7.1.30.9.4B7.1.3rc204632018-05-29Second release candidate for Build 7.1.30.9.3B7.1.3rc104572018-05-11First release candidate for Build 7.1.30.9.204412018-03-28DMS test, no delivery to I&T0.9.104322018-02-16DMS test, no delivery to I&T0.9.0B7.1.204222017-12-22DMS patch release to I&T 2018-02-150.8.0B7.1.104222017-11-06DMS patch release to I&T 2018-01-170.8.0B7.12017_104222017-11-06Final release for Build 7.10.7.7B7.02016_203032016-12-13Final release for Build 7.0Unit TestsUnit tests can be run viapytest.  Within the top level of your localjwstrepo checkout:pip install -e ".[test]"
pytestNeed to parallelize your test runs over all available cores?pip install pytest-xdist
pytest -n autoRegression TestsLatest regression test results can be found here (STScI staff only):https://plwishmaster.stsci.edu:8081/job/RT/job/JWST/The test builds start at 6pm local Baltimore time Monday through Saturday onjwcalibdev.To run the regression tests on your local machine, get the test dependencies
and set the environment variable TEST_BIGDATA to our Artifactory server
(STSci staff members only):pip install -e ".[test]"
export TEST_BIGDATA=https://bytesalad.stsci.edu/artifactoryTo run all the regression tests (except the very slow ones):pytest --bigdata jwst/regtestYou can control where the test results are written with the--basetemp=<PATH>arg topytest.NOTE thatpytestwill wipe this directory clean
for each test session, so make sure it is a scratch area.If you would like to run a specific test, find its name or ID and use the-koption:pytest --bigdata jwst/regtest -k nirspecIf developers need to update the truth files in our nightly regression tests,
there are instructions in the repository wiki.https://github.com/spacetelescope/jwst/wiki/Maintaining-Regression-Tests