Skip to main content

django-jalali-recurrence

GitHub PyPI release Supported Python versions Supported Django versions GitHub actions

django-jalali-recurrence is a Jalali (Persian calendar) utility for working with recurring dates in Django. Version 2 uses Jalali dates throughout its public API and stores versioned Jalali recurrence text. Gregorian recurrence strings from older releases are intentionally rejected.

Date values are provided by the jdatetime package (for example, jdatetime.datetime(1403, 1, 1)); import that package directly when constructing dates.

Installation

pip install django-jalali-recurrence

Functionality

  • Recurrence/Rule objects using Jalali calendar semantics,

  • 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://github.com/seyedalirezanouri/django-jalali-recurrence/tree/master/docs

Issues

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

https://github.com/seyedalirezanouri/django-jalali-recurrence/issues

Credits

django-jalali-recurrence is a fork of django-recurrence created to add Jalali (Persian calendar) support. django-recurrence was originally created by Tamas Kemenczy, Lino Helms and individual contributors. The upstream project remains available at https://github.com/jazzband/django-recurrence and keeps its own copyright (see the LICENSE file).

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 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.

Release files for django-jalali-recurrence 2.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-jalali-recurrence 2.0.0
File Size Uploaded
django_jalali_recurrence-2.0.0.tar.gz 102.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for django-jalali-recurrence 2.0.0
File Interpreter ABI Platform
django_jalali_recurrence-2.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 241.3 kB

Release files / django_jalali_recurrence-2.0.0.tar.gz

Download URL django_jalali_recurrence-2.0.0.tar.gz
Size 102.5 kB
Tags Source
SHA-256 checksum
How to use checksums
7546bf834771872b62d33b2af4ea694a10a5761aea7f2d67079b41a3868bf4bc
BLAKE2b-256 checksum
How to use checksums
486fb64ba564522bb4174c8bd1d1387627c6dd3b42ec9945678098a69f3422a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.4

Release files / django_jalali_recurrence-2.0.0-py3-none-any.whl

Download URL django_jalali_recurrence-2.0.0-py3-none-any.whl
Size 138.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8cf8d11ebb40ca20b1426e5510063b1f0829c1fdc4e1b3acdcdd37995846d106
BLAKE2b-256 checksum
How to use checksums
8aadfdad81b45227400bef45976b4b847609fadacd09a4c117260bf7607feaee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.4

Release history Release notifications | RSS feed

This release

2.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page