Contributing

Thank you for considering contributing to khard!

Khard is developed on Github where you are welcome to post bug reports, feature requests or join the discussion in general.

Bug reports

If you want to report a bug keep in mind that the following things make it much easier for maintainers to help:

  • update to the latest version if possible and verify the bug there

  • report the version(s) that are affected

  • state the python version you are using

  • if there are stack tracebacks post them with your bug report

  • supply a minimal configuration (config file and vcards) to reproduce the error

Feature requests

Please stick to the following standards when you open pull requests:

  • Khard’s development tries to follow Vincent’s branching model so normal pull requests should be made against the develop branch. Only important bug fixes that affect the current release should be opened against master.

  • Write “good” commit messages, especially a proper subject line. This is also explained in the Git book.

  • Format your python code according to PEP 8. Tools like pylint also help in writing maintainable code.

  • Khard has a test suite, please provide tests for bugs that you fix and also for new code and new features that are introduced.

  • Please verify all tests pass before sending a pull request, they will be checked again by travis but it might be a lot faster to check locally first: build status

Development

In order to start coding you need to fetch the develop branch:

git clone https://github.com/scheibler/khard
cd khard
python setup.py build  # to generate the version.py file
python -m khard --help
# or
pip3 install --editable .
khard --help

Alternatively you can use the setup.py script directly. If you want to isolate khard from your system Python environment you can use a virtualenv to do so.