Skip to content

Latest commit

 

History

History
139 lines (91 loc) · 6.38 KB

CONTRIBUTING.md

File metadata and controls

139 lines (91 loc) · 6.38 KB

Contributing to OWSLib

We welcome contributions to OWSLib, in the form of issues, bug fixes, documentation or suggestions for enhancements. This document sets out our guidelines and best practices for such contributions.

It's based on the Contributing to Open Source Projects Guide.

OWSLib has the following modes of contribution:

  • GitHub Commit Access
  • GitHub Pull Requests

By Humans, For Humans (BHFH)

Software continues to improve (and be improved by) automation, including assistance made by artificial intelligence (AI).

While AI is a valuable tool, it does not replace humans, craftsmanship and community.

This project is made by humans, for humans.

Contributions assisted by AI must be put forth with a human in the driver's seat, who cares about and understands this project.

If this is not the case, we recommend not submitting contributions of this nature (Pull Requests, Merge Requests, etc.), as they will not be accepted.

For more information about our views on AI, please see the Responsible AI Guide.

Thank you for your support, belief and faith in humanity and community.

Code of Conduct

Contributors to this project are expected to act respectfully toward others in accordance with the OSGeo Code of Conduct.

Submitting Bugs

Due Diligence

Before submitting a bug, please do the following:

  • Perform basic troubleshooting steps:

    • Make sure you're on the latest version. If you're not on the most recent version, your problem may have been solved already! Upgrading is always the best first step.
    • Search the issue tracker to make sure it's not a known issue.

What to put in your bug report

Make sure your report gets the attention it deserves: bug reports with missing information may be ignored or punted back to you, delaying a fix. The below constitutes a bare minimum; more info is almost always better:

  • What version of Python are you using? For example, are you using Python 3.7, Python 3.15, PyPy 2.0?
  • What operating system are you using? Windows (10, 11, 32-bit, 64-bit), Mac OS X, (15.8.1, 27.0.1), GNU/Linux (which distribution, which version?) Again, more detail is better.
  • Which version or versions of the software are you using? Ideally, you've followed the advice above and are on the latest version, but please confirm this.
  • How can we recreate your problem? Imagine that we have never used OWSLib before and have downloaded it for the first time. Exactly what steps do we need to take to reproduce your problem?

Contributions and Licensing

Contributor License Agreement

Your contribution will be under our license as per GitHub's terms of service.

GitHub Commit Access

  • Proposals to provide developers with GitHub commit access shall be emailed to the OWSLib Development mailing list. Committers shall be added by the project admin.
  • Removal of commit access shall be handled in the same manner.

GitHub Pull Requests

Version Control Branching

  • Always make a new branch for your work, no matter how small. This makes it easy for others to take just that one set of changes from your repository, in case you have multiple unrelated changes floating around.

    • Don't submit unrelated changes in the same branch/pull request! If it is not possible to review your changes quickly and easily, we may reject your request.
  • Base your new branch off of the appropriate branch on the main repository:

    • In general the released version of OWSLib is based on the master (default) branch whereas development work is done under other non-default branches. Unless you are sure that your issue affects a non-default branch, base your branch off the master one.
  • Note that depending on how long it takes for the dev team to merge your patch, the copy of master you worked off of may get out of date!

    • If you find yourself 'bumping' a pull request that's been sidelined for a while, make sure you rebase or merge to latest master to ensure a speedier resolution.

Testing

  • testing is performed using pytest and covers all major components (API core, providers, formatters, managers, etc.)
  • additional information can be found in the documentation

Documentation

  • documentation is managed in docs/, in reStructuredText format
  • Sphinx is used to generate the documentation
  • See the reStructuredText Primer on rST markup and syntax
  • additional information can be found in the documentation

Wiki

  • the OWSLib wiki provides working level documentation and various community resources

Code Formatting

  • Please follow the coding conventions and style used in the OWSLib repository.
  • OWSLib follows the PEP-8 guidelines
  • Follow the configured maximum line length of 120 characters
  • Use spaces, not tabs
  • additional information can be found in the documentation

Suggesting Enhancements

We welcome suggestions for enhancements, but reserve the right to reject them if they do not follow future plans for OWSLib.