Thank you for your interest in contributing to PyRootFinder.
This project welcomes all types of contributions—code improvements, documentation updates, bug reports, and feature suggestions. Please review the relevant sections below before submitting your contribution. Doing so helps maintainers review your work efficiently and ensures a smooth experience for everyone involved.
If you find the project useful but are unable to contribute directly, you can still support it by:
- Starring the repository
- Sharing it on social media
- Mentioning it in your own projects
- Recommending it to peers and colleagues
All contributors are expected to follow the Code of Conduct. Please report any unacceptable behavior to the maintainers.
Before opening a new issue, please:
If your question remains unresolved:
- Open a new issue with a clear title and detailed description
- Include relevant environment details (Python version, OS, etc.)
- Provide minimal code to reproduce the issue if applicable
Before submitting a bug report:
- Confirm the issue exists in the latest version
- Check for similar reports in the issue tracker
- Collect relevant details:
- Python version and OS
- Stack trace or error message
- Function input and expected output
- Steps to reproduce the issue
To report a bug:
- Open a new issue
- Use a descriptive title
- Include all relevant information and reproduction steps
Enhancement suggestions may include new solvers, API improvements, or usability features.
Before submitting:
- Confirm the idea is not already implemented or proposed
- Ensure it aligns with the project's scope
- Provide a clear rationale for its usefulness
To suggest an enhancement:
- Open a new issue
- Describe the current behavior and the proposed change
- Include examples, alternatives considered, and potential impact
To contribute code:
- Fork the repository and clone your fork
- Create a new branch for your changes
- Make your changes following the style guidelines
- Add or update tests in the
tests/directory - Run tests locally:
python -m unittest discover tests
- Commit with a clear message and push to your fork
- Open a pull request with a summary of changes
All solvers must return a RootResult object and handle edge cases gracefully.
Documentation contributions are welcome. You may:
- Fix typos or formatting
- Clarify usage examples
- Expand API descriptions
- Add tutorials or guides
Please ensure changes are consistent with the project's tone and structure.
Use clear and conventional commit messages. Examples:
fix: handle zero derivative in Newton methodfeat: add Halley's method solverdocs: update README with usage examples
By contributing, you confirm that:
- You have authored 100% of the content
- You have the necessary rights to submit the content
- Your contribution may be distributed under the MIT license