First off, thank you for considering contributing to MM Toolbox! Your help is essential to maintaining and improving this project. I appreciate your interest and efforts.
If you encounter any bugs, issues, or have feature requests, please open an issue on GitHub. Provide as much detail as possible, including:
- A clear and descriptive title
- A detailed description of the problem or feature request
- Steps to reproduce the issue (if applicable)
- Code snippets or screenshots (if helpful)
- The environment you’re using (e.g., Python version, OS, etc.)
To start contributing:
- Fork the repository to your GitHub account.
- Clone your forked repository to your local machine:
git clone https://github.com/beatzxbt/mm-toolbox.git cd mm-toolbox
Create a new branch for your contribution:
git checkout -b feature-or-bugfix-nameMake sure to choose a descriptive name for your branch that reflects the changes you intend to make.
Install these by doing:
pip install -r requirements.txtImplement your changes in the appropriate module(s). Be sure to format your code with black and add numpy style docstrings where neccesary. If possible, avoid introducing new dependencies.
Ensure that your changes are well-tested. If you add new functionality, write corresponding unit tests. Tests are located in the tests/ directory.
Run the tests to ensure everything is working correctly:
python -m unittest discover testsBefore committing, please make sure your code follows the project's coding standards. Use descriptive commit messages:
git add .
git commit -m "Descriptive message about your changes"Push your changes to your forked repository:
git push origin feature-or-bugfix-nameGo to the original repository on GitHub and create a Pull Request (PR) from your forked repository.
In your PR:
- Provide a clear and descriptive title.
- Explain the purpose and details of your changes.
- Mention any related issues or PRs.
- Highlight any particular areas you'd like reviewers to focus on.
Your PR will be reviewed by the maintainers. You may be asked to make additional changes based on feedback. Please address these promptly to move the process forward.
- Follow PEP 8 for Python code style (black makes this very simple).
- Keep functions and classes well-documented with clear and concise comments.
- Use descriptive variable and function names.
- Write unit tests for all new features and ensure existing tests pass.
By contributing to MM Toolbox, you agree that your contributions will be licensed under the MIT License.