Commit graph

98 commits

Author SHA1 Message Date
Hugo Osvaldo Barrera
b50f9def00 Ensure type annotations are backwards compatible
Related: https://github.com/pimutils/todoman/issues/544
2023-10-29 16:04:23 +01:00
Hugo Osvaldo Barrera
d26557bee3 Python 3.10 and 3.11 are also supported
We've been running 3.11 on CI for a while now.
2023-06-26 19:04:23 +02:00
Hugo Osvaldo Barrera
ea640001d0 Support click-log 0.4.0 2022-03-14 16:25:54 +01:00
Hugo Osvaldo Barrera
961203e865 Require aiohttp >= 3.8.0
See https://github.com/pimutils/vdirsyncer/issues/916#issuecomment-957671206
See https://github.com/aio-libs/aiohttp/issues/5156
2021-11-02 18:07:13 +01:00
Hugo Osvaldo Barrera
c77d750ef6 Drop etesync
The current [experimental] implementation is stale, and hasn't been
maintained for a long time. Regrettably, not even its tests still work,
and there nobody interested in maintaining it.

If anyone is interested in re-implementing this in a third-party
package, I can consider adding support for pluggable storages.
2021-10-05 22:13:59 +02:00
Hugo Osvaldo Barrera
f3714fc493 Add type hints and configure mypy
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.
2021-08-03 19:23:37 +02:00
Hugo Osvaldo Barrera
5b8f00e720 Sort imports 2021-07-25 18:35:47 +02:00
Hugo Osvaldo Barrera
dfed9794cb Port google storage to use asyncio 2021-06-26 13:40:38 +02:00
Hugo Osvaldo Barrera
1a1f6f0788 Initial async support
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.
2021-06-26 13:40:35 +02:00
Hugo Osvaldo Barrera
8d62ac4279 Pin the maximum version of click
We're likely won't be compatible with 9.0.
2021-06-12 16:28:27 +02:00
Hugo Osvaldo Barrera
addab47786 Update click-threading to 0.5.0
Previous version broke with recent `click` updates.
2021-05-30 22:30:01 +02:00
Hugo Osvaldo Barrera
d2d41e5df1 Use black to auto-format the codebase 2021-05-06 19:28:54 +02:00
Hugo Osvaldo Barrera
8ac4a00306 Add support for Python 3.9 2021-04-05 23:28:39 +02:00
Hugo Osvaldo Barrera
3eb9ce5ae4 Add compatibility with latest click 2020-06-09 14:45:02 +02:00
Hugo Osvaldo Barrera
b1b4dd92fe Sort imports
I don't want to ever have to sort imports again. It's a poor use of
developer time. Automate this with a pre-commit hook, and check this on
CI.

Developers: I suggest you configure your editor to use
`reorder_python_imports`. It uses the standard sorting, and detects
first/third party libs well.
2020-06-09 14:34:45 +02:00
Hugo Osvaldo Barrera
9cb1f8d704 Drop support for Python 3.5 and 3.6 2020-06-09 14:33:14 +02:00
Hugo Osvaldo Barrera
399274286e Add classifiers for Python 3.7 and 3.8 2020-06-09 13:01:22 +02:00
Hugo Osvaldo Barrera
308289febf Remove python2 leftover code 2020-06-08 18:40:33 +02:00
Hugo Osvaldo Barrera
eece9a6bde Update requests
2.20.0 is almost two years old, so we can safely assume anyone wanting a
recent vdirsyncer can upgrade.

It's also the first version to include several upstream security fixes
which I'd rather we depend on too.
2020-06-08 18:40:33 +02:00
Hugo Osvaldo Barrera
aafafaa501 Pin dependencies for ete tests 2020-06-08 17:16:28 +02:00
Hugo Osvaldo Barrera
72ea0a6ad3 Pin etesync 2020-06-08 15:31:20 +02:00
Hugo Osvaldo Barrera
e987d6eb4a Drop Python 3.4
Never gonna get master back to green working with a dead Python.
2020-06-08 13:34:17 +02:00
Hugo Osvaldo Barrera
83fe7d2c8a Pin dependencies to older versions
Just to get master back up and running again, pin libraries to the
versions we used back when the latest development happened.

