Developer Notes

stenv consists of several parts:

  1. an unpinned Conda environment definition YAML file environment.yaml

  2. a GitHub Actions CI workflow that automatically builds and tests the environment on several platforms

  3. regular GitHub releases with attached constrained Conda environment definition YAML files for every tested platform

environment.yaml

# this is the base unpinned environment for ``stenv``; to manually resolve an environment from this file, run the following: 
# conda env create -n stenv -f https://raw.githubusercontent.com/spacetelescope/stenv/main/environment.yaml 

channels:
  - conda-forge

dependencies:
  - astropy
  - dask
  - fitsverify
  - hstcal>=3.0.3
  - h5py
  - ipython
  - jupyter
  - numpy<2.0
  - pip
  - python>=3.10
  - scipy
  - pip:
      - acstools
      - asdf
      - calcos
      - ccdproc
      - costools
      - crds
      - drizzlepac
      - ginga
      - jwst
      - nictools
      - pysynphot
      - reftools
      - stcal
      - stdatamodels
      - stistools
      - stsynphot
      - stregion
      - synphot
      - wfc3tools
      - wfpc2tools

To build an environment from this unpinned environment definition, run the following:

curl -L https://raw.githubusercontent.com/spacetelescope/stenv/main/environment.yaml -o ~/Downloads/stenv.yaml
micromamba env create --name stenv --file ~/Downloads/stenv.yaml
mamba env create --name stenv --file https://raw.githubusercontent.com/spacetelescope/stenv/main/environment.yaml
conda env create --name stenv --file https://raw.githubusercontent.com/spacetelescope/stenv/main/environment.yaml

Adding a package to stenv

To request that a new package be added to stenv, please create a new issue in the repository.

issue template for adding a package