Contributing

If you want to add some functionality or you spot a bug and you want to fix it yourself, you can fork the Github repository and make all your changes in your local clone.

Once you are done, please submit all your changes by issuing a pull request.

When you are writing your code, please take into account the following basic rules:

  • Always include some unit tests for the new code you write or the bugs you fix. Or, update the existent unit tests, if necessary.
  • Stick to PEP-8 styling.

Testing

We use Pytest to unit test Django Tracking Analyzer. You can run the tests in your local in 3 different ways, depending on what you want to check:

Simply run the unit tests. This should be enough for everybody:

python setup.py test

Run tests with code coverage analysis:

python setup.py test --pytest-args "--cov-report xml --cov tracking_analyzer tests/ --verbose --junit-xml=junit.xml --color=yes"

Run tests with coverage and Pylint/PEP8 checking:

python setup.py test --pytest-args "--cov-report xml --cov tracking_analyzer tests/ --verbose --junit-xml=junit.xml --color=yes --pylint --pylint-rcfile=pylint.rc --pep8"

Versioning

Compliance API uses bumpversion package to manage versioning. You can install bumpversion regularly via pip:

pip install bumpversion

You can now bump parts of version.

Version bumps with examples:

  • bumpversion patch: 0.1.0 -> 0.1.1
  • bumpversion minor: 0.1.1 -> 0.2.0
  • bumpversion major: 0.2.0 -> 1.0.0

Warning: Each version bump will also create commit with tag.