贡献指南

如果您有想要贡献给 elasticsearch-dsl-py 的错误修复或新功能,请先找到或打开一个关于它的问题。讨论您想做的事情。可能有人已经在做这件事了,或者在您实施更改之前,您应该了解一些特定的问题。

如果您想获得对贡献的奖励,请注册 Elastic Contributor Program。每次您做出有效的贡献,您都会获得积分,这将增加您赢得奖品和被认可为顶级贡献者的机会。

我们很乐意与贡献者合作,使他们的代码被接受。解决问题的方案有很多,在编写过多代码之前,找到最佳方案非常重要。

为任何 Elasticsearch 代码库做出贡献的过程都类似。

  1. 请确保您已签署 Contributor License Agreement。我们不是要求您将版权转让给我们,而是要求您授予我们无限制地分发您代码的权利。我们要求所有贡献者这样做,以确保我们的用户了解代码的来源和持续存在。您只需要签署一次 CLA。

  2. 此库中包含的许多类都提供两种版本,用于异步和同步 Python。在使用这些类时,您只需要更改异步代码,这些代码位于源代码和测试树中的 _async 子目录中。完成更改后,运行以下命令自动生成相应的同步代码

    $ nox -rs format
    
  3. 运行测试套件以确保您的更改不会破坏现有代码

    $ nox -rs lint test
    
  4. 重新整理您的更改。使用来自主 elasticsearch-dsl-py 代码库的最新代码更新您的本地代码库,并将您的分支重新整理到最新的 master 分支之上。我们更希望您的更改被压缩成一个提交。

  5. 提交拉取请求。将您的本地更改推送到您分叉的代码库副本中,并提交拉取请求。在拉取请求中,描述您的更改的作用,并提及讨论已进行的问题的编号,例如“Closes #123”。请考虑添加或修改与您的更改相关的测试。将您生成的任何文件包含在拉取请求中的 _sync 子目录中。

然后坐下来等待。关于拉取请求可能会有讨论,如果需要任何更改,我们很乐意与您合作,将您的拉取请求合并到 elasticsearch-dsl-py 中。