Metadata-Version: 2.4
Name: remind
Version: 0.19.2
Summary: Remind Python library
Home-page: https://github.com/jspricke/python-remind
Author: Jochen Sprickerhof
Author-email: remind@jochen.sprickerhof.de
License: GPLv3+
Keywords: Remind
Classifier: Programming Language :: Python
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Topic :: Office/Business :: Scheduling
Classifier: Topic :: Software Development :: Libraries :: Python Modules
License-File: LICENSE
Requires-Dist: python-dateutil
Requires-Dist: vobject
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: requires-dist
Dynamic: summary

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.
