贡献#

感谢您想到帮助改进此库的方法!请记住,贡献的形式和规模远不止编写错误修复。对文档的贡献、为错误提出新问题、寻求对不清楚事项的澄清以及请求新功能,都是非常有价值的贡献。

代码改进#

此库的所有开发都在 GitHub 此处进行。我们建议您使用 Conda 环境(或像 venv 这样的替代虚拟环境)。

以下说明使用 Mamba,它是 conda 的一个非常快速的实现。

git clone <your fork>
cd ipympl
mamba env create --file dev-environment.yml
conda activate ipympl-dev
pre-commit install

安装 Python 包

pip install -e .

在开发扩展时,您需要手动启用您的扩展程序与 Jupyter Notebook / Lab 前端。对于 Lab,通过以下命令完成:

jupyter labextension develop --overwrite .
jlpm build

对于经典 Notebook,您需要运行:

jupyter nbextension install --py --symlink --sys-prefix --overwrite ipympl
jupyter nbextension enable --py --sys-prefix ipympl

如何查看您的更改#

TypeScript:

如果您使用 JupyterLab 进行开发,您可以在不同的终端中同时监视源目录并运行 JupyterLab,以观察扩展源代码的变化并自动重建小部件。

# Watch the source directory in one terminal, automatically rebuilding when needed
jlpm watch
# Run JupyterLab in another terminal
jupyter lab

更改后,等待构建完成,然后刷新浏览器,更改应该生效。

Python

如果您对 Python 代码进行了更改,则需要重启 Notebook 内核才能使其生效。

文档#

我们的文档是使用 Sphinxdocs 文件夹中的 Notebook 构建的。它包含 Markdown 文件和 Jupyter Notebook。

示例最好以 Jupyter Notebook 的形式编写。要编写新示例,请在 docs/examples 目录中创建一个 Notebook,并在 index.ipynb 文件中将其路径列在其中一个 toctree 下。文档生成时,将由 myst-nb 渲染为静态 HTML 页面。

如果您已安装所有开发人员依赖项(参见上文),您可以通过在 docs 文件夹中运行以下 make 命令来重建文档:

make html

然后您可以在浏览器中打开 _build/index.html 文件,您现在应该能够看到渲染的文档。

或者,您可以使用 sphinx-autobuild 持续监视源文件的更改并为您重建文档。Sphinx-autobuild 将自动安装在您之前创建的开发环境中,因此您只需运行:

make watch

docs 文件夹中。

几秒钟后,您的网络浏览器应该会打开文档。现在,每当您保存文件时,文档都会自动重新生成,并且网页将为您刷新!

使用 Git#

使用 Git/GitHub 可能会令人困惑(https://xkcd.com/1597),因此如果您是 Git 新手,您可能会发现使用 GitHub Desktop 等程序并遵循指南会有帮助。

也欢迎随时在相关的 GitHub 问题上寻求帮助/建议。

获取贡献帮助#

欢迎随时在任何 GitHub 问题上提问如何贡献。您也可以在 gitter 聊天室提问较短的问题。