django-recurrence

Utility for working with recurring dates in Django.

Showing:

Popularity

Downloads/wk

0

GitHub Stars

264

Maintenance

Last Commit

11d ago

Contributors

48

Package

Dependencies

3

License

BSD

Categories

Readme

django-recurrence

Build Status

django-recurrence is a utility for working with recurring dates in Django. Documentation is available at https://django-recurrence.readthedocs.org/.

Django-recurrence is unmaintained and looking for a maintainer to take over the project. (You may wish to open an issue, reply on this thread or reach out on Twitter.)

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:

tox

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100