Contribution
We warmly welcome contributions to the Melodie project! Whether it’s reporting a bug, suggesting a new feature, or submitting code, your help is valuable. This guide outlines how you can contribute effectively.
Reporting Issues
If you encounter a bug, have a question, or want to suggest an enhancement, the best place to do so is on the GitHub Issues page.
Bug Reports
A well-documented bug report helps us diagnose and fix problems faster. Please include the following:
System Information: Melodie provides a command to gather essential system details. Please run it in your terminal and include the output in your report:
python -m Melodie info
Steps to Reproduce: Provide a clear, step-by-step description of how to reproduce the bug. A minimal, self-contained code example is highly appreciated.
Expected vs. Actual Behavior: Clearly describe what you expected to happen and what actually happened.
Feature Requests
If you have an idea for a new feature or an improvement to an existing one, please open an issue to start a discussion. Describe the functionality you’d like to see and your use case.
Contributing Code
If you’d like to contribute code by fixing a bug or adding a new feature, please follow this standard workflow:
Fork the Repository: Create your own fork of the Melodie repository on GitHub.
Developer Installation: Set up your local development environment by following the Developer Installation instructions in the Installation guide.
Create a Branch: Create a new branch from
mainfor your changes. A descriptive name is helpful (e.g.,fix-visualizer-bugorfeature-new-network-type).Make Changes: Implement your bug fix or new feature. Ensure your code follows the existing style and includes appropriate docstrings and comments.
Run Tests: Before submitting, please run the test suite to ensure your changes haven’t introduced any regressions.
Submit a Pull Request (PR): Push your branch to your fork and open a pull request against the
mainbranch of the Melodie repository. Provide a clear title and description of your changes.
Adding to the Model Gallery
We are also excited to showcase models developed with Melodie! If you have a project you’d like to share with the community, you can contribute by:
Adding the complete and runnable source code of your model to the
examples/directory.Creating a corresponding documentation page in the Model Gallery section, explaining the model’s concept and implementation.
This is a great way to share your work and help others learn Melodie.