No description
Find a file
Markus Unterwaditzer 5fd866b41b Fix severe bug in davstorage
where (href, etag) instead of etag would be returned.

Thanks for @slavkoja for finding it.
2014-05-18 13:39:33 +02:00
tests Fix severe bug in davstorage 2014-05-18 13:39:33 +02:00
vdirsyncer Fix severe bug in davstorage 2014-05-18 13:39:33 +02:00
.gitignore Move radicale back into main repo 2014-04-13 14:26:04 +02:00
.travis.yml Add Python 3.4 2014-05-03 19:56:43 +02:00
build.sh Install coverage.py outside of travis too 2014-04-30 01:03:54 +02:00
CONTRIBUTING.rst Be Python 3 compatible 2014-04-16 15:28:01 +02:00
example.cfg Add some information about the verify parameter. 2014-05-02 12:13:06 +02:00
LICENSE Copyright headers, more docstrings 2014-02-28 14:44:07 +01:00
README.rst Update README re build scripts 2014-04-30 00:40:05 +02:00
setup.cfg Move testserver-specific code into different repos 2014-04-12 16:23:32 +02:00
setup.py Start depending on icalendar 2014-05-15 13:34:11 +02:00

==========
vdirsyncer
==========

vdirsyncer synchronizes your calendars and addressbooks between two storages.
The supported storages are CalDAV, CardDAV, arbitrary HTTP resources and
`vdir <https://github.com/untitaker/vdir>`_.

It aims to be for CalDAV and CardDAV what `OfflineIMAP
<http://offlineimap.org/>`_ is for IMAP.

.. image:: https://travis-ci.org/untitaker/vdirsyncer.png?branch=master
    :target: https://travis-ci.org/untitaker/vdirsyncer

.. image:: https://coveralls.io/repos/untitaker/vdirsyncer/badge.png?branch=master
    :target: https://coveralls.io/r/untitaker/vdirsyncer?branch=master

While i use it daily and haven't experienced data loss (even when vdirsyncer
crashed), i don't know if the documentation is sufficient. If you have any
questions regarding the usage, feel free to open a new issue.

CardDAV/CalDAV Server Support
=============================

vdirsyncer is currently tested against the latest versions of Radicale and
ownCloud.

Radicale
--------

Radicale doesn't `support time ranges in the calendar-query of CalDAV/CardDAV
<https://github.com/Kozea/Radicale/issues/146>`_, so setting ``start_date`` and
``end_date`` in vdirsyncer's configuration will have no or unpredicted
consequences.

ownCloud
--------

ownCloud uses SabreDAV, which had problems detecting collisions and
race-conditions. The problems were reported and are fixed in SabreDAV's repo.
See `Bug #16 <https://github.com/untitaker/vdirsyncer/issues/16>`_ for more
information.

However, given that this is a problem with every setup involving ownCloud, and
that ownCloud is widely used, it apparently isn't big enough of a problem yet.

How to use
==========

vdirsyncer requires Python >= 2.7 or Python >= 3.3.

As all Python packages, vdirsyncer can be installed with ``pip``::

    pip install --user vdirsyncer

Then copy ``example.cfg`` to ``~/.vdirsyncer/config`` and edit it. You can use the
`VDIRSYNCER_CONFIG` environment variable to change the path vdirsyncer will
read the config from.

Run ``vdirsyncer --help``. If you experience any problems, consult the `wiki's
troubleshooting page
<https://github.com/untitaker/vdirsyncer/wiki/Troubleshooting>`_ or create a
new issue.

How to run the tests
====================

::

    sh build.sh install
    sh build.sh run

License
=======

vdirsyncer is released under the Expat/MIT License, see ``LICENSE`` for more
details.