跳转到主要内容

用于Nancy Grace Roman太空望远镜科学观测校准的库

项目描述

Roman校准管道

Documentation Status CI Powered by STScI Badge Powered by Astropy Badge

[!IMPORTANT] Roman需要Python 3.10或更高版本和C编译器来依赖。

[!NOTE] 已测试并支持Linux和MacOS平台。Windows目前不支持。

安装

将最新版本的romancal安装到新的虚拟环境或conda环境的简单方法是

pip install romancal

详细安装

romancal 包可以通过 pip 安装到虚拟环境或 conda 环境。我们建议对于每个安装,首先创建一个只安装了 Python 的新环境,然后在该裸环境中安装 romancal 包及其依赖项。如果使用 conda 环境,首先确保您已安装了最新版本的 Anaconda 或 Miniconda。如果您想的话,可以创建多个环境,以便在不同的 romancal 包版本之间切换(例如,发布版本与当前开发版本)。

在所有情况下,安装通常是一个 3 步过程

  • 创建 conda 环境
  • 激活该环境
  • 将所需版本的 romancal 包安装到该环境中

以下详细介绍了如何进行不同类型的安装,包括标记的发布版本、操作中使用的 DMS 构建,以及开发版本。请记住,所有 conda 操作都必须在 bash shell 中完成。

安装最新发布版本

您可以通过 pip 安装最新发布的版本。从 bash shell

conda create -n <env_name> python
conda activate <env_name>
pip install romancal

注意
另外,您也可以使用 virtualenv 创建环境;然而,如果您遇到问题,STScI 不支持此安装方法。

您也可以安装特定版本(从 romancal 0.1.0 开始)

conda create -n <env_name> python
conda activate <env_name>
pip install romancal==0.10.0

从 Github 安装开发版本

您可以从 Github 主分支安装最新的开发版本(测试可能不充分)

conda create -n <env_name> python
conda activate <env_name>
pip install git+https://github.com/spacetelescope/romancal

为开发者安装

如果您想能够使用 romancal 包对源代码进行工作并测试,基本步骤是首先使用上述相同的过程创建 conda 环境,然后在那个环境中的原始代码之上安装您的个人代码副本。同样,这应该在任何已安装了 romancal 包发布版本的现有环境之外单独的 conda 环境中完成。

像往常一样,前两步是创建和激活环境

conda create -n <env_name> python
conda activate <env_name>

要将您的代码副本安装到该环境中,您首先需要 fork 和克隆 romancal 仓库

cd <where you want to put the repo>
git clone https://github.com/spacetelescope/romancal
cd romancal

注意
使用 setup.pypython setup.py installpython setup.py develop 等)已被弃用且无法工作。

从您的本地检出副本安装为“可编辑”安装

pip install -e .

如果您想运行单元测试或回归测试以及/或构建文档,请确保已安装这些依赖项

pip install -e ".[test]"
pip install -e ".[docs]"
pip install -e ".[test,docs]"

注意,如果您希望安装所有开发依赖项(testdocs)以及用于 linting 和可重复环境的开发工具

pip install -e ".[dev]"

这将安装 toxpre-commit 工具,以及所有开发依赖项。

依赖项的开发版本列在 requirements-dev-st.txtrequirements-dev-thirdparty.txt 中,分别包含 STScI 和第三方包。要安装这些依赖项,请运行以下命令

pip install -r requirements-dev-st.txt
pip install -r requirements-dev-thirdparty.txt

需要开发环境中其他有用的包?

pip install ipython pytest-xdist

校准参考数据系统(CRDS)设置

CRDS 是管理运行管道所需参考文件的系统。在 STScI 网络内部,管道使用默认的 CRDS 设置,没有修改。要在 STScI 网络之外运行管道,必须通过设置两个环境变量来配置 CRDS

export CRDS_PATH=$HOME/crds_cache
export CRDS_SERVER_URL=https://roman-crds.stsci.edu

文档

文档(每日从 Github 的 main 分支构建)可在以下网址获取:

https://roman-pipeline.readthedocs.io/en/latest/

要自己构建文档,请克隆此仓库,并使用以下命令构建文档:

pip install -e ".[docs]"
cd docs
make html

贡献和反馈

我们欢迎对项目的贡献和反馈。请遵循贡献指南提交问题或拉取请求。

我们致力于遵守行为准则,为所有用户提供一个友好的社区。

如果您对软件有任何疑问或担忧,请打开问题

软件与DMS构建版本映射

