贡献

欢迎贡献,对此深表感谢!点滴帮助都弥足珍贵,您的贡献将始终得到认可。

您可以通过多种方式贡献

贡献类型

报告 Bug

请在 https://github.com/dask/dask-image/issues 报告 Bug。

如果您报告 Bug,请包括

  • 您的操作系统名称和版本。

  • 有关您本地设置的任何可能有助于故障排除的详细信息。

  • 重现 Bug 的详细步骤。

修复 Bug

查看 GitHub issues 中的 Bug。任何标记为“bug”和“help wanted”的问题都开放给任何愿意实现它的人。

实现新功能

查看 GitHub issues 中的功能请求。任何标记为“enhancement”和“help wanted”的问题都开放给任何愿意实现它的人。

编写文档

dask-image 始终需要更多文档,无论是作为官方 dask-image 文档的一部分、在 docstring 中,甚至是在网上的博客文章、文章等。

要在本地构建文档并预览您的更改,首先设置用于构建 dask-image 文档的 conda 环境

$ conda env create -f continuous_integration/environment-doc.yml
$ conda activate dask_image_doc_env

这个 conda 环境包含 dask-image 及其依赖项、sphinx 和 dask-sphinx-theme。

接下来,使用 sphinx 构建文档

$ cd dask-image/docs
$ make html

现在您可以通过打开文件 dask-image/docs/_build/html/index.html 在浏览器中预览 html 文档。

提交反馈

提交反馈的最佳方式是在 https://github.com/dask/dask-image/issues 提交 issue。

如果您提议一项新功能

  • 详细解释它将如何工作。

  • 尽量缩小范围,以便更容易实现。

  • 请记住,这是一个由志愿者驱动的项目,并且欢迎贡献 :)

开始吧!

准备好贡献了吗?以下是如何设置 dask-image 进行本地开发。

  1. 在 GitHub 上 Fork dask-image 仓库。

  2. 在本地克隆您的 Fork

    $ git clone git@github.com:your_name_here/dask-image.git
    $ cd dask-image
    
  3. 将您的本地副本安装到环境中。假设您已经安装了 conda,这是您设置 Fork 进行本地开发的方式(在 Windows 上请省略 source)。将 “<some version>” 替换为用于测试的 Python 版本。

    $ conda create -n dask-image-env python="<some version>"
    $ source activate dask-image-env
    $ python -m pip install -e .
    
  4. 创建一个用于本地开发的分支

    $ git checkout -b name-of-your-bugfix-or-feature
    

    现在您可以在本地进行更改了。

  5. 完成更改后,检查您的更改是否通过 flake8 和测试,包括测试其他 Python 版本

    $ flake8 dask_image tests
    $ pytest
    

    要获取 flake8,只需在您的环境中 conda install 它。

  6. 提交您的更改并将您的分支推送到 GitHub

    $ git add .
    $ git commit -m "Your detailed description of your changes."
    $ git push origin name-of-your-bugfix-or-feature
    
  7. 通过 GitHub 网站提交拉取请求。

拉取请求(Pull Request)指南

在提交拉取请求之前,请检查它是否符合以下指南

  1. 拉取请求应包含测试。

  2. 如果拉取请求添加了功能,则应更新文档。将您的新功能放入具有 docstring 的函数中,并将该功能添加到 README.rst 中的列表中。

  3. 拉取请求应适用于所有支持的 Python 版本。检查 CI 并确保测试通过所有支持的 Python 版本和平台。

测试

本地运行测试

要设置与我们用于持续集成服务的测试环境相匹配的本地测试环境,您可以使用 dask-image 仓库中 continuous_integration 文件夹中包含的 .yml conda 环境文件。

每个支持的 Python 版本都有一个单独的环境文件。

我们将使用 conda 从文件 创建环境conda env create -f name-of-environment-file.yml)。

注意

如果您尚未安装 conda,我们建议通过 conda-forge 分发版本 Miniforge 下载并安装。

$ conda env create -f continuous_integration/environment-latest.yml

此命令将创建一个名为 dask-image-testenv 的新 conda 测试环境,其中包含所有必需的依赖项。

现在您可以使用以下命令激活您的新测试环境

.. code-block:: console

$ conda activate dask-image-testenv

最后,安装开发版本的 dask-image

.. code-block:: console

$ pip install -e “.[test]””

对于本地测试,请在测试环境中运行 pytest

.. code-block:: console

$ pytest

要运行测试的子集,例如 ndfourier 的所有测试

$ pytest tests/test_dask_image/test_ndfourier

持续集成测试

创建拉取请求将自动使用 Github Actions 运行持续集成测试。

持续集成 (CI) 检查的结果会链接显示在您的拉取请求底部,也会显示在 dask-image GitHub Actions 选项卡中:https://github.com/dask/dask-image/actions

要编辑 CI 检查,请查看位于仓库 dask-image/.github/workflows 中的工作流脚本

GPU 持续集成

GPU 夜间测试在 rapidsai/dask-upstream-testing 仓库中运行