Contributing¶
We welcome and encourage everyone to contribute to Visual Bayesic! Contributions can come in many forms, including questions, bug reports, feature requests, and new code. Here’s how to get involved.
Issues¶
Questions¶
For questions about Visual Bayesic (e.g., its applications, functionality, and usage), please search the existing issues for related questions <https://github.com/visual-bayesic/visual-bayesic/issues>. If your question hasn’t been asked yet, feel free to open a new issue.
Reporting Bugs¶
If you encounter a bug, please report it on the issue page using the bug report template <https://github.com/visual-bayesic/visual-bayesic/issues/new?assignees=&labels=&template=bug_report.md&title=> and label the issue as a bug. The template will guide you through providing the necessary information to understand, reproduce, and fix the issue. Remember, the more details you provide, the easier it is for us to help!
Feature Requests¶
We encourage users to submit ideas for new features or improvements to Visual Bayesic. Please create a feature request issue on the issue page <https://github.com/visual-bayesic/visual-bayesic/issues> using the appropriate template and label. A descriptive title and thorough background information will help us understand and implement the functionality in the future.
Contributing New Code¶
We welcome code contributions, big or small. This could be anything from fixing a typo to adding new functionality. Before contributing, please ensure your code addresses an open issue. If you’ve identified a bug or have a new feature idea, please open an issue <https://github.com/visual-bayesic/visual-bayesic/issues/new/choose> for discussion and link to it in your pull request.
Python Code Guidelines¶
Adhere to [The Zen of Python](https://www.python.org/dev/peps/pep-0020/) with a focus on readability.
Follow the [Style Guide for Python Code (PEP8)](https://www.python.org/dev/peps/pep-0008/).
Document your code effectively according to [PEP 257](https://www.python.org/dev/peps/pep-0257/) and the [Google Python Style Guidelines](http://google.github.io/styleguide/pyguide.html).
Use inline comments judiciously to explain the why behind certain code blocks.
Every new line of code should ideally be covered by tests.
Licensing¶
All contributions will be licensed under the [EUPL-1.2 license](https://github.com/visual-bayesic/visual-bayesic/blob/master/LICENSE). It’s your responsibility to ensure that any code you did not write yourself is compatible with this license and is properly attributed.
Testing¶
Familiarize yourself with [pytest](https://docs.pytest.org/) for testing. Run all tests locally before creating a pull request. To run the tests, navigate to your Visual Bayesic folder and execute pytest. Any new code must include tests in the pull request.
Pull Requests¶
Contributions should be made via pull requests (PRs) to the master branch. Please follow the checklist in the [PR template](https://github.com/visual-bayesic/visual-bayesic/blob/master/.github/PULL_REQUEST_TEMPLATE.md) to ensure your contribution is ready for review.