iranholidays is a small python library that provides functions to check if a date is a holiday in Iran or not.
Warning: For Islamic holidays, like Eid al-Fitr, the calculation may be off by a day or two since those events depend on seeing the moon by naked eye and cannot be predicted by computers.
Usage
from iranholidays import holiday_occasion
assert holiday_occasion((2024, 4, 1, 'G')) == 'Sizdah Be-dar' # Gregorian
assert holiday_occasion((1403, 1, 13, 'S')) == 'Sizdah Be-dar' # Solar
assert holiday_occasion((1403, 1, 14, 'S')) is None
assert holiday_occasion((1445, 9, 21, 'L')) == 'Martyrdom of Ali' # Lunar
In case you have a date object from the following libraries, you can check it directly using one of the off_occasion_* functions:
import datetime
import hijri_converter
import jdatetime
from iranholidays import (
off_occasion_gregorian,
off_occasion_lunar,
off_occasion_solar,
)
date = datetime.date(2024, 4, 1)
assert off_occasion_gregorian(date, weekend=()) == 'Sizdah Be-dar'
date = jdatetime.date(1403, 1, 13)
assert off_occasion_solar(date, weekend=()) == 'Sizdah Be-dar'
date = hijri_converter.Hijri(1445, 9, 21)
assert off_occasion_lunar(date, weekend=()) == 'Martyrdom of Ali'
off_occasion function checks if a date is a weekend or holiday and returns the occasion string or None. The default value for weekend parameter is (4,) which means Friday. Either pass a different value to weekend parameter to override it or use set_default_weekend function to change this default for all functions:
from iranholidays import off_occasion, set_default_weekend
date = (2024, 2, 5, 'G') # a non-holiday Monday
assert off_occasion(date) is None
assert off_occasion(date, weekend=(0,)) == 'Weekend'
set_default_weekend((0,)) # set default weekends to Thursday and Friday
assert off_occasion(date) == 'Weekend'
Metadata
Release files for iranholidays 0.2.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| iranholidays-0.2.4.tar.gz | 16.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| iranholidays-0.2.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 32.3 kB
Release files / iranholidays-0.2.4.tar.gz
| Download URL | iranholidays-0.2.4.tar.gz |
|---|---|
| Size | 16.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c2e2079ecd92b491c0c3bc6cfab959289a89b70eda68d121c552a64c9b09e91d
|
|
BLAKE2b-256 checksum How to use checksums |
154c5a888e05bd4e80db5428978d31d63e7b8f4a470e611aa4f76b69241d6b96
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.12.5
|
Release files / iranholidays-0.2.4-py3-none-any.whl
| Download URL | iranholidays-0.2.4-py3-none-any.whl |
|---|---|
| Size | 16.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c30a917c678f1d267de595e7e4e0e49cb1d9a86cbcc2d16c1ddd7976c131d1aa
|
|
BLAKE2b-256 checksum How to use checksums |
53f581b3cd5ac393c8e243caaf4500337d70715a428c9d2778010d2fab6799c9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.12.5
|