Contributing

Reporting bugs

  • Make sure you have the latest version by executing pip install --user --upgrade vdirsyncer.
  • Include the Python version, your configuration, the commands you’re executing, and their output.
  • Use --verbosity=DEBUG when including output from vdirsyncer.

Suggesting features

If you’re suggesting a feature, keep in mind that vdirsyncer tries not to be a full calendar or contacts client, but rather just the piece of software that synchronizes all the data. Take a look at the documentation for software working with vdirsyncer.

Submitting patches, pull requests

  • Discuss everything in the issue tracker first (or contact me somehow else) before implementing it.
  • Make sure the tests pass. See below for running them.
  • But not because you wrote too few tests.
  • Add yourself to AUTHORS.rst, and add a note to CHANGELOG.rst too.

Running tests, how to set up your development environment

For many patches, it might suffice to just let Travis run the tests. However, Travis is slow, so you might want to run them locally too. For this, set up a virtualenv and run this inside of it:

make install-test
make install-style

This will install all dependencies required for the integration tests against the latest release of Radicale (a CalDAV server). Then you can run:

make test
make style  # Stylechecker

If you have any questions, feel free to open issues about it.