Contributing¶
Thanks for considering contributing to Cardroom! Your contributions are greatly appreciated, and help make Cardroom a better tool for everyone in the computer engineering community.
Setting up Your Development Environment¶
Fork the Cardroom repository on GitHub.
Clone your fork locally:
git clone git@github.com:uoftcprg/cardroom.gitSetup virtual environment:
python -m venv venvActivate the virtual environment:
source venv/bin/activateInstall requirements:
pip install -r requirements.txtCreate a branch for your changes:
git checkout -b branch-name
Making Changes¶
When making changes, please follow these guidelines:
Always write your code in compliance with PEP8.
Write unit tests for your changes, and make sure all tests pass before submitting a pull request.
Document your changes in the code and update the README file if necessary.
After making changes, please validate your changes.
Run style checking:
flake8 cardroomRun static type checking:
mypy cardroomRun checks for missing docstrings:
interrogate -f 100 -i -m -n -p -s -r '^\w+TestCase' cardroomRun unit tests:
DJANGO_SETTINGS_MODULE=settings python -m cardroom testRun doctests:
python -m doctest cardroom/*.py
Submitting a Pull Request¶
Commit your changes:
git commit -am 'Add some feature'Push to the branch:
git push origin branch-nameSubmit a pull request to the
mainbranch in the Cardroom repository.
Before submitting your pull request, please make sure the mypy static type checking, flake8, unit tests pass, and your code adheres to PEP8.
After Your Pull Request Is Merged¶
After your pull request is merged, you can safely delete your branch and pull the changes from the main repository:
Delete the remote branch on GitHub:
git push origin --delete branch-nameCheck out the main branch:
git checkout mainDelete the local branch:
git branch -d branch-nameUpdate your main with the latest upstream version:
git pull upstream main