Welcome to gget's contributing guide

Thank you for investing your time in contributing to our project! Any contribution you make will be reflected on the gget repo. ✨

Read our Code of Conduct to keep our community approachable and respectable.

In this guide you will get an overview of the contribution workflow from opening an issue or creating a pull request (PR) to reviewing and merging a PR.

Issues

Create a new issue

If you spot a problem with gget or you have an idea for a new feature, check if an issue already exists. If a related issue doesn't exist, you can open a new issue using the relevant issue form.

Solve an issue

Scan through our existing issues to find one that interests you. You can narrow down the search using labels as filters. If you find an issue to work on, you are welcome to open a PR with a fix.

Contribute through pull requests

Getting started

  1. Fork the repository.
  1. Create a working branch and start with your changes!

Commit your update

Commit the changes once you are happy with them.

‼️ Self-review the following before creating a Pull Request ‼️

  1. Review the content for technical accuracy.
  2. Copy-edit the changes/comments for grammar, spelling, and adherence to the general style of existing gget code.
  3. Format your code using black.
  4. Make sure the unit tests pass:
    • Developer dependencies can be installed with pip install -r dev-requirements.txt
    • Run existing unit tests from the gget repository root with coverage run -m pytest -ra -v tests && coverage report --omit=main.py,tests*
  5. Add new unit tests if applicable:
    • Arguments and expected results are stored in json files in ./tests/fixtures/
    • Unit tests can be added to ./tests/test_*.py and will be automatically detected
  6. Make sure the edits are compatible with both the Python and the command line interface
    • The command line interface and arguments are defined in ./gget/main.py
  7. Add new modules/arguments to the documentation if applicable:
    • The manual for each module can be edited/added as ./docs/src/*.md

If you have any questions, feel free to start a discussion or create an issue as described above.

Pull Request

When you're finished with the changes, create a pull request, also known as a PR.

‼️ Please make all PRs against the dev branch of the gget repository.

  • Don't forget to link PR to issue if you are solving one.
  • Enable the checkbox to allow maintainer edits so the branch can be updated for a merge.
  • If you run into any merge issues, checkout this git tutorial to help you resolve merge conflicts and other issues.

Once you submit your PR, a gget team member will review your proposal. We may ask questions or request additional information.

Your PR is merged!

Congratulations! 🎉 The gget team thanks you. ✨

Once your PR is merged, your contributions will be publicly visible on the gget repo.