I'll start upgrading them gradually, but need a green master first.
2020-06-08 13:15:27 +02:00
Markus Unterwaditzer
83026ad7de require click-log 0.3.0 2018-06-13 18:00:01 +02:00
Markus Unterwaditzer
9e3c231cc3 Remove Python 3.3 support (#674)
* Remove Python 3.3 support
2017-10-02 14:38:54 +02:00
Markus Unterwaditzer
6954b26e0f Fixes for click-log 0.2.0 2017-08-24 13:29:20 +02:00
Markus Unterwaditzer
37a1eb2fdb Remove remoteStorage (#648)
Fix #647
2017-07-02 18:42:55 +02:00
Markus Unterwaditzer
0d9ec646d7 Initial etesync support (#614)
* Initial etesync support

* Optimized get()

* Bugfixes

* bugfixes

* Add writing operations

* collection creation WIP

* Fix collection creation

* tests wip

* wip

* Final touch for test setup

* actually skip tests

* Disable metadata tests

* Avoid polluting working tree

* Avoid importing wsgi-intercept if not installed

* Fix collection tests

* Proper teardown

* Skip bad test

* Remove vtodo

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Add docs

* Remove useless pkg

* Don't crash if etesync isn't imported

* Stylefix

* Fix more import errors

* More import errors

* Only run etesync on latest python

* Fix etesync check

* journal-manager migration
2017-04-13 16:27:11 +02:00
Markus Unterwaditzer
7aa0ea20be Relicense to 3-clause BSD, fix #610 2017-04-07 15:32:27 +02:00
Hugo Osvaldo Barrera
7cf0865081 Add trove classifiers (#558) 2017-02-16 17:58:25 +01:00
Markus Unterwaditzer
c6b23b493d Fix weird styling and resource warning in setup.py 2017-02-06 21:22:08 +01:00
Markus Unterwaditzer
eadb7203ee stylefixes 2016-12-06 15:32:44 +01:00
Markus Unterwaditzer
39b27532e7 Exclude buggy setuptools-scm version
https://github.com/pypa/setuptools_scm/issues/103
2016-10-05 18:52:47 +02:00
Markus Unterwaditzer
e62e3a26f6 Better formatting in setup.py 2016-09-19 19:17:39 +02:00
Markus Unterwaditzer
e9185324ae Fix up links for new docs URL 2016-08-15 20:44:45 +02:00
Markus Unterwaditzer
bec3a81186 Restructure setup.py
See #487
2016-08-13 12:05:32 +02:00
Markus Unterwaditzer
4df423b93e Correct click-threading requirement
Fix #478
2016-07-25 01:51:06 +02:00
Markus Unterwaditzer
3cb03a55e4 Fix race conditions in Google storage (#460)
Fix #456
Fix #404
2016-06-09 23:57:27 +02:00
Markus Unterwaditzer
c0aee14acf setup.py: Refer to packaging.rst 2016-05-19 18:07:29 +02:00
Markus Unterwaditzer
ec2f743ffa Replace LXML with stdlib XML
Just because the XML module is already there, and suits our needs as
well. DoS concerns should be irrelevant as we trust the server to that
extent.
2016-04-22 23:08:32 +02:00
Markus Unterwaditzer
2888757e1b Refactor Google support into own storage types 2016-04-02 21:14:17 +02:00
Marek Marczykowski
6d8db949fa Initial OAuth2 (Google variant) support for dav storage
This commits adds 'oauth2_google' authentication mechanism to dav
storage driver.
2016-04-02 20:51:11 +02:00
Markus Unterwaditzer
b726364b93 Replace all instances of untitaker with pimutils 2016-03-15 15:36:40 +01:00
Markus Unterwaditzer
6b9d7b074a Stylefix 2016-03-05 21:05:36 +01:00
Markus Unterwaditzer
949c568852 Pin requests>=2.4.1 and remove weird version check 2016-03-05 20:20:22 +01:00
Markus Unterwaditzer
017495935f Pin requests-toolbelt back to >=0.4.0 2016-03-05 20:20:22 +01:00
Markus Unterwaditzer
e244eecc52 Stylefixes 2016-03-04 15:07:55 +01:00
Markus Unterwaditzer
c8c4409321 Just use a normal loop 2016-03-04 15:07:55 +01:00
Markus Unterwaditzer
dd48ac05c9 Rename setup.py requirements cmd 2016-03-04 15:07:55 +01:00
Hugo Osvaldo Barrera
8a7ac52ee7 Implement command to print minimal requirements 2016-03-04 15:07:55 +01:00