一款命令行工具,可将一组 conda 包打包成安装程序,支持 shell、macOS .pkg 和 Windows .exe/.msi 格式。
AnswerDotAI/nbdev
基于 Jupyter Notebook 的开发平台,可一并生成 Python 包、文档、测试和持续集成配置。
- Star
- 5,323
- Fork
- 514
- 未关闭 Issue
- 187
- 最近提交
- 前天
这是什么?
nbdev 让你用 Jupyter Notebook 编写 Python 代码、测试和文档,只需少量轻量标记语法。它会从笔记本导出 Python 模块,借助 Quarto 生成文档网站并发布到 GitHub Pages,支持并行运行测试,并自动配置 GitHub Actions 持续集成。
笔记本与纯文本源码之间支持双向同步,可以在 IDE 中编辑代码,再同步回对应的笔记本单元格。Git 钩子会清理无关的笔记本元数据,并以可读形式呈现合并冲突。打包工具可用于发布到 PyPI 和 conda。
nbdev3 将项目配置从 settings.ini 迁移到 pyproject.toml,并提供 nbdev-migrate-config 命令用于转换现有的 nbdev2 项目。
核心功能
- 01将笔记本导出为 Python 模块,并与源码双向同步
- 02借助 Quarto 和 GitHub Pages 生成可搜索的文档网站
- 03一条命令并行运行笔记本中的测试
- 04内置 GitHub Actions 工作流,用于持续集成和文档重建
- 05支持发布到 PyPI 和 conda
- 06提供 Git 钩子,清理笔记本并便于解决合并冲突
适用场景
- 在笔记本中同时编写 Python 库的代码、测试和文档
- 将开源 Python 包自动化发布到 PyPI
- 从源码自动生成并保持更新的项目文档
- 在 IDE 中编辑代码,同时保持笔记本同步
快速上手
- 1
使用 pip 安装 nbdev
pip install nbdev - 2
运行 nbdev-help 查看可用命令
nbdev-help
使用前须知
- 在 Windows 上需要通过 WSL 运行,不支持 cmd 或 PowerShell。
- 必须与 Jupyter 及项目使用同一个 Python 环境进行安装。
- 2026 年 1 月发布的 nbdev3 将配置迁移到 pyproject.toml,对 nbdev2 项目是破坏性变更。
收录于专题
标签
常见问题
- nbdev 是什么?
- 基于 Jupyter Notebook 的开发平台,可一并生成 Python 包、文档、测试和持续集成配置。 nbdev 让你用 Jupyter Notebook 编写 Python 代码、测试和文档,只需少量轻量标记语法。它会从笔记本导出 Python 模块,借助 Quarto 生成文档网站并发布到 GitHub Pages,支持并行运行测试,并自动配置 GitHub Actions 持续集成。
- nbdev 可以免费使用吗?用的什么许可证?
- nbdev 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- nbdev 还在维护吗?
- 活跃维护中。nbdev 最近一次提交是在 2026年11月5日。
- nbdev 适合用来做什么?
- 在笔记本中同时编写 Python 库的代码、测试和文档 将开源 Python 包自动化发布到 PyPI 从源码自动生成并保持更新的项目文档 在 IDE 中编辑代码,同时保持笔记本同步
- nbdev 怎么安装和运行?
- 使用 pip 安装 nbdev: pip install nbdev 运行 nbdev-help 查看可用命令: nbdev-help
- 在哪里获取 nbdev?
- 源代码和安装说明在 GitHub 上:https://github.com/AnswerDotAI/nbdev
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
499185PythonOther维护活跃更新于 4天前
开源工具,可根据 OpenAPI、Swagger、AsyncAPI 或 GraphQL 定义生成响应式的 API 参考文档站点。
2.6万+10 本周2407TypeScriptMIT维护活跃更新于 前天
现代可扩展的 Python 项目管理工具,涵盖构建、环境、测试、版本与发布。
7248487PythonMIT维护活跃更新于 10天前
面向 Python 项目的构建自动化工具,基于依赖式任务和插件机制定义构建生命周期。
2066276PythonApache-2.0维护活跃更新于 4天前
一个将多种开发者 API 文档整合到一起、支持即时搜索和离线使用的网页文档浏览器。
4万+26 本周2657RubyMPL-2.0维护活跃更新于 前天
面向 Go 项目的发布自动化工具,负责构建、打包并发布二进制文件到 GitHub 及各类包管理与镜像仓库。
1.6万+12 本周1139GoMIT维护活跃更新于 昨天