django-jalali-recurrence
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)
| File | Size | Uploaded | |
|---|---|---|---|
| django_jalali_recurrence-2.0.0.tar.gz | 102.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|