How to contribute to Universal Memory Interface (UMI)
November 6, 2023 ยท View on GitHub
Thank you for considering contributing to the UMI project!
General guidelines
- Start small, relationships need time to grow
- All new features must come with tests
- Keep PRs short to simplify review
- Large PRs should be preceded by discussions
- Discuss with core team before proposing core changes
- PRs should include changes only to files related to change
- Comply with coding guidelines/style of project
- Avoid style only code based PRs
Reporting issues
Include the following information in your post:
- Describe what you expected to happen
- Include a minimal reproducible example
- Describe what actually happened
- Include the full traceback if there was an exception
- List your Python and UMI versions
- Check if this issue is already fixed in the latest releases
Submitting patches
If there is not an open issue for what you want to submit, prefer opening one for discussion before working on a PR. You can work on any issue that doesn't have an open PR linked to it or a maintainer assigned to it. These show up in the sidebar. No need to ask if you can work on an issue that interests you.
Include the following in your patch:
- Include tests if your patch adds or changes code.(should fail w/o patch)
- Update any relevant docs pages and docstrings
First time setup
-
Download and install git
-
Configure your git username
-
Configure your git email
$ git config --global user.name 'your name'
$ git config --global user.email 'your email'
- Make sure you have a github account
Clone/Fork Repository
$ git clone https://github.com/{username}/umi
$ cd umi
- Add fork as a remote to push your work to. (external contributors only)
$ git remote add fork https://github.com/{username}/umi
Start coding
- Create a branch to identify the issue you would like to work on.
$ git fetch origin
$ git checkout -b your-branch-name origin/main
-
Using your favorite editor, make your changes, and commit
-
Include tests that cover any code changes you make. Make sure the test fails without your patch. Run the tests as described below.
-
Push your commits to your fork on GitHub (external contributors)
$ git push --set-upstream fork your-branch-name
- Push your commits to your umi branch on GitHub (team contributors)
$ git push -u origin your-branch-name
Running the tests
Testbench and run scripts are provided for some of the modules in
Create a Pull Request
- Create a pull request through github.
Resources
Original version based on Flask contribution guidelines