用于Nancy Grace Roman太空望远镜科学观测校准的库
项目描述
Roman校准管道
[!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.py
(python setup.py install
、python setup.py develop
等)已被弃用且无法工作。
从您的本地检出副本安装为“可编辑”安装
pip install -e .
如果您想运行单元测试或回归测试以及/或构建文档,请确保已安装这些依赖项
pip install -e ".[test]"
pip install -e ".[docs]"
pip install -e ".[test,docs]"
注意,如果您希望安装所有开发依赖项(test
和 docs
)以及用于 linting 和可重复环境的开发工具
pip install -e ".[dev]"
这将安装 tox
和 pre-commit
工具,以及所有开发依赖项。
依赖项的开发版本列在 requirements-dev-st.txt
和 requirements-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的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 38d5f435cc5f829670da1c9d4b12d2c1f160c8dc17e0ab1891d3ea356919ab1c |
|
MD5 | a3ce7546f5c48b06b844d4f42268a5d5 |
|
BLAKE2b-256 | 25fc6fe412d14b85236f6bca81d2d39b854c3c0be0b4fd0887b7de77afe48061 |
romancal-0.16.3-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5cedb4ff8ad5d93b85a8445a4e728488a2a5cb53627ad15a9e212dbfe96876d1 |
|
MD5 | 20aaa6fc92236b3c12d9c1de3845b7ea |
|
BLAKE2b-256 | 7e54d95265fed3f39f11f8f34a3fb847d0bde3a728071e1be5a9098823f9512d |