Skip to main content

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)

Source distribution for iranholidays 0.2.4
File Size Uploaded
iranholidays-0.2.4.tar.gz 16.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iranholidays 0.2.4
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.2.4 This release

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

2 release files

0.0.1

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