跳转到主要内容

RNumPy

项目描述

rnumpy

尝试定义核心和清理过的NumPy API:RNumPy的一个实验

请勿现在使用此版本!它将很快准备好生产使用,但API可能在未来一段时间内还会发生变化。

此项目的主要目标

  1. 提供一个包含NumPy核心功能的包,供最终用户使用。即如果我们能够从其中删除函数和对象,并移动事物而不必担心向后兼容性,NumPy的API将是什么样子。
  2. 回答问题:“构成numpy核心所需的最小函数集是什么?”

(1) 允许最终用户使用 rnumpy 而不是 numpy,因此可以在一个更容易导航的包中工作,他们可以确信他们使用的函数得到了良好的维护和“最佳实践”。在许多情况下,NumPy提供了多种做事情的方法。已过时的函数保留以实现向后兼容性。通常用户不会意识到这一点,并使用具有更现代替代品的函数。使用 rnumpy,他们不必担心这一点。

(1) 还面向NumPy类似库的作者。它建议支持NumPy完整API的子集。

(2) 可以作为使用“核心”函数重新实现其他函数的基础。以下是一个示例来说明这一点。为了创建填充了相同值的数组,NumPy提供了 oneszerosemptyfullones_likezeros_likeempty_likefull_likendarray.fill。基本构建块是 emptyndarray.fill。因此,可以将 ones 实现为

def ones(...):
    return np.empty(...).fill(1)

使用核心函数进行此类实现对于 ndarray 子类作者、将NumPy移植到其他平台(例如WebAssembly)的人以及可能的其他开发人员群体都很有用。

有关更多详细信息,请参阅 rnumpy/__init__.py 的文档字符串。

项目详情


下载文件

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

源代码分发

rnumpy-0.0.1.tar.gz (6.6 kB 查看哈希值)

上传时间 源代码

构建分发

rnumpy-0.0.1-py3-none-any.whl (12.1 kB 查看哈希值)

上传时间 Python 3

由以下支持