Skip to content

helsinki-systems/django-recurrence

This branch is 1 commit ahead of jazzband/django-recurrence:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

a397e9e · Oct 23, 2024
Oct 3, 2024
Oct 3, 2024
Oct 3, 2024
Mar 16, 2022
Jan 17, 2022
Jan 26, 2022
Jan 21, 2022
Jan 27, 2024
Jan 26, 2022
Apr 1, 2009
Nov 24, 2018
Jan 17, 2022
Jan 28, 2022
Oct 23, 2024
Oct 23, 2024
Jan 27, 2024
Jan 27, 2024

Repository files navigation

django-recurrence

Jazzband GitHub PyPI release Supported Python versions Supported Django versions Documentation GitHub actions Coverage

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

Functionality

  • Recurrence/Rule objects using a subset of rfc2445 (wraps dateutil.rrule) for specifying recurring date/times,
  • RecurrenceField for storing recurring datetimes in the database, and
  • 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”.

Documentation

For more information on installation and configuration see the documentation at:

https://django-recurrence.readthedocs.io/

Issues

If you have questions or have trouble using the app please file a bug report at:

https://github.com/jazzband/django-recurrence/issues

Contributions

All contributions are welcome!

It is best to separate proposed changes and PRs into small, distinct patches by type so that they can be merged faster into upstream and released quicker.

One way to organize contributions would be to separate PRs for e.g.

  • bugfixes,
  • new features,
  • code and design improvements,
  • documentation improvements, or
  • tooling and CI improvements.

Merging contributions requires passing the checks configured with the CI. This includes running tests and linters successfully on the currently officially supported Python and Django versions.

The test automation is run automatically with GitHub Actions, but you can run it locally with the tox command before pushing commits.

This is a Jazzband project. By contributing you agree to abide by the Contributor Code of Conduct and follow the guidelines.

About

Utility for working with recurring dates in Django.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 53.5%
  • JavaScript 43.8%
  • CSS 2.6%
  • Makefile 0.1%