跳转到主要内容

宇宙学API标准

项目描述

目前有大量的(Python)宇宙学库,从大型项目——包括 AstropyCLASSCAMB ——到小型个人脚本。这些库执行许多相同的任务,但它们都具有不同的接口,不同的工作方式。这使得在库之间切换变得困难,几乎不可能编写与多个库一起工作的代码。

Python宇宙学API解决了这个问题,为宇宙学代码提供详细的接口,从单个方法和函数到具有全部功能的宇宙学对象,甚至整个库。最好的是,使用宇宙学API不需要任何运行时依赖项,甚至这个库本身!

使用宇宙学API,您可以编写与实现API的任何内容协同工作的代码,即许多不同的宇宙学库。我们提供易于使用、定义明确的描述,您可以构建与任何支持库协同工作的函数。例如

# No implementation, just a description of the interface!
from cosmology.api import StandardCosmology


def flat_angular_diameter_distance(
    cosmo: StandardCosmology[Array, Array], z: Array
) -> Array:
    # Do some cosmology with any object that implements the API
    if cosmo.Omega_k != 0:
        raise ValueError("This function only works for flat cosmologies")
    return cosmo.comoving_distance(z) / (1 + z)

项目详情


下载文件

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

源分布

cosmology.api-0.1.0.tar.gz (49.3 kB 查看哈希值)

上传时间

构建分布

cosmology.api-0.1.0-py3-none-any.whl (18.1 kB 查看哈希值)

上传时间 Python 3

支持