ERFA的Python绑定
项目描述
PyERFA是Python对ERFA库(天文学基本算法库)的包装,这是一个包含天文学关键算法的C库,基于国际天文学联合会(IAU)发布的SOFA库。所有C例程都作为Numpy 通用函数进行包装,以便可以使用标量或数组输入调用它们。
该项目是从Astropy项目上下文中的astropy._erfa模块拆分出来的,作为一个独立包。它包含ERFA C源代码作为git子模块。包装是通过Jinja2模板引擎实现的。
如果您在研究中使用此软件包,请通过DOI引用它:10.5281/zenodo.3940699。
安装说明
您可以使用简单的命令从软件包目录安装该软件包。
$ pip install .
同样,可以使用以下命令创建wheel文件:
$ pip wheel .
您可以从PyPI或直接从git仓库获取该软件包。
$ git clone --recursive https://github.com/liberfa/pyerfa/
该软件包还提供了夜间轮询wheel,获取方式如下:
$ pip install --upgrade --index-url https://pypi.anaconda.org/liberfa/simple pyerfa --pre
测试
为了测试,可以一起安装软件包及其测试依赖项,然后使用以下命令进行测试:
$ pip install .[test] $ pytest
或者,可以使用tox,它将为您设置一个单独的测试环境,具有以下功能:
$ tox -e test
用法
该软件包可以作为erfa导入,它包含所有由ERFA封装的ufuncs的python代码,并记录错误和警告。还公开了由ERFA在erfam.h中定义的常量,以及对应于ERFA使用的结构的numpy.dtype。示例
>>> import erfa >>> erfa.jd2cal(2460000., [0, 1, 2, 3]) (array([2023, 2023, 2023, 2023], dtype=int32), array([2, 2, 2, 2], dtype=int32), array([24, 25, 26, 27], dtype=int32), array([0.5, 0.5, 0.5, 0.5])) >>> erfa.plan94(2460000., [0, 1, 2, 3], 1) array([([ 0.09083713, -0.39041392, -0.21797389], [0.02192341, 0.00705449, 0.00149618]), ([ 0.11260694, -0.38275202, -0.21613731], [0.02160375, 0.00826891, 0.00217806]), ([ 0.13401992, -0.37387798, -0.21361622], [0.0212094 , 0.00947838, 0.00286503]), ([ 0.15500031, -0.36379788, -0.21040601], [0.02073822, 0.01068061, 0.0035561 ])], dtype={'names': ['p', 'v'], 'formats': [('<f8', (3,)), ('<f8', (3,))], 'offsets': [0, 24], 'itemsize': 48, 'aligned': True}) >>> erfa.dt_pv dtype([('p', '<f8', (3,)), ('v', '<f8', (3,))], align=True) >>> erfa.dt_eraLDBODY dtype([('bm', '<f8'), ('dl', '<f8'), ('pv', [('p', '<f8', (3,)), ('v', '<f8', (3,))])], align=True) >>> erfa.DAYSEC 86400.0
您也可以直接使用ufuncs,但那时必须显式处理警告和错误状态。例如,比较以下内容:
>>> erfa.jd2cal(-600000., [0, 1, 2, 3]) Traceback (most recent call last): ... ErfaError: ERFA function "jd2cal" yielded 4 of "unacceptable date (Note 1)" >>> erfa.ufunc.jd2cal(-600000., [0, 1, 2, 3]) (array([-1, -1, -1, -1], dtype=int32), ..., array([-1, -1, -1, -1], dtype=int32))
许可
PyERFA采用3条款BSD风格许可 - 请参阅LICENSE.rst文件。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分布
pyerfa-2.0.1.4.tar.gz (817.4 kB 查看哈希)
构建分发
pyerfa-2.0.1.4-cp39-abi3-win_amd64.whl (347.1 kB 查看散列值)
pyerfa-2.0.1.4-cp39-abi3-win32.whl (340.0 kB 查看散列值)
关闭
pyerfa-2.0.1.4.tar.gz的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | acb8a6713232ea35c04bc6e40ac4e461dfcc817d395ef2a3c8051c1a33249dd3 |
|
MD5 | 46e0290e20aa0d1c0c59777808dff68e |
|
BLAKE2b-256 | 6caaa5f67966decfe415684e2505bb0b3dcaadb8c6ccc6421813b1ab34451060 |
关闭
pyerfa-2.0.1.4-pp39-pypy39_pp73-win_amd64.whl的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 39cf838c9a21e40d4e3183bead65b3ce6af763c4a727f87d84909c9be7d3a33c |
|
MD5 | 5d136cb45248ba6a131f4184d5a9d67f |
|
BLAKE2b-256 | 17d8edd38f83fcc657369d54d7afea9a974af72eab38ece68b54b785853a95ad |
关闭
pyerfa-2.0.1.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 9045e9f786c76cb55da86ada3405c378c32b88f6e3c6296cb288496ab374b068 |
|
MD5 | 5cf4a98ef013049b56fa0fb4dad404b3 |
|
BLAKE2b-256 | 431324aa29d6c3009b55a8632f4cab49da3b67cb6e4861186749e84dede3336f |
关闭
哈希值 for pyerfa-2.0.1.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
算法 | 散列摘要 | |
---|---|---|
SHA256 | 88a8d0f3608a66871615bd168fcddf674dce9f7568c239a03cf8d9936161d032 |
|
MD5 | da65fe7861693708794ed19200682827 |
|
BLAKE2b-256 | 9989c5f1a97320eb9ce7fdcf545205be83998a8bb693e03ccfcf921ee27ee1fb |
关闭
哈希值 for pyerfa-2.0.1.4-cp39-abi3-musllinux_1_1_x86_64.whl
算法 | 散列摘要 | |
---|---|---|
SHA256 | 83a44ba84ebfc3244412ecbf1065c087c382da84f1c3eee1f2a0638d9046ac96 |
|
MD5 | b233da13d6d668c36469a2f8c68504b6 |
|
BLAKE2b-256 | 9eb2d4d916fd2e4cb1bc47e9698b31deed2798fdb99c0a8385871a7aac78b149 |
关闭
哈希值 for pyerfa-2.0.1.4-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 散列摘要 | |
---|---|---|
SHA256 | 7e4508dd7ffd7b27b7f67168643764454887e990ca9e4584824f0e3ab5884c0f |
|
MD5 | 36c1958174fd71ffba4c6c517bf41489 |
|
BLAKE2b-256 | b31c023031381b4cbc619eae5328d536735ec468218a2e92f45560bab9bb59a3 |
关闭
哈希值 for pyerfa-2.0.1.4-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 散列摘要 | |
---|---|---|
SHA256 | 610d2bc314e140d876b93b1287c7c81685434873c8700cc3e1596193f77d1071 |
|
MD5 | da1ffd5fc8286229b666610eba3ead25 |
|
BLAKE2b-256 | 15dad588ed186140c775a3117c40e596c8ff09c80ebe4978051d9516cf0bb01b |
关闭
哈希值 for pyerfa-2.0.1.4-cp39-abi3-macosx_11_0_arm64.whl
算法 | 散列摘要 | |
---|---|---|
SHA256 | 900b266a3862baa9560d6b1b184dcc14e0e76d550ff70d32336d3989b2ed18ca |
|
MD5 | b624780daabd602093e819aeeec418f2 |
|
BLAKE2b-256 | f94c0460d2c1d82ae1c651a6e5354e64dfe4566bcb124d6d915eff039706dfd9 |
关闭
哈希值 for pyerfa-2.0.1.4-cp39-abi3-macosx_10_9_x86_64.whl
算法 | 散列摘要 | |
---|---|---|
SHA256 | ff112353944bf705342741f2fe41674f97154a302b0295eaef7381af92ad2b3a |
|
MD5 | 490f19bf1e427da00c857fb8086df131 |
|
BLAKE2b-256 | 4d29daec96895624ec32db7a32ad3738463aac52bedb2a8b07bffcebf76c9f64 |