roman标签 DMS构建 CRDS_CONTEXT 日期 备注
0.1.0 0.0 003 2020年11月 构建0.0的发布
0.2.0 0.1 004 2021年3月 构建0.1的发布
0.3.0 0.2 007 2021年5月 构建0.2的发布
0.3.1 0.2 007 2021年6月 构建0.2 CRDS测试的发布
0.4.2 0.3 011 2021年9月 构建0.3的发布
0.5.0 0.4 023 2021年12月 构建0.4的发布
0.6.0 0.5 030 2022年3月 构建0.5的发布
0.7.0 22Q3_B6 032 2022年5月 构建22Q3_B6 (构建0.6)的发布
0.7.1 22Q3_B6 032 2022年5月 构建22Q3_B6 (构建0.6)的发布
0.8.0 22Q4_B7 038 2022年8月 构建22Q4_B7 (构建0.7)的发布
0.8.1 22Q4_B7 038 2022年8月 构建22Q4_B7 (构建0.7)的发布
0.9.0 23Q1_B8 039 2022年11月 构建23Q1_B8 (构建8)的发布
0.10.0 23Q2_B9 041 2023年2月 构建23Q2_B9 (构建9)的发布
0.11.0 23Q3_B10 047 2023年5月 构建23Q3_B10 (构建10)的发布
0.12.0 23Q4_B11 051 2023年8月 构建23Q4_B11 (构建11)的发布
0.13.0 24Q1_B12 052 2023年11月 构建24Q1_B12 (构建12)的发布
0.14.0 24Q2_B13 056 2024年2月 构建24Q2_B13 (构建13)的发布
0.15.0 24Q3_B14 058 2024年5月 构建24Q3_B14 (构建14)的发布
0.15.1 24Q3_B14 058 2024年5月 构建24Q3_B14 (构建14)的发布
0.16.0 24Q4_B15 063 2024年8月 构建24Q3_B15 (构建15)的发布
0.16.1 24Q4_B15 063 2024年8月 构建24Q3_B15 (构建15)的发布
0.16.2 24Q4_B15 063 2024年8月 构建24Q3_B15 (构建15)的发布
0.16.3 24Q4_B15 063 2024年8月 构建24Q3_B15 (构建15)的发布

注意:上表中带有星号标记的CRDS_CONTEXT值是估计值(正式的CONTEXT交付仅在最终构建中提供)。

单元测试

设置

测试套件需要访问CRDS缓存,但当前(2021-02-09)共享的/grp/crds缓存不包括Roman文件。STScI网络内的开发者可以从roman-crds-test.stsci.edu同步缓存(如果在家里工作,请确保首先连接到VPN)

$ export CRDS_SERVER_URL=https://roman-crds-test.stsci.edu
$ export CRDS_PATH=$HOME/roman-crds-test-cache
$ crds sync --contexts roman-edit

不应设置CRDS_READONLY_CACHE变量,因为引用需要在请求时下载到您的本地缓存。

注意
如果希望运行针对WebbPSF数据的测试,请使用pytest --webbpsf标志或-webbpsf tox因子,并遵循这些说明下载数据文件或指向共享内部网络上的现有文件。

运行测试

可以通过pytest运行单元测试。在您的本地roman仓库检出顶级目录下

pip install -e ".[test]"
pytest

需要并行化您的测试运行到8个核心吗?

pip install pytest-xdist
pytest -n 8

回归测试

最新回归测试结果可在此处找到(仅限STScI员工)

https://plwishmaster.stsci.edu:8081/job/RT/job/romancal/

要在您的本地机器上运行回归测试,获取测试依赖项并设置环境变量TEST_BIGDATA为我们的人工制品服务器(仅限STSci员工)

pip install -e ".[test]"
export TEST_BIGDATA=https://bytesalad.stsci.edu/artifactory

要运行所有回归测试(除非常慢的之外)

pytest --bigdata romancal/regtest

您可以使用pytest--basetemp=<PATH>参数控制测试结果写入的位置。注意:pytest会为每个测试会话清理此目录,因此请确保它是一个临时区域。

如果您想运行特定的测试,找到其名称或ID,并使用-k选项

pytest --bigdata romancal/regtest -k test_flat

如果开发者需要更新夜间回归测试中的真实文件,此wiki中有说明。

https://github.com/spacetelescope/jwst/wiki/Maintaining-Regression-Tests

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码分发

romancal-0.16.3.tar.gz (814.9 kB 查看哈希值)

上传时间 源代码

构建分发

romancal-0.16.3-py3-none-any.whl (913.1 kB 查看哈希值)

上传时间 Python 3

支持者