Contributing to django-taggit

Jazzband

This is a Jazzband project. By contributing you agree to abide by the Contributor Code of Conduct and follow the guidelines.

Thank you for taking the time to contribute to django-taggit.

Follow these guidelines to speed up the process.

Reach out before you start

Before opening a new issue, look if somebody else has already started working on the same issue in the GitHub issues and pull requests.

Fork the repository

Once you have forked this repository to your own GitHub account, install your own fork in your development environment:

git clone git@github.com:<your_fork>/django-taggit.git
cd django-taggit
python setup.py develop

Running tests

django-taggit uses tox to run tests:

tox

Follow style conventions (black, flake8, isort)

Check that your changes are not breaking the style conventions with:

tox -e black,flake8,isort

Update the documentation

If you introduce new features or change existing documented behavior, please remember to update the documentation.

The documentation is located in the docs directory of the repository.

To do work on the docs, proceed with the following steps:

pip install sphinx
sphinx-build -n -W docs docs/_build

Add a changelog line

Even when the change is minor, a changelog line is helpful to both describe the intent of the change, and to give a heads up to people upgrading. You can add a line in the (Unreleased) section of CHANGELOG.rst, along with any more detailed explanations for more complicated changes.

Send pull request

It is now time to push your changes to GitHub and open a pull request!

Release Checklist

These steps need to happen by a release maintainer.

To make a release, the following needs to happen:

  • Make sure that setup.cfg is set up properly w/r/t Python and Django requirements

  • Make sure the documentation (docs/index.rst) also describes the right Python/Django versions

  • Bump the version number in taggit/__init__.py

  • Update the changelog (making sure to add the (Unreleased) section to the top)

  • Get those changes onto the master branch

  • Tag the commit with the version number

  • CI should then upload a release to be verified through Jazzband