跳转到主要内容

CFFI和numba的Python包装器,用于CEPHES数学库

项目描述

pycephes

名称:

pycephes

网站:

https://github.com/poliastro/pycephes

作者:

Juan Luis Cano Rodríguez <juanlu001@gmail.com>

版本:

0.1.0

license mailing

pycephes 是一个薄的Python包装器,用于Netlib的CEPHES数学库,使用CFFI编写,易于与numba一起使用。它是在MIT许可证下发布的,因此允许商业使用。

目前它仅接口一个超几何函数,但在这里提供,既是CFFI + numba强大功能的证明,也是poliastro(一个用于行星际天体动力学的Python库)的支持。因此,它是一个正在进行的工作,欢迎所有贡献(见贡献)。

性能

创建此项目的动机主要是实现良好的性能。时间基准测试包含在tests/目录中,可以使用pytest-benchmark运行。

初步研究表明,pycephes平均比等效SciPy函数快约5倍

Time benchmarks

要求

pycephes需要以下Python包

  • NumPy,用于基本的数组处理

  • CFFI,用于与C代码接口

  • numba,以使其与上游jitted函数兼容

此外,CEPHES数学库必须存在于系统中。

安装

获取包并使其运行的最简单、最快的方法是使用conda安装pycephes。这也安装了CEPHES包作为依赖项

$ conda install pycephes --channel poliastro

如果系统中存在CEPHES库,也可以从PyPI安装

$ pip install pycephes

您还可以从GitHub下载pycephes源代码并输入

$ pip install .

也支持开发安装

$ pip install -e .

贡献

该库的一个明显改进领域是添加更多功能。一些其他想法

  • 编写一些脚本以生成函数头,这样就不需要手动添加。

  • 使用numba 0.24中引入的@generated_jit特性,根据输入维度的不同自动触发相应的函数,类似于Julia。

鼓励潜在贡献者fork存储库并提交pull request。

支持

mailing

您可以在poliastro邮件列表pycephes问题跟踪器中发布有关pycephes的支持问题。

许可证

license

pycephes在MIT许可证下发布,因此允许商业使用该库。请参阅COPYING文件。

项目详情


下载文件

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

源分发

pycephes-0.1.0.tar.gz (47.9 kB 查看哈希值)

上传时间

由以下组织支持