对pywps的贡献

pywps项目公开欢迎贡献(bug报告、bug修复、代码增强/特性等)。本文将概述一些对pywps做出贡献的指导原则。还有,小矮人 community 是了解如何连接和参与pywps社区和开发的好地方。

PYWPS有以下贡献模式:

  • Github提交访问

  • Github请求

行为守则

本项目的贡献者应按照 OSGeo Code of Conduct .

捐款和许可证

要求贡献者确认他们遵守项目 license 指南。

Github提交访问

  • 向开发人员提供github提交访问权限的建议应通过电子邮件发送到pywps devel mailing list . 建议书应由PYWPS开发团队批准。提交人应由项目管理员添加

  • 删除提交访问权限的处理方式应相同

  • 每个提交者都必须向pywps邮件列表发送一封同意许可准则的电子邮件(请参见 Contributions and Licensing Agreement Template只需要一次

  • 每个提交者应在https://github.com/geopython/pywps/blob/master/committers.txt中列出

Github请求

  • pull请求可以在pull请求中作为文本或通过电子邮件向pywps提供许可证指南协议 mailing list (见 Contributions and Licensing Agreement Template这只是参与者的第一个请求所必需的。后续的拉取请求不需要此步骤

  • 如果贡献很大,或者贡献者希望对其贡献声明版权,则pull请求可能包含贡献者在源代码头中的版权。

  • 所有贡献者应在https://github.com/geopython/pywps/graphs/contributors上列出

  • 默认情况下,无人认领的版权分配给https://github.com/geopython/pywps/blob/master/license.txt中指定的主要版权所有者。

  • 确保测试通过 [travis-ci] (https://travis-ci.org/geopython/pywps)服务,以及本地计算机上的服务 tox ::

    tox
    

供款和许可协议模板

Hi all, I'd like to contribute <feature X|bugfix Y|docs|something else> to PyWPS.  I confirm that my contributions to PyWPS will be compatible with the PyWPS license guidelines at the time of contribution.

GitHub

代码、测试、文档、wiki和问题跟踪都是在github上管理的。确保你有一个 GitHub account .

代码概述

  • PyWPS wiki 记录代码库的概述 [TODO]

文档

漏洞

小精灵 issue tracker 是报告错误或请求增强功能的地方。要提交bug,请确保指定您正在使用的pywps版本、适当的组件、如何重现bug的描述,以及python版本和平台。

叉子

通过github pull请求最容易管理贡献。 Fork pywps到您自己的github存储库中,以便能够提交您的工作和提交pull请求。

开发

Github提交准则

  • 增强和错误修复应该用github问题来标识

  • 提交应该足够精细,以便其他开发人员理解更改的性质/含义

  • 对于不需要 Travis CI 运行,包括 [ci skip] 作为提交消息的一部分

  • 非平凡的git提交应与github问题相关联。由于文档总是可以改进的,因此不需要为改进文档而打开票据

  • git提交应包括对更改的描述

  • git提交应包括github发行号(即 #1234 )在git提交日志消息中

  • 所有增强或错误修复都必须成功通过 OGC CITE 提交前的测试

  • 所有增强或错误修复必须在提交之前成功通过所有测试

  • 可以从pywps测试中演示的增强应该附带示例wps请求xml或kvp

编码指南

  • pywps而不是pywps,pywps,pywps,pywps

  • 总是用 PEP 8 习俗

  • 始终运行源代码 flake8

  • 对于进入ogc的异常 ows:ExceptionReport XML,总是指定适当的 locatorcode 参数

提交请求

本节将指导您完成使用pywps的步骤。本节假设您已经将pywps分叉到自己的github存储库中。注意 master 是pywps中的主要开发分支。对于稳定版本,由pywps团队独家管理。

# setup a virtualenv
virtualenv mypywps && cd mypywps
. ./bin/activate

# clone the repository locally
git clone git@github.com:USERNAME/pywps.git
cd pywps
pip install -e . && pip install -r requirements.txt

# add the main PyWPS development branch to keep up to date with upstream changes
git remote add upstream https://github.com/geopython/pywps.git
git pull upstream master

# create a local branch off master
# The name of the branch should include the issue number if it exists
git branch issue-72
git checkout issue-72


# make code/doc changes
git commit -am 'fix xyz (#72)'
git push origin issue-72

您的更改现在可以在github上的pywps存储库中看到。现在可以创建拉取请求了。pywps团队的成员将审查pull请求,并在需要时提供反馈/建议。如果需要更改,请针对同一个分支进行更改,并按照上面的说明进行推送(应用拉取请求中对分支的所有更改)。

然后pywps团队将合并pull请求。然后,您可以删除您的本地分支(在github上),然后更新您自己的存储库,以确保您的pywps存储库与pywps master是最新的:

git checkout master
git pull upstream master

释放包装

发布打包说明在https://github.com/geopython/pywps/wiki/releasepacking上维护