模块化 nbdev
虽然 nbdev_new
让你能够开始创建令人愉悦的 Python 包所需的一切,但**你也可以单独使用下面列出的 nbdev 的每个组件**。如果你正在将一个大型系统移植到 nbdev、文档化现有的代码库,或者你想为自己的项目定制 nbdev 工作流,这可能会很有用。请注意,除非另有说明,否则下面列出的所有命令都可以在没有 settings.ini
文件的情况下工作。
文档化现有代码:show_doc
nbdev 允许你文档化现有代码,甚至是并非使用 nbdev 编写的代码!nbdev.showdoc.show_doc
允许你在 Notebook 和 Quarto 站点上渲染漂亮的 API 文档。例如,你可以像这样渲染 numpy.all
的 API 文档
from nbdev.showdoc import show_doc
from numpy import all
all) show_doc(
all
all (a, axis=None, out=None, keepdims=<no value>, where=<no value>)
测试给定轴上的所有数组元素是否都评估为 True。
类型 | 默认值 | 详细信息 | |
---|---|---|---|
a | array_like | 输入数组或可以转换为数组的对象。 | |
axis | NoneType | None | 执行逻辑 AND 归约的轴或多个轴。 默认值 ( axis=None ) 是对所有输入数组的维度执行逻辑 AND。 axis 可以是负数,在这种情况下它从最后一个轴算到第一个轴。 .. versionadded:: 1.7.0 如果这是一个整数元组,则对多个 轴执行归约,而不是像之前那样对单个轴或所有轴执行。 |
out | NoneType | None | 放置结果的备用输出数组。 它必须具有与预期输出相同的形状,并且其 类型会保留(例如,如果 dtype(out) 是 float,则结果将包含 0.0 和 1.0)。有关更多信息,请参见 :ref: ufuncs-output-type 。详细信息。 |
keepdims | _NoValueType | 如果设置为 True,则归约的轴将保留在结果中 作为大小为一的维度。使用此选项, 结果将与输入数组正确广播。 如果传递默认值,则 keepdims 不会传递给 ndarray 子类的 all 方法,但任何非默认值都会传递。如果 子类的方法未实现 keepdims ,则会引发任何异常。 |
|
where | _NoValueType | 检查所有 True 值时要包含的元素。详细信息请参见 ~numpy.ufunc.reduce 。.. versionadded:: 1.20.0 |
|
返回值 | ndarray, bool | 除非指定了 out ,否则返回新的布尔值或数组,在这种情况下,返回对 out 的引用。 |
测试 Notebook:nbdev_test
测试 Notebook 在 nbdev 之外也非常有用,特别是如果你正在文档化现有代码库并希望将测试纳入你的文档。通过 nbdev_test
CLI 工具可以实现这一点
你可以使用终端命令测试单个 notebook
nbdev_test --path notebook.ipynb
…或一个包含 notebook 的文件夹
nbdev_test --path tests/
将代码导出到模块:nb_export
你可以使用 Python 函数将 notebook 导出到模块
'notebook.ipynb', 'pkg') nb_export(
…前提是 notebook 在顶部指定了 default_exp
指令,并在每个要导出的单元格上方有 export
指令。为了方便起见,我们建议将其包含在 notebook 底部的代码单元格中。
Jupyter-Git 集成
Jupyter 和 Git 通常配合得不是很好,特别是在合并冲突等方面。我们在这篇博文中概述了所有这些问题以及我们的解决方案。你可以使用以下命令安装我们的合并驱动程序和钩子
nbdev_install_hooks
我们在本页面详细描述了 nbdev_install_hooks
的作用。
你也可以直接使用其任何底层命令,例如,实现你自己的钩子或扩展
要配置你自己的钩子,请查看pre-commit hooks 教程。
Python 打包
nbdev.release
提供了在 PyPI、conda 和 GitHub 上轻松打包的实用工具。有关更多信息,请查看nbdev.release
文档。请注意,此功能需要 settings.ini 文件。