CFFI和numba的Python包装器,用于CEPHES数学库
项目描述
pycephes
- 名称:
pycephes
- 网站:
- 作者:
Juan Luis Cano Rodríguez <juanlu001@gmail.com>
- 版本:
0.1.0
pycephes 是一个薄的Python包装器,用于Netlib的CEPHES数学库,使用CFFI编写,易于与numba一起使用。它是在MIT许可证下发布的,因此允许商业使用。
目前它仅接口一个超几何函数,但在这里提供,既是CFFI + numba强大功能的证明,也是poliastro(一个用于行星际天体动力学的Python库)的支持。因此,它是一个正在进行的工作,欢迎所有贡献(见贡献)。
性能
创建此项目的动机主要是实现良好的性能。时间基准测试包含在tests/目录中,可以使用pytest-benchmark运行。
初步研究表明,pycephes平均比等效SciPy函数快约5倍。
要求
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。
支持
您可以在poliastro邮件列表或pycephes问题跟踪器中发布有关pycephes的支持问题。
许可证
pycephes在MIT许可证下发布,因此允许商业使用该库。请参阅COPYING文件。
项目详情
pycephes-0.1.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 152b1896780fb43145fb325f02f1bfcc0fe33ff42f7058f012590f3efab9ef1f |
|
MD5 | bd8c4deb68b14737fd4445d4b9fe196a |
|
BLAKE2b-256 | 31114ba8b169e7903ad507f5d78c606946354ce46fd5f9e8f2f1295e278c8ed2 |