Python Remind library
=====================
Python library to convert between `Remind <https://dianne.skoll.ca/projects/remind/>`_ and iCalendar.
Can be used stand alone (provided rem2ics and ics2rem tools) as well as integrated as a CalDAV client or server.
Installation
------------
You need to have the Remind command line tool in version 04.00.00 or higher installed.
For Debian/Ubuntu use::
$ sudo apt-get install remind
Using pip
~~~~~~~~~
::
$ pip install remind
This will install all Python dependencies as well.
Using python-setuptools
~~~~~~~~~~~~~~~~~~~~~~~
::
$ python3 setup.py install
Set up a Remind CalDAV server
-----------------------------
Have a look at `radicale-remind <https://github.com/jspricke/radicale-remind>`_
Sync to an external iCalendar server (http; cron)
-------------------------------------------------
::
curl URL | ics2rem >> ~/.reminders
Sync to an external CalDAV server
---------------------------------
Have a look at `remind-caldav <https://github.com/jspricke/remind-caldav>`_
Share your calendar using http
------------------------------
::
rem2ics > /var/www/html/my.ics
Publish the URL and use these guides to integrate it into other calendar software:
* `Thunderbird/Lightning <https://mzl.la/1BsOArH>`_ (Section: On the Network)
* `Google Calendar <https://support.google.com/calendar/answer/37100>`_
* `Apple Calendar <https://support.apple.com/kb/PH11523>`_
Format of the Remind MSG body
-----------------------------
::
%"summary at location%" description
The ``%"`` is omitted, if there is no description in the iCalendar.
Support events in UTC
---------------------
Remind always uses the local timezone.
Use something like this to export events in UTC:
::
REM Tue AT [9:00 + $MinsFromUTC] TAG rem2ics_utc MSG Event
Known limitations
-----------------
iCalendar -> Remind
~~~~~~~~~~~~~~~~~~~
* RECURRENCE-ID is not supported at the moment. This is a limitation of the used python-vobject library, see http://lists.skyhouseconsulting.com/pipermail/vobject/2009-September/000204.html.
* Creating new calendars by adding includes to a main Remind file is not supported.
Remind -> iCalendar
~~~~~~~~~~~~~~~~~~~
* Events are only evaluated in the given time frame, so events extending it, are cut of (birthday reminders for example).
* Complex reminders are only preserved in their evaluated form (PUSH-OMIT-CONTEXT, OMIT, TRIGGER, BEFORE, SKIP).
Same holds true for function evaluation in MSG. For example having the age in a birthday reminder results in the same string for every year.
This could result in old data being provided as the internal state (cache) is only invalidated if one of the remind files change (last time stamp).
* Periodic reminders other then daily or weekly are not preserved.
* Two entries with the same content are only exported once.
Raw data
{
"_id": null,
"home_page": "https://github.com/jspricke/python-remind",
"name": "remind",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "Remind",
"author": "Jochen Sprickerhof",
"author_email": "remind@jochen.sprickerhof.de",
"download_url": "https://files.pythonhosted.org/packages/fb/a7/ec6f08942d3b7abec6365a1b5be4da0348a37973f9baa8b21bb5743c5351/remind-0.19.2.tar.gz",
"platform": null,
"description": "Python Remind library\n=====================\n\nPython library to convert between `Remind <https://dianne.skoll.ca/projects/remind/>`_ and iCalendar.\nCan be used stand alone (provided rem2ics and ics2rem tools) as well as integrated as a CalDAV client or server.\n\nInstallation\n------------\n\nYou need to have the Remind command line tool in version 04.00.00 or higher installed.\nFor Debian/Ubuntu use::\n\n $ sudo apt-get install remind\n\nUsing pip\n~~~~~~~~~\n\n::\n\n $ pip install remind\n\nThis will install all Python dependencies as well.\n\nUsing python-setuptools\n~~~~~~~~~~~~~~~~~~~~~~~\n\n::\n\n $ python3 setup.py install\n\nSet up a Remind CalDAV server\n-----------------------------\n\nHave a look at `radicale-remind <https://github.com/jspricke/radicale-remind>`_\n\nSync to an external iCalendar server (http; cron)\n-------------------------------------------------\n\n::\n\n curl URL | ics2rem >> ~/.reminders\n\nSync to an external CalDAV server\n---------------------------------\n\nHave a look at `remind-caldav <https://github.com/jspricke/remind-caldav>`_\n\nShare your calendar using http\n------------------------------\n\n::\n\n rem2ics > /var/www/html/my.ics\n\nPublish the URL and use these guides to integrate it into other calendar software:\n\n* `Thunderbird/Lightning <https://mzl.la/1BsOArH>`_ (Section: On the Network)\n* `Google Calendar <https://support.google.com/calendar/answer/37100>`_\n* `Apple Calendar <https://support.apple.com/kb/PH11523>`_\n\nFormat of the Remind MSG body\n-----------------------------\n\n::\n\n %\"summary at location%\" description\n\nThe ``%\"`` is omitted, if there is no description in the iCalendar.\n\nSupport events in UTC\n---------------------\n\nRemind always uses the local timezone.\nUse something like this to export events in UTC:\n\n::\n\n REM Tue AT [9:00 + $MinsFromUTC] TAG rem2ics_utc MSG Event\n\nKnown limitations\n-----------------\n\niCalendar -> Remind\n~~~~~~~~~~~~~~~~~~~\n\n* RECURRENCE-ID is not supported at the moment. This is a limitation of the used python-vobject library, see http://lists.skyhouseconsulting.com/pipermail/vobject/2009-September/000204.html.\n* Creating new calendars by adding includes to a main Remind file is not supported.\n\nRemind -> iCalendar\n~~~~~~~~~~~~~~~~~~~\n\n* Events are only evaluated in the given time frame, so events extending it, are cut of (birthday reminders for example).\n* Complex reminders are only preserved in their evaluated form (PUSH-OMIT-CONTEXT, OMIT, TRIGGER, BEFORE, SKIP).\n Same holds true for function evaluation in MSG. For example having the age in a birthday reminder results in the same string for every year.\n This could result in old data being provided as the internal state (cache) is only invalidated if one of the remind files change (last time stamp).\n* Periodic reminders other then daily or weekly are not preserved.\n* Two entries with the same content are only exported once.\n",
"bugtrack_url": null,
"license": "GPLv3+",
"summary": "Remind Python library",
"version": "0.19.2",
"project_urls": {
"Homepage": "https://github.com/jspricke/python-remind"
},
"split_keywords": [
"remind"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "ae738890665a5f86c71dbe8250463788fd4c736c099bd1195f109e5c3acb93ef",
"md5": "ea44776bdadaccc779185f52d5f160af",
"sha256": "fa05bbaff2c1ee67aba7d6d94360a4bed9fb43cdb3b1cb6d6b52aecbc976e19a"
},
"downloads": -1,
"filename": "remind-0.19.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ea44776bdadaccc779185f52d5f160af",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 23585,
"upload_time": "2025-02-01T09:02:19",
"upload_time_iso_8601": "2025-02-01T09:02:19.797025Z",
"url": "https://files.pythonhosted.org/packages/ae/73/8890665a5f86c71dbe8250463788fd4c736c099bd1195f109e5c3acb93ef/remind-0.19.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "fba7ec6f08942d3b7abec6365a1b5be4da0348a37973f9baa8b21bb5743c5351",
"md5": "def3b96b7314bbf083e1734c62f38ab5",
"sha256": "fb54d79ef3d835b7170bb2ace50dd0382b8b1fa562b5f361843be3e8a611fa24"
},
"downloads": -1,
"filename": "remind-0.19.2.tar.gz",
"has_sig": false,
"md5_digest": "def3b96b7314bbf083e1734c62f38ab5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 23565,
"upload_time": "2025-02-01T09:02:23",
"upload_time_iso_8601": "2025-02-01T09:02:23.284853Z",
"url": "https://files.pythonhosted.org/packages/fb/a7/ec6f08942d3b7abec6365a1b5be4da0348a37973f9baa8b21bb5743c5351/remind-0.19.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-01 09:02:23",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "jspricke",
"github_project": "python-remind",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "remind"
}