Configure mypy as a pre-commit hook and add all type hints necessary for
mypy to pass.
There's still more work to be done here typing a lot more code, but this
provides a clear starting point.
reorder-python-imports is hard to set up correctly.
isort is a lot simpler to set to set up it locally, and is kinda
becoming the standard in the python world.
The import style remains the same, and is tweaked to minimise conflicts.
Add asyncio to the storage backends and most of the codebase. A lot of
it merely uses asyncio APIs, but still doesn't actually run several
things concurrently internally. Further improvements will be added on
top of these changes
Thanks to Thomas Grainger (@graingert) for a few useful pointers
related to asyncio.
The main advantage here is that its dependencies are TOTALLY separate
from vdirsyncer's, keeping the runtime environment for vdirsyncer
cleaner.
It also makes testing locally not only possible, but fast and pleasant.
* Revert "Don't test development Radicale"
This reverts commit 7a5241101e.
* Fix Radicale test setup
* Radicale is very tolerant
* Simplify test such that output is more predictable
* Runtime version check for Radicale
* Don't create user explicitly
* stylefix
* Shorter tracebacks
Travis logs are very hard to read