Contributing¶
We welcome contributions to numgrids of all kinds – bug reports, feature ideas, documentation improvements, and code patches. This guide explains how to get involved.
Reporting Bugs¶
If you encounter a bug, please check the existing GitHub Issues first to make sure it has not already been reported.
If the bug is new, open an issue and include:
A clear title and description of the problem.
As much relevant context as possible (Python version, OS, numgrids version).
A minimal code sample or executable test case that demonstrates the unexpected behavior.
Feature Requests¶
Have an idea for a new feature or want to change existing behavior? Start a conversation in the numgrids Discussion Forum before writing code. This lets the community provide early feedback and avoids duplicate effort.
Note
Please do not open a GitHub Issue for feature requests. Issues are reserved for confirmed bug reports. Use Discussions instead.
Pull Request Workflow¶
Fork the repository on GitHub.
Clone your fork locally:
git clone https://github.com/<your-username>/numgrids.git cd numgrids
Create a feature branch from
main:git checkout -b my-feature
Develop your changes. Follow the existing code style and patterns in the project – consistency matters more than any specific formatter.
Write tests for any new functionality. Every new feature or bug fix should come with at least one test that verifies the expected behavior. See Testing for details on how to run and write tests.
Run the test suite to make sure nothing is broken:
python -m pytest tests
Commit your changes with a clear, descriptive commit message.
Push your branch to your fork and open a Pull Request against the
mainbranch of the upstream repository. In the PR description, clearly explain the problem and your solution. Reference any related issue numbers.
Code Style¶
Follow the patterns and conventions already used in the codebase.
Keep functions focused and well-documented with docstrings.
Write tests for all new code paths.
Use meaningful variable and function names.
Questions?¶
If you have questions about the source code, usage, or anything else related to numgrids, feel free to ask in the Discussion Forum.
Thank you for helping improve numgrids!