Skip to main content

Radicale Remind, Abook and Taskwarrior storage backend

Project description

Radicale storage backends providing a two way sync for Remind, Abook and Taskwarrior. Remind files included from the main file are exported as individual iCal calendars, Taskwarrior projects as individual iCal todo lists. Also see the limitations sections for Remind limitations and Taskwarrior limitations for what can be converted.

Dependencies

Installation

You need to have the Remind and Taskwarrior command line tools installed if you want to use the respective adapters. For Debian/Ubuntu use:

$ sudo apt-get install remind taskwarrior

Using pip

$ pip install radicale-remind

This will install all Python dependencies as well.

Using python-setuptools

$ python3 setup.py install

Config

[server]
hosts = 0.0.0.0:5232

[auth]
type = none

[rights]
type = from_file
file = /home/user/.config/radicale/rights

[storage]
type = radicale_remind
filesystem_folder = /home
remind_file = /home/user/.reminders
abook_file = /home/user/.abook/addressbook
task_folder = /home/user/.task

Put this into /home/user/.config/radicale/config (replace /home/user by your $HOME). The remind_file, abook_file and task_folder are optional, and can be removed if not used.

The filesystem_folder must be the absolute file path up until your user directory. This will typically be /home.

# Allow reading root collection for authenticated users
[root]
user: .+
collection:
permissions: R

# Allow reading and writing principal collection (same as username)
[principal]
user: .+
collection: {user}
permissions: RW

# Allow reading and writing calendars and address books that are
# children of the principal collection
[calendars]
user: .+
collection: {user}/.*
permissions: rw

Put this into /home/user/.config/radicale/rights. This is modified from owner_only and needed to allow access to collections with a slash in the name like .abook/addressbook/. Please read the Radicale documentation for how to set up secure connections and authentication.

Run

$ radicale

Add http://hostname:5232 to your CalDAV clients, like DAVx⁵ available in F-Droid.

Client test

$ curl -u user:password -X PROPFIND -H "Depth: 1" -d "<propfind><prop></prop></propfind>" "http://localhost:5232"
$ curl -u user:password "http://localhost:5232/user/.reminders/"
$ curl -u user:password "http://localhost:5232/user/.abook/addressbook/"
$ curl -u user:password "http://localhost:5232/user/.task/all_projects/"

Note that the trailing slash is required for all paths (directories and singular files). The trailing slashes are not required in your radicale conf.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

radicale_remind-0.7.1.tar.gz (17.3 kB view details)

Uploaded Source

Built Distribution

radicale_remind-0.7.1-py3-none-any.whl (17.7 kB view details)

Uploaded Python 3

File details

Details for the file radicale_remind-0.7.1.tar.gz.

File metadata

  • Download URL: radicale_remind-0.7.1.tar.gz
  • Upload date:
  • Size: 17.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for radicale_remind-0.7.1.tar.gz
Algorithm Hash digest
SHA256 d9969b05abfab6e3e0e89dd4e26dff9a8818ad9fac26d806ac4c01c8842974fa
MD5 8062335c6bd01024c7b6c01c8bc83986
BLAKE2b-256 cddd8753723789e27ead1421a70970a8fc0caa17b403a8ff3b7ccff94aff86ef

See more details on using hashes here.

File details

Details for the file radicale_remind-0.7.1-py3-none-any.whl.

File metadata

File hashes

Hashes for radicale_remind-0.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7d0e61907301433405f70abf95791baaf75fbfc8780add8f74def551f7741629
MD5 aff89a459244e4f99a8e731750afffd0
BLAKE2b-256 43177121a29bea8c11d1ce4c38779de9a2878662d8603e209d678d520c2649a4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page