SciKits¶
SciKits(SciPy 工具包的简称)是 SciPy 的附加包,由 SciPy 主发行版独立托管和开发。所有 SciKits 都在 OSI 认可的许可下授权。
当以下情况发生时,包将被打包为工具包(而不是包含在主要、单片 SciPy 发行版中):
该包被认为过于专业,不适合包含在 SciPy 本身中,或者
该包具有 GPL(或类似)许可证,与 SciPy 的 BSD 许可证不兼容,或者
该包旨在包含在 SciPy 中,但开发仍在进行中。
SciKits 列表¶
可以在此处找到自动维护的 SciKits 列表:
创建 SciKits¶
如果您计划为 Python 编写一个科学的开源软件包,旨在补充现有的软件包,将其标记为 SciKit 可能是有意义的。一致命名带来的优势是,该包更容易被发现,而不是在 30000 多个与研究无关的 Python 包中成为其中之一。
实现这一点的技术步骤很简单:在 Python 包索引 中注册该项目,并选择以 scikit
开头的名称。现有包的示例:scikit-learn(机器学习)、scikits.sparse(额外的稀疏矩阵例程)。
当然,您完全负责自己的项目,可以在任何您喜欢的地方托管它。我们唯一的要求是该项目在 OSI 认可的开源许可下,并且与科学、工程或其他主题的研究相关。但是,可以通过在例如 Scipy 邮件列表 上讨论新项目来让人们了解它。
虽然推荐用于 SciKits 项目的许可证是(新的)BSD 许可证,但 SciKits 包可以自由选择自己的开源许可证。该许可证应正式获得 OSI 认可。我们,scipy 开发人员,将允许包包含在我们判断符合开源定义但尚未通过批准流程的许可证下的代码。这是为了让我们能够采用具有宽松许可证的旧代码。但是,该包本身应该使用一个众所周知的 OSI 认可的许可证。
SciKit 项目结构¶
可以在此处找到项目组织的示例:
这里重要的部分是传递给构建系统的项目名称,以及在 Python 包索引 中注册包。
此示例包还展示了如何使用 NumPy 的测试框架,使用 Sphinx 编写文档,以及使用 NumPy 的构建框架链接到 Fortran 代码。
进一步阅读