Skip to main content

Django utility wrapping dateutil.rrule

Project description


Build Status

django-recurrence is a utility for working with recurring dates in Django. Documentation is available at

It provides:

  • Recurrence/Rule objects using a subset of rfc2445 (wraps dateutil.rrule) for specifying recurring date/times;
  • RecurrenceField for storing recurring datetimes in the database;
  • JavaScript widget.

RecurrenceField provides a Django model field which serializes recurrence information for storage in the database.

For example - say you were storing information about a university course in your app. You could use a model like this:

import recurrence.fields

class Course(models.Model):
    title = models.CharField(max_length=200)
    start = models.TimeField()
    end = models.TimeField()
    recurrences = recurrence.fields.RecurrenceField()

You'll notice that I'm storing my own start and end time. The recurrence field only deals with recurrences not with specific time information. I have an event that starts at 2pm. Its recurrences would be "every Friday". For this to work, you'll need to put the recurrence application into your INSTALLED_APPS

Running the tests

Our test coverage is currently fairly poor (we're working on it!), but you can run the tests by making sure you've got the test requirements installed:

pip install -r requirements_test.txt

Once you've done that, you can run the tests using:

make test

You can generate a coverage report by running:

make coverage

You can run tests on multiple versions of Python and Django by installing tox (pip install tox) and running:


Project details

Download files

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

Files for django-recurrence, version 1.10.3
Filename, size File type Python version Upload date Hashes
Filename, size django_recurrence-1.10.3-py3-none-any.whl (124.6 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size django-recurrence-1.10.3.tar.gz (123.3 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page