Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add instructions for wrapping new module #1687

Draft
wants to merge 12 commits into
base: main
Choose a base branch
from

Conversation

maxrjones
Copy link
Member

Description of proposed changes

This PR adds the guidance from #1599 to the contributing guide and shortens the pull request reminders based on the conversation at #1629 (comment).

Fixes #1599

Reminders

  • Run make format and make check to make sure the code follows the style guide.
  • Add tests for new features or tests that would have caught the bug that you're fixing.
  • Add new public functions/methods/classes to doc/api/index.rst.
  • Write detailed docstrings for all functions/methods.
  • If wrapping a new module, open a 'Wrap new GMT module' issue and submit reasonably-sized PRs.
  • If adding new functionality, add an example to docstrings or tutorials.

Slash Commands

You can write slash commands (/command) in the first line of a comment to perform
specific operations. Supported slash commands are:

  • /format: automatically format and lint the code
  • /test-gmt-dev: run full tests on the latest GMT development version

@maxrjones maxrjones marked this pull request as draft December 27, 2021 21:16
doc/contributing.md Outdated Show resolved Hide resolved
doc/contributing.md Outdated Show resolved Hide resolved
Comment on lines +498 to +500
These steps will be tracked in the 'Wrapper for `<module-name>`' issue and the
['wrapping GMT modules'](https://github.com/GenericMappingTools/pygmt/projects/9)
project board. The pull requests can be split between multiple contributors and
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should either track the module updates in a project board (my preference) or an issue, but not both.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you think we should abandon the 'Wrapper for <module-name>' issues entirely or keep the issues/issue-template and just move the checklist to the project board? I think the main benefit of the issues is that from my understanding any GitHub user can open/comment on an issue whereas writing on the project board requires special permissions.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the project board works better for tracking the progress of wrapping a module, and that having a separate issue for wrapping the function is a bit redundant. I see what you mean about the benefits of issues being open to everyone, but my thought is that wrapping modules is a pretty routine process and doesn't need to first be raised as an issue (unlike a bug or a feature request). We can add some/all of the GMT modules to the project board to track their process. Users who don't have write permission are still free to open up an issue requesting a module/feature (or a pull request! 🤞) as a way to let us know that a certain feature would be useful to them.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the benefits of issues being open to everyone

IMHO, issues are also more visible than project boards, so that we may have more potential contributors helping wrap new modules and add more aliases.

@seisman seisman added this to the 0.6.0 milestone Dec 30, 2021
@seisman seisman added the documentation Improvements or additions to documentation label Dec 30, 2021
doc/contributing.md Outdated Show resolved Hide resolved
doc/contributing.md Outdated Show resolved Hide resolved
Co-authored-by: Will Schlitzer <[email protected]>
Comment on lines +536 to +539
#### Add missing aliases

After the initial implementation, the missing aliases can be added in a
separate PR (e.g., [add missing aliases to grd2xyz](https://github.com/GenericMappingTools/pygmt/pull/1537/files)).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might need to get a newer example once we go with the long option standard in #1932.

doc/contributing.md Outdated Show resolved Hide resolved
doc/contributing.md Outdated Show resolved Hide resolved
@seisman seisman modified the milestones: 0.8.0, 0.9.0 Dec 11, 2022
@seisman seisman modified the milestones: 0.9.0, 0.10.0 Mar 19, 2023
@weiji14 weiji14 modified the milestones: 0.10.0, 0.11.0 Aug 24, 2023
@seisman seisman modified the milestones: 0.11.0, 0.12.0 Dec 11, 2023
@seisman seisman removed this from the 0.12.0 milestone Feb 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Policy on wrapping new GMT modules step by step from initial implementation to gallery example
4 participants