Radicale Remind Storage
=======================
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
<https://github.com/jspricke/python-remind#known-limitations>`_ and
`Taskwarrior limitations
<https://github.com/jspricke/python-icstask#known-limitations>`_ for what can
be converted.
Dependencies
------------
* `Radicale <https://radicale.org>`_
* `python-remind <https://github.com/jspricke/python-remind>`_
* `Remind <https://dianne.skoll.ca/projects/remind/>`_
* `python-abook <https://github.com/jspricke/python-abook>`_
* `python-icstask <https://github.com/jspricke/python-icstask>`_
* `Taskwarrior <https://taskwarrior.org>`_
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
[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 <https://radicale.org/master.html#documentation>`_ for how to set up secure connections and authentication.
Run
---
::
$ radicale
Add ``http://hostname:5232`` to your CalDAV clients, like `DAVx⁵ <https://www.davx5.com/>`_ available in `F-Droid <https://f-droid.org/packages/at.bitfire.davdroid/>`_.
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.
Raw data
{
"_id": null,
"home_page": "https://github.com/jspricke/radicale-remind",
"name": "radicale-remind",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "Radicale",
"author": "Jochen Sprickerhof",
"author_email": "radicale@jochen.sprickerhof.de",
"download_url": "https://files.pythonhosted.org/packages/7a/86/c007b2a220cf85e571bda06df1ea4c1757a6c1504a4599c72440b9c43071/radicale_remind-0.7.0.tar.gz",
"platform": null,
"description": "Radicale Remind Storage\n=======================\n\nRadicale storage backends providing a two way sync for Remind, Abook and\nTaskwarrior. Remind files included from the main file are exported as\nindividual iCal calendars, Taskwarrior projects as individual iCal todo lists.\nAlso see the limitations sections for `Remind limitations\n<https://github.com/jspricke/python-remind#known-limitations>`_ and\n`Taskwarrior limitations\n<https://github.com/jspricke/python-icstask#known-limitations>`_ for what can\nbe converted.\n\nDependencies\n------------\n\n* `Radicale <https://radicale.org>`_\n* `python-remind <https://github.com/jspricke/python-remind>`_\n* `Remind <https://dianne.skoll.ca/projects/remind/>`_\n* `python-abook <https://github.com/jspricke/python-abook>`_\n* `python-icstask <https://github.com/jspricke/python-icstask>`_\n* `Taskwarrior <https://taskwarrior.org>`_\n\nInstallation\n------------\n\nYou need to have the Remind and Taskwarrior command line tools installed if you\nwant to use the respective adapters. For Debian/Ubuntu use::\n\n $ sudo apt-get install remind taskwarrior\n\nUsing pip\n~~~~~~~~~\n\n::\n\n $ pip install radicale-remind\n\nThis will install all Python dependencies as well.\n\nUsing python-setuptools\n~~~~~~~~~~~~~~~~~~~~~~~\n\n::\n\n $ python3 setup.py install\n\n\nConfig\n------\n\n::\n\n [server]\n hosts = 0.0.0.0:5232\n\n [rights]\n type = from_file\n file = /home/user/.config/radicale/rights\n \n [storage]\n type = radicale_remind\n filesystem_folder = /home\n remind_file = /home/user/.reminders\n abook_file = /home/user/.abook/addressbook\n task_folder = /home/user/.task\n\nPut this into ``/home/user/.config/radicale/config`` (replace ``/home/user`` by your ``$HOME``).\nThe ``remind_file``, ``abook_file`` and ``task_folder`` are optional, and can be removed if not used.\n\nThe ``filesystem_folder`` must be the absolute file path up until your user directory. \nThis will typically be ``/home``. \n\n::\n\n # Allow reading root collection for authenticated users\n [root]\n user: .+\n collection:\n permissions: R\n\n # Allow reading and writing principal collection (same as username)\n [principal]\n user: .+\n collection: {user}\n permissions: RW\n\n # Allow reading and writing calendars and address books that are\n # children of the principal collection\n [calendars]\n user: .+\n collection: {user}/.*\n permissions: rw\n\nPut this into ``/home/user/.config/radicale/rights``.\nThis is modified from ``owner_only`` and needed to allow access to collections with a slash in the name like ``.abook/addressbook/``.\nPlease read the `Radicale documentation <https://radicale.org/master.html#documentation>`_ for how to set up secure connections and authentication.\n\nRun\n---\n\n::\n\n $ radicale\n\nAdd ``http://hostname:5232`` to your CalDAV clients, like `DAVx\u2075 <https://www.davx5.com/>`_ available in `F-Droid <https://f-droid.org/packages/at.bitfire.davdroid/>`_.\n\n\nClient test\n-----------\n\n::\n\n $ curl -u user:password -X PROPFIND -H \"Depth: 1\" -d \"<propfind><prop></prop></propfind>\" \"http://localhost:5232\"\n $ curl -u user:password \"http://localhost:5232/user/.reminders/\"\n $ curl -u user:password \"http://localhost:5232/user/.abook/addressbook/\"\n $ curl -u user:password \"http://localhost:5232/user/.task/all_projects/\"\n\nNote that the trailing slash is required for all paths (directories and singular files). \nThe trailing slashes are not required in your ``radicale`` conf.\n",
"bugtrack_url": null,
"license": "GPLv3+",
"summary": "Radicale Remind, Abook and Taskwarrior storage backend",
"version": "0.7.0",
"project_urls": {
"Homepage": "https://github.com/jspricke/radicale-remind"
},
"split_keywords": [
"radicale"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "d5905187aa00e30db243386653c3f5f0636c003b41ab1aa17953315dedbd7eed",
"md5": "e3f21403d9890da8b292dab9f19b435e",
"sha256": "af400d85471566a3221b067ab0bbc77ddabf32969d8d90ce125fd9608e68972d"
},
"downloads": -1,
"filename": "radicale_remind-0.7.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e3f21403d9890da8b292dab9f19b435e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 17596,
"upload_time": "2025-02-01T08:44:36",
"upload_time_iso_8601": "2025-02-01T08:44:36.475818Z",
"url": "https://files.pythonhosted.org/packages/d5/90/5187aa00e30db243386653c3f5f0636c003b41ab1aa17953315dedbd7eed/radicale_remind-0.7.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "7a86c007b2a220cf85e571bda06df1ea4c1757a6c1504a4599c72440b9c43071",
"md5": "b7967725e805169d811b95a366de7762",
"sha256": "fc54ef6d42fb7285c90a96dd363b4c2564f6e1a3769e902bfb4f0b1e9b2943a3"
},
"downloads": -1,
"filename": "radicale_remind-0.7.0.tar.gz",
"has_sig": false,
"md5_digest": "b7967725e805169d811b95a366de7762",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 17292,
"upload_time": "2025-02-01T08:44:38",
"upload_time_iso_8601": "2025-02-01T08:44:38.524543Z",
"url": "https://files.pythonhosted.org/packages/7a/86/c007b2a220cf85e571bda06df1ea4c1757a6c1504a4599c72440b9c43071/radicale_remind-0.7.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-01 08:44:38",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "jspricke",
"github_project": "radicale-remind",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "radicale-remind"
}