spacetelescope / jwst
Python library for science observations from the James Webb Space Telescope
AI Architecture Analysis
This repository is indexed by RepoMind. By analyzing spacetelescope/jwst in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.
Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.
Repository Overview (README excerpt)
Crawler viewJames Webb Space Telescope Calibration Pipeline This package ( ) processes uncalibrated data from both imagers and spectrographs onboard the James Webb Space Telescope (JWST), an orbiting infrared observatory stationed at Earth-Sun L 2 . The pipeline performs a series of calibration steps that result in standard data products usable for science. Detailed explanations of specific calibration stages, reference files, and pipeline builds can be found on the ReadTheDocs pages and JDox. > [!NOTE] > If you have trouble installing this package, have encountered a bug while running the pipeline, or wish to request a new feature, > please open an issue on GitHub or contact the JWST Help Desk. • Quick Start • 1. Install the Pipeline • Option: Build Pipeline Directly from Source Code • Option: Install Exact Operational Environment • 2. Set up the Calibration Reference Data System (CRDS) • 3. Run the Pipeline • Code Contributions • DMS Operational Build Versions Quick Start • Install the Pipeline > [!IMPORTANT] > The JWST calibration pipeline currently supports Linux and macOS. > Native Windows builds are **not** currently supported; use WSL instead. We recommend using an isolated Python environment to install . Python "environments" are isolated Python installations, confined to a single directory, where you can install packages, dependencies, and tools without cluttering your system Python libraries. You can manage environments with / , , , etc. These instructions assume you are creating Conda environments with the command (see Miniforge for installation instructions); to use instead, simply replace with in the following commands. First, create an empty environment with Python installed: Then, **activate** that environment (necessary to be able to access this isolated Python installation): Finally, install into the environment: Without a specified version, defaults to the latest released version that supports your environment. To install a specific version of , explicitly set that version in your command: To install a different version of , simply create a new environment for that version: Option: Build Pipeline Directly from Source Code > [!IMPORTANT] > You need a C compiler to build the JWST calibration pipeline (and dependencies) from source. To install the latest unreleased (and unstable) development version directly from the source code on GitHub: Option: Install Exact Operational Environment There may be occasions where you need to replicate the exact environment used for canonical calibration operations by STScI (e.g. for validation testing or debugging issues). We package releases for operations as environment snapshots that specify exact versions for both the pipeline and all dependencies. See the DMS Operational Build Versions table for the version of the pipeline corresponding to each operational build. For example, use for **DMS build 11.2**. Also note that Linux and macOS systems require different snapshot files: > [!NOTE] > Starting with , the JWST pipeline uses to package environments and deliver releases. If you need a version of prior to , use a slightly different procedure: > • Set up the Calibration Reference Data System (CRDS) Before running the pipeline, you must first set up your local machine to retrieve files from the Calibration Reference Data System (CRDS) CRDS provides calibration reference files for several telescopes, including JWST. Set and to run the pipeline with access to reference files from CRDS: > [!NOTE] > The CRDS PUB Server ( ) was decommissioned in March 2023. > To use historical files from the PUB server, contact the JWST Help Desk. The pipeline will automatically download individual reference files and cache them in the directory. **Expect to use 50 gigabytes (or more) of disk space for reference files**, depending on the instrument modes in use. > [!TIP] > Users within the STScI network do not need to set (it defaults to shared network storage). To use a specific CRDS context other than that automatically associated with a given pipeline version, explicitly set the environment variable: For more information, see the docs page on JWST CRDS reference files. • Run the Pipeline Once installed, the pipeline allows users to run and configure calibration themselves for custom processing of JWST data, either from the command line with or from Python with pipeline and step functions and classes in the package (see this curated set of Jupyter notebooks for example usage). Additionally, the package provides JWST datamodel classes, the recommended method for reading and writing JWST data files in Python. Code Contributions is an open source package written in Python. The source code is available on GitHub. New contributions and contributors are very welcome! Please read , the public API definition, and the public API deprecation policy We strive to provide a welcoming community by abiding with our . See for instructions on automated testing. DMS Operational Build Versions The table below provides information on each release of the package and its relationship to software builds used in STScI JWST DMS operations. Each tag was released on PyPI on the date given in , and then subsequently installed into operations on the date given in . | jwst tag | DMS build | SDP_VER | CRDS_CONTEXT | Released | Ops Install | Notes | |---------------------|-----------|----------|--------------|------------|-------------|-----------------------------------------------| | 1.20.2 | B12.1.1 | 2025.4.1 | 1464 | 2025-10-31 | | Patch release for B12.1.1 | | 1.20.1 | B12.1 | 2025.4.0 | 1464 | 2025-10-20 | | Patch release for B12.1 | | 1.20.0 | B12.1 | 2025.4.0 | 1462 | 2025-10-15 | | First release candidate for B12.1 | | 1.19.2 | B12.0.2 | 2025.3.0 | 1408 | 2025-09-11 | 2025-10-06 | Patch release for B12.0.2 | | 1.19.1 | B12.0.1 | 2025.3.0 | 1408 | 2025-07-21 | 2025-08-26 | Patch release for B12.0.1 | | 1.19.0 | B12.0 | 2025.3.0 | 1408 | 2025-06-26 | | First…