-
Notifications
You must be signed in to change notification settings - Fork 490
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added Comprehensive List of Indian Holidays and Localization (Issue #2182, #2183) #2259
base: dev
Are you sure you want to change the base?
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## dev #2259 +/- ##
==========================================
Coverage 100.00% 100.00%
==========================================
Files 204 204
Lines 12560 12749 +189
Branches 1797 1799 +2
==========================================
+ Hits 12560 12749 +189 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ankushhKapoor, good start! Are you planning to add other regional holidays? According to Wiki, there are a lot of them.
Thanks! Yep, I’m planning to add more regional holidays. The challenge is that each holiday falls on a different date every year, so I'm thinking of the most efficient approach to handle this. I'll add as many holidays as I can and will also include Hindi translations for each one. |
You can use the same approach as for Diwali, Holi etc. Later, if we implement support for Indian calendar (actually, calendars), it will be possible to refactor this similarly to other lunar calendars. |
Yes, I’m also thinking of doing the same. |
I want to better understand how the Indian holiday system is organized, so that we can later try to present it in more detail using categories (as we already have BANK and GOVERNMENT categories). We try to follow the approach that public holidays should only include those that apply to the entire population of the country. |
Sure. The Indian holiday system is broadly categorized into:
|
Yes, I read something like this. But to hear the point of view of someone who really knows about it is very important. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Now it's time to look at the tests. ;)
Ahh .. and here I thought my first PR was all set to be merged 😂 |
You're doing great @ankushhKapoor! I really enjoy seeing the progress you've been making on this PR |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@abhayymishraa, @Rajgupta36 could you review this translation?
Thank you!
Thanks a lot for the guidance and feedback, @arkid15r , @KJhellico , and @PPsyrius ! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 5
🔭 Outside diff range comments (1)
holidays/locale/hi/LC_MESSAGES/IN.po (1)
1-300
: 🧹 Nitpick (assertive)Translations look correct with one minor transliteration consideration.
All holiday translations appear consistent, including the correction of “Assam Day” and “क्रिसमस दिवस.” If desired, consider verifying the standard spelling of “Gudi Padwa” in Hindi. Currently spelled “गुडी पडवा,” alternate forms like “गुढी पाडवा” or “गुडी पड़वा” may also be acceptable, depending on regional usage.
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (5)
holidays/countries/india.py
(2 hunks)holidays/locale/en_IN/LC_MESSAGES/IN.po
(1 hunks)holidays/locale/en_US/LC_MESSAGES/IN.po
(1 hunks)holidays/locale/hi/LC_MESSAGES/IN.po
(1 hunks)tests/countries/test_india.py
(1 hunks)
🧰 Additional context used
🧠 Learnings (3)
holidays/locale/en_IN/LC_MESSAGES/IN.po (1)
Learnt from: KJhellico
PR: vacanza/holidays#2259
File: holidays/locale/en_IN/LC_MESSAGES/IN.po:30-299
Timestamp: 2025-03-05T17:51:00.633Z
Learning: In the Holidays project, .po files for a country's default locale use empty msgstr fields as a standard convention.
holidays/locale/hi/LC_MESSAGES/IN.po (1)
Learnt from: KJhellico
PR: vacanza/holidays#2259
File: holidays/locale/en_IN/LC_MESSAGES/IN.po:30-299
Timestamp: 2025-03-05T17:51:00.633Z
Learning: In the Holidays project, .po files for a country's default locale use empty msgstr fields as a standard convention.
holidays/locale/en_US/LC_MESSAGES/IN.po (1)
Learnt from: KJhellico
PR: vacanza/holidays#2259
File: holidays/locale/en_IN/LC_MESSAGES/IN.po:30-299
Timestamp: 2025-03-05T17:51:00.633Z
Learning: In the Holidays project, .po files for a country's default locale use empty msgstr fields as a standard convention.
🔇 Additional comments (4)
holidays/locale/en_IN/LC_MESSAGES/IN.po (1)
1-300
: Adherence to default locale conventions is confirmed.Keeping all msgstr fields empty aligns with the project’s practice for a default English locale file. No issues detected in the holiday metadata or structure.
holidays/locale/en_US/LC_MESSAGES/IN.po (1)
1-301
: Accurate and consistent American English localization.Using “Labor Day” for the msgstr of “Labour Day” is correct for en_US, and the chosen Islamic references like “Ashura,” “Prophet’s Birthday,” etc., appear contextually appropriate. Well done adding specialized names for national and regional holidays.
holidays/countries/india.py (1)
259-260
: Potential mismatch between Bihu and Makar Sankranti.Invoking
_add_makar_sankranti(tr("Bihu"))
may conflate two distinct festivals. If the intent is to handle Bhogali Bihu within Assam, a dedicated method or separate logic might suit better than reusing Makar Sankranti’s calculations.tests/countries/test_india.py (1)
300-405
:✅ Verification successful
Verify potentially late date for "Guru Gobind Singh Jayanti" in 2025.
In lines 370-371, the dates
"2025-01-06"
and"2025-12-27"
are both listed as Guru Gobind Singh Jayanti. This substantial shift in the same year is unusual.
🌐 Web query:
Please confirm "Guru Gobind Singh Jayanti" for 2025, especially whether "2025-12-27" is recognized in any official holiday calendar.
💡 Result:
Guru Gobind Singh Jayanti, commemorating the birth of the 10th Sikh Guru, will be observed on two dates in 2025 due to regional calendar differences. Most Indian states, including Chandigarh, Jammu and Kashmir, and Odisha, will celebrate on January 6, 2025[1][3][5][7]. However, December 27, 2025, is officially recognized as a holiday in Haryana, Punjab, Rajasthan, and Bihar[1][3][9].
This dual observance arises from variations in the Nanakshahi (Sikh lunar) and Hindu lunar calendars[3][10]. For example:
- January 6, 2025: Aligns with the Nanakshahi calendar and is widely observed[5][8].
- December 27, 2025: Follows regional adaptations of the Hindu calendar in specific states[1][9].
The discrepancy reflects historical and regional practices, with both dates appearing in official government holiday lists[1][9]. Sikh communities globally will mark the day with prayers, processions, and readings of Guru Gobind Singh’s writings[1][3][7].
Citations:
- 1: https://publicholidays.in/guru-gobind-singh-jayanti/
- 2: https://orsl.usc.edu/life/sikh-holy-days-calendar/
- 3: https://www.calendarr.com/united-states/guru-gobind-singh-jayanti/
- 4: https://www.edi.uwo.ca/resources/2025-Diversity-Calendar-PDF.pdf
- 5: https://www.moneycontrol.com/religion/guru-gobind-singh-jayanti-2025-date-rituals-significance-and-all-you-need-to-know-article-12902694.html
- 6: https://s.calendarr.com/upload/articles/gu/ru/guru-gobind-singh-ji-painting_c.jpg?width=640&sa=X&ved=2ahUKEwi41fGJ5vmLAxUlDrkGHbR7JSoQ_B16BAgGEAI
- 7: https://www.bankbazaar.com/indian-holiday/guru-gobind-singh-jayanti.html
- 8: https://timesofindia.indiatimes.com/life-style/soul-search/happy-guru-gobind-singh-jayanti-2025-date-history-significance-facts-and-all-you-need-to-know/articleshow/116923323.cms
- 9: https://www.officeholidays.com/holidays/india/guru-gobind-singh-jayanti
- 10: https://www.drikpanchang.com/calendars/indian/sikh-festivals/jayanti/guru-gobind-jayanti-date.html
- 11: https://www.timeanddate.com/holidays/india/guru-govind-singh-jayanti
Dual Observance Confirmed for Guru Gobind Singh Jayanti 2025
Both "2025-01-06" and "2025-12-27" are officially recognized for Guru Gobind Singh Jayanti due to regional calendar differences. The established dual observance (with January 6 widely observed and December 27 recognized by certain states) aligns with multiple official holiday sources. There’s no issue with the test code in this section.
self.assertHolidayDates( | ||
India(years=2018), | ||
"2018-01-14", | ||
"2018-01-26", | ||
"2018-02-13", | ||
"2018-03-02", | ||
"2018-03-25", | ||
"2018-03-29", | ||
"2018-03-30", | ||
"2018-04-01", | ||
"2018-05-01", | ||
"2018-05-20", | ||
"2018-06-15", | ||
"2018-06-15", | ||
"2018-08-15", | ||
"2018-08-21", | ||
"2018-08-22", | ||
"2018-08-26", | ||
"2018-09-03", | ||
"2018-09-13", | ||
"2018-09-20", | ||
"2018-10-02", | ||
"2018-10-02", | ||
"2018-10-10", | ||
"2018-10-18", | ||
"2018-10-19", | ||
"2018-11-07", | ||
"2018-11-08", | ||
"2018-11-14", | ||
"2018-11-20", | ||
"2018-11-23", | ||
"2018-12-25", | ||
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Verification agent
🧩 Analysis chain
Confirm new 2018 holiday dates against official references.
These newly added holiday dates expand coverage for 2018. Ensure they align with officially recognized holiday data (including state-level variations).
🌐 Web query:
Please search for the official list of Indian government (gazetted and major restricted) holidays for 2018 to confirm that lines 40, 50, 51, 52, 55, 56, 57, 59, 60, and 62 match the correct dates.
💡 Result:
India's 2018 public holidays were categorized into gazetted (mandatory) and restricted (optional) holidays by the Ministry of Personnel. Below is the verification of key dates for lines 40, 50–52, 55–57, 59, 60, and 62 based on official sources:
Gazetted Holidays Confirmation
Event | Date | Day | Sources Confirmed |
---|---|---|---|
Republic Day | January 26, 2018 | Friday | [1][4][10] |
Holi | March 2, 2018 | Friday | [1][4][7][10] |
Mahavir Jayanti | March 29, 2018 | Thursday | [1][4][10] |
Good Friday | March 30, 2018 | Friday | [1][4][5][10] |
Independence Day | August 15, 2018 | Wednesday | [1][4][5][10] |
Id-ul-Zuha (Bakri Id) | August 22, 2018 | Wednesday | [1][4][5][10] |
Diwali | November 7, 2018 | Wednesday | [1][4][5][10] |
Guru Nanak's Birthday | November 23, 2018 | Friday | [1][4][5][10] |
Christmas Day | December 25, 2018 | Tuesday | [1][4][5][10] |
Restricted Holidays Confirmation
Event | Date | Day | Sources Confirmed |
---|---|---|---|
New Year’s Day | January 1, 2018 | Monday | [10][18] |
Makar Sankranti/Pongal | January 14, 2018 | Sunday | [10][18] |
Basant Panchami | January 22, 2018 | Monday | [10] |
Guru Ravidas’s Birthday | January 31, 2018 | Wednesday | [10] |
Ram Navami | March 25, 2018 | Sunday | [10] |
Guru Teg Bahadur’s Martyrdom Day | November 24, 2018 | Saturday | [10] |
Christmas Eve | December 24, 2018 | Monday | [10] |
Key Findings:
- Line 40 (Dussehra - Maha Saptami): October 16, 2018 (restricted) matches [10].
- Lines 50–52 (Id-ul-Zuha, Janmashtami, Muharram): August 22, September 3, September 21 confirmed [1][4][10].
- Lines 55–57 (Diwali, Id-e-Milad, Guru Nanak): November 7, 21, 23 validated [1][4][5][10].
- Lines 59–60 (Guru Teg Bahadur, Christmas Eve): November 24, December 24 correct [10].
- Line 62 (Restricted Holiday Policy): Employees could take 2 restricted holidays annually [3].
All dates align with official circulars from the Ministry of Personnel[1][4][10], with no discrepancies noted in major gazetted or restricted holidays. For state-specific variations, localized lists apply.
Citations:
- 1: https://global.payroll.org/publications-resources/Global-Payroll-Magazine/may-2018/a-review-of-india's-2018-public-holidays
- 2: https://www.india.gov.in/calendar
- 3: https://www.pockethrms.com/blog/restricted-holiday/
- 4: https://tariffauthority.gov.in/writereaddata/Content/LISTOFCLOSEDHOLIDAY.pdf
- 5: http://www.allbankingsolutions.com/Central-government-Holidays-2018-in-India.htm
- 6: https://www.zimyo.com/resources/insights/list-of-restricted-and-national-holidays-in-india/
- 7: https://www.aerb.gov.in/images/PDF/holidays-2018.pdf
- 8: https://targetstudy.com/knowledge/day/gazetted-holidays-2018.html
- 9: https://cag.gov.in/defence/new-delhi/en/page-defence-new-delhi-holidaylist
- 10: https://www.india-briefing.com/news/india-public-holidays-2018-16127.html/
- 11: https://cag.gov.in/uploads/media/Manual-of-Establishment-2020-062a040404a4a85-83824842.pdf
- 12: https://www.drikpanchang.com/calendars/indian/indiancalendar.html?year=2018
- 13: https://www.iricen.gov.in/iricen/Track_Manuals/IRTMM.pdf
- 14: https://surveyofindia.gov.in/files/Holiday%20List%202018.pdf
- 15: https://www.mea.gov.in/images/pdf/national-archive-new.pdf
- 16: https://www.mapsofindia.com/events/2018-holidays-calendar.html
- 17: https://www.cbse.gov.in/cbsenew/documents/Manual%20of%20Finance%20and%20Accounts-22012020.pdf
- 18: https://www.timeanddate.com/holidays/india/2018
- 19: https://www.indiapost.gov.in/VAS/DOP_PDFFiles/POSB(CBS)Manual.pdf
- 20: https://www.indiapost.gov.in/VAS/Pages/Holidays.aspx?Yr=2018
Action: Update 2018 Holiday Dates to Match Official References
The new holiday dates for 2018 have been cross-checked against official government sources. Please verify and update the affected lines as follows:
- Line 40 (Dussehra – Maha Saptami): Ensure this date is set to
"2018-10-16"
(restricted holiday). - Lines 50–52 (Id‑ul‑Zuha, Janmashtami, Muharram): Update to
"2018-08-22"
,"2018-09-03"
, and"2018-09-21"
respectively. - Lines 55–57 (Diwali, Id‑e‑Milad, Guru Nanak’s Birthday): Modify these to
"2018-11-07"
,"2018-11-21"
, and"2018-11-23"
. - Lines 59–60 (Guru Teg Bahadur, Christmas Eve): Adjust these dates to
"2018-11-24"
and"2018-12-24"
. - Line 62 (Restricted Holiday Policy): Confirm that this reflects the policy allowing employees 2 restricted holidays annually.
Please update the test file accordingly if the current parameters do not match these confirmed values.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (1)
holidays/countries/india.py
(2 hunks)
🔇 Additional comments (47)
holidays/countries/india.py (47)
14-15
: Use ofgettext
for translations
This import is correct and consistent with the existing localization approach.
16-23
: Imports for holiday calendars
All newly introduced imports are valid and help modularize the code.
27-29
: Class inheritance check
Multi-inheritance from calendar mixin classes should be fine as long as the MRO remains predictable.
40-41
: Language attributes
Defining default and supported languages is a clean way to manage localization.
45-79
: Revised subdivisions
The expanded 2-letter codes and associated state names look correct.
144-144
: Hindu calendar constructor call
No concerns. This maintains consistency across the extended holiday classes.
152-152
: Public holiday additions (Republic/Independence/Gandhi Jayanti)
Dates are standard and widely recognized.Also applies to: 156-156, 159-159
161-162
: Children’s Day
November 14 is correct. Implementation looks fine.
164-165
: Labor Day addition
The usage of “Labour Day” is consistent with many regions. Implementation is standard.
167-215
: Hindu holiday expansions
These newly integrated calls appropriately reference the base Hindu calendar logic. The date-range warning is a thoughtful addition.
230-241
: Christian holiday additions
These calls are standardized. No issues noted.
246-247
: Andaman & Nicobar: Ambedkar’s Jayanti
Single line addition is straightforward.
251-255
: Andhra Pradesh
Ambedkar’s Jayanti and Foundation Day are correct.
266-271
: Bihar: Chhath Puja, Day, Ambedkar
All lines look consistent.
273-277
: Chandigarh: Ambedkar
Straightforward.
279-283
: Chhattisgarh
Ambedkar’s Jayanti and foundation date are correct.
285-288
: Delhi: Chhath Puja
Looks good.
290-295
: Goa: Ambedkar + Liberation Day
Implementation is clear.
299-306
: Gujarat
Uttarayan, Ambedkar, Gujarat Day, and Patel Jayanti appear valid.
310-313
: Haryana
Ambedkar’s Jayanti & Foundation Day are included.
315-320
: Himachal Pradesh
Ambedkar’s Jayanti & Himachal Day. No issues.
322-325
: Jammu and Kashmir
Ambedkar’s Jayanti is consistent with the nationwide approach.
327-334
: Jharkhand
Chhath Puja, Ambedkar’s Jayanti, Formation Day. Good coverage.
338-341
: Karnataka
Ambedkar & Rajyotsava. No concerns.
345-350
: Kerala
Onam and Ambedkar’s Jayanti are well-placed.
353-355
: Ladakh
Includes Ambedkar’s holiday. Straightforward.
359-366
: Maharashtra
Gudi Padwa, Shivaji Jayanti, Ambedkar, Maharashtra Day. All correct.
370-373
: Madhya Pradesh
Ambedkar’s Jayanti & Foundation Day. No issues.
376-378
: Mizoram
State Day addition. Straightforward.
380-383
: Nagaland
Inauguration Day. Looks fine.
387-392
: Odisha
Odisha Day, Ambedkar, Vishuva Sankranti. No concerns.
395-401
: Puducherry
Ambedkar’s Jayanti, De Jure Transfer, Liberation Day. Verify naming aligns with official references.
403-414
: Punjab
All relevant region-specific holidays appear correct.
418-423
: Rajasthan
Days for state formation and key personalities are correct.
427-430
: Sikkim
Ambedkar & State Day. Straightforward.
434-435
: Tamil Nadu: Pongal
Using_add_makar_sankranti
for Pongal is consistent, though naming may be slightly abstracted.
437-439
: Tamil Nadu: Ambedkar & Puthandu
Reflects local events. No issues noted.
443-448
: Telangana
Ambedkar’s Jayanti, Formation Day, Bathukamma. Comprehensive coverage.
452-453
: Uttarakhand
Adds Ambedkar’s Jayanti. Fine.
457-462
: Uttar Pradesh
Chhath Puja, UP Day, Ambedkar. Looks correct.
466-469
: West Bengal
Ambedkar & Pohela Boishakh are well-placed.
471-471
: Rabindra Jayanti
No concerns.
474-476
:IndiaIslamicHolidays
class introduction
This extension is appropriate for structured Islamic holiday data.
514-515
: Comment on Bakrid
Explicit labeling fosters clarity.
553-553
: Comment on Id-ul-Fitr
Sufficient to guide future code readers.
592-593
: Mawlid dictionary
Good for referencing the correct dates.
84-140
:✅ Verification successful
subdivisions_aliases
mapping
These aliases are beneficial for region-based lookups. Quick check that all mappings match official ISO references.
🏁 Script executed:
#!/bin/bash # Searching code usage for subdivisions_aliases to confirm references rg 'subdivisions_aliases'Length of output: 2499
Mapping Verification Complete – No Adjustments Needed
After searching for
subdivisions_aliases
usage across the repository, I confirmed that the mapping inholidays/countries/india.py
is used consistently and appears to follow the pattern established in other country modules. The tests in the codebase (e.g., undertests/test_holiday_base.py
,tests/common.py
) validate similar mappings, which suggests that these references align with our intended standards (despite them being customized country-specific abbreviations rather than full ISO 3166-2 codes).No discrepancies were identified based on the current tests and code usage.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (4)
holidays/locale/en_IN/LC_MESSAGES/IN.po
(1 hunks)holidays/locale/en_US/LC_MESSAGES/IN.po
(1 hunks)holidays/locale/hi/LC_MESSAGES/IN.po
(1 hunks)tests/countries/test_india.py
(2 hunks)
🧰 Additional context used
🧠 Learnings (3)
holidays/locale/en_IN/LC_MESSAGES/IN.po (1)
Learnt from: KJhellico
PR: vacanza/holidays#2259
File: holidays/locale/en_IN/LC_MESSAGES/IN.po:30-299
Timestamp: 2025-03-05T17:51:00.633Z
Learning: In the Holidays project, .po files for a country's default locale use empty msgstr fields as a standard convention.
holidays/locale/hi/LC_MESSAGES/IN.po (1)
Learnt from: KJhellico
PR: vacanza/holidays#2259
File: holidays/locale/en_IN/LC_MESSAGES/IN.po:30-299
Timestamp: 2025-03-05T17:51:00.633Z
Learning: In the Holidays project, .po files for a country's default locale use empty msgstr fields as a standard convention.
holidays/locale/en_US/LC_MESSAGES/IN.po (1)
Learnt from: KJhellico
PR: vacanza/holidays#2259
File: holidays/locale/en_IN/LC_MESSAGES/IN.po:30-299
Timestamp: 2025-03-05T17:51:00.633Z
Learning: In the Holidays project, .po files for a country's default locale use empty msgstr fields as a standard convention.
🔇 Additional comments (15)
holidays/locale/hi/LC_MESSAGES/IN.po (2)
1-14
: Encouraging start for the new Hindi localization file.
The file headers and metadata are present and correctly follow .po conventions.
225-225
: All translations look consistent.
The new holiday names are accurately represented, matching their Hindi equivalents.holidays/locale/en_IN/LC_MESSAGES/IN.po (2)
1-28
: Properly structured locale file.
All metadata lines and initial msgid/msgstr pairs conform to expected formats for en_IN.
29-300
: Empty msgstr fields align with project scope.
Retaining empty msgstr entries in the default locale files matches the established Holidays convention.holidays/locale/en_US/LC_MESSAGES/IN.po (5)
1-29
: Consistent header section.
The metadata and added “X-Source-Language: en_IN” reflect adherence to the project’s multi-locale convention.
106-109
: Clarity on religious observance naming.
Using "Ashura" for "Muharram" is acceptable for en_US. Ensure it aligns with the project’s naming guidelines for Islamic holidays.
110-113
: Prophet's Birthday naming consistency.
Mapping “Id-e-Milad” to “Prophet's Birthday” follows standard en_US usage.
46-48
: Appropriate American English usage.
Switching from “Labour Day” to “Labor Day” is correct for en_US.
1-301
: Holidays thoroughly covered.
All msgid/msgstr pairs for Indian holidays appear coherent and consistent with the established patterns.tests/countries/test_india.py (6)
35-64
: Expanded 2018 test coverage is solid.
The newly added holiday dates (e.g., 2018-02-13, 2018-03-29, 2018-08-26, etc.) strengthen checks for India’s 2018 holiday set.
67-166
: State-subdivision mapping looks thorough.
The dictionary covers a broad range of local holidays. This approach captures regional variations effectively.
168-299
: Wide-range holiday assertions are well-structured.
Verifying Diwali, Dussehra, Ganesh Chaturthi, and others across multiple years is a neat strategy.
300-405
: Subdivisions testing ensures local accuracy.
The new functiontest_ranged_subdiv_holidays
is an excellent addition for verifying region-specific holidays.
433-491
: Hindi localization tests verified.
All localized holiday names match the strings introduced in the.po
file, including multi-event days.
492-554
: en_US localization adequacy confirmed.
The test compares well with the new translations inholidays/locale/en_US/LC_MESSAGES/IN.po
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These are some suggestions from my side.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 7
♻️ Duplicate comments (1)
holidays/countries/india.py (1)
259-262
:⚠️ Potential issueMismatch: Bihu is not Makar Sankranti.
MappingBihu
via_add_makar_sankranti(tr("Bihu"))
is incorrect if these are distinct holidays. Consider creating a dedicated helper for Bihu:- self._add_makar_sankranti(tr("Bihu")) + # Example fix + self._add_bihu(tr("Bihu"))
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (6)
README.rst
(1 hunks)holidays/countries/india.py
(2 hunks)holidays/locale/en_IN/LC_MESSAGES/IN.po
(1 hunks)holidays/locale/en_US/LC_MESSAGES/IN.po
(1 hunks)holidays/locale/hi/LC_MESSAGES/IN.po
(1 hunks)tests/countries/test_india.py
(2 hunks)
🧰 Additional context used
🧠 Learnings (3)
holidays/locale/en_IN/LC_MESSAGES/IN.po (1)
Learnt from: KJhellico
PR: vacanza/holidays#2259
File: holidays/locale/en_IN/LC_MESSAGES/IN.po:30-299
Timestamp: 2025-03-05T17:51:00.633Z
Learning: In the Holidays project, .po files for a country's default locale use empty msgstr fields as a standard convention.
holidays/locale/en_US/LC_MESSAGES/IN.po (1)
Learnt from: KJhellico
PR: vacanza/holidays#2259
File: holidays/locale/en_IN/LC_MESSAGES/IN.po:30-299
Timestamp: 2025-03-05T17:51:00.633Z
Learning: In the Holidays project, .po files for a country's default locale use empty msgstr fields as a standard convention.
holidays/locale/hi/LC_MESSAGES/IN.po (1)
Learnt from: KJhellico
PR: vacanza/holidays#2259
File: holidays/locale/en_IN/LC_MESSAGES/IN.po:30-299
Timestamp: 2025-03-05T17:51:00.633Z
Learning: In the Holidays project, .po files for a country's default locale use empty msgstr fields as a standard convention.
🔇 Additional comments (19)
holidays/locale/hi/LC_MESSAGES/IN.po (5)
1-13
: Good addition of Hindi localization header.The file includes proper header information with license and attribution details.
17-27
: Project version and metadata look good.The metadata is correctly structured with appropriate version number, creation date, and translator information.
193-195
: Updated spelling of Gudi Padwa based on feedback.The translation now uses the corrected spelling "पाडवा" instead of "पडवा" which addresses previous review feedback.
46-47
: Updated to more respectful term for Labour Day.The translation now uses "श्रमिक दिवस" which is more respectful in Hindi as suggested in previous reviews.
289-291
: Properly updated Islamic holiday name.The translation for "Milad-un-Nabi" now correctly uses "मिलाद-उन-नबी" as suggested in previous reviews.
holidays/locale/en_IN/LC_MESSAGES/IN.po (3)
1-14
: Header information is correctly formatted.The standard header with appropriate copyright and license information is in place.
17-27
: Metadata is properly configured.The Project-Id-Version and language settings are correctly specified, with appropriate translator information.
29-31
: Empty msgstr fields follow project convention.The empty msgstr fields align with the Holidays project convention for source locale files.
holidays/locale/en_US/LC_MESSAGES/IN.po (4)
13-14
: Appropriate localization header for en_US.The header correctly specifies this as an en_US localization file.
17-28
: Metadata includes appropriate source language.The metadata correctly includes X-Source-Language: en_IN to indicate the source of translations.
46-48
: Proper US spelling of Labor Day.Correctly uses American spelling "Labor Day" instead of British "Labour Day" for en_US locale.
106-120
: Standardized Islamic holiday names for en_US.The translations use standardized English names for Islamic holidays as mentioned in prior feedback.
README.rst (1)
525-527
: Comprehensive update to Indian states information.Excellent enhancement of India's states listing with full names and transliterations where applicable. The supported languages are also appropriately updated to include the default (en_IN) and additional languages (en_US, hi).
holidays/countries/india.py (2)
14-15
: Great use of gettext for internationalization.
This aligns well with the new multilingual requirements.
27-29
: Multiple inheritance is well-structured.
Inheriting from these holiday groups provides a neat way to incorporate various national, religious, and international holidays.tests/countries/test_india.py (4)
66-163
: Expanded subdivision tests look solid.
The per-subdivision date checks help ensure unique local holidays are correctly covered.
433-490
: Comprehensive Hindi localization coverage.
All changes fortest_l10n_hi
are well-aligned with the new translations.
492-554
: English (US) localization checks are thorough.
These tests confirm that the newly added holiday names are properly rendered for en_US.
36-64
:❓ Verification inconclusive
Cross-check 2018 holiday dates with official sources.
You’ve introduced new holiday entries like "2018-02-13" and "2018-03-29." Confirm correctness with government circulars or references.
🏁 Script executed:
#!/bin/bash # Sample script to locate 2018 holiday lines and compare them rg '"2018-' -A 2 tests/countries/test_india.py echo "Please compare with official references above."Length of output: 8408
Please Verify the 2018 Holiday Dates
The test file (tests/countries/test_india.py
, lines 36–64) now includes new entries—specifically "2018-02-13" (Maha Shivaratri) and "2018-03-29" (Mahavir Jayanti). The script output confirms their presence alongside the other holiday dates. Please cross-check these dates with official government sources or circulars to ensure they are correct.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (1)
tests/countries/test_india.py
(2 hunks)
🔇 Additional comments (5)
tests/countries/test_india.py (5)
36-64
: Excellent coverage for 2018 holidays.
The newly added dates expand holiday coverage across multiple events, aligning well with the project’s scope.
314-419
: Comprehensive subdivision-based tests.
Your approach ensures that each state-specific holiday is accurately recognized or omitted. Terrific addition.
506-568
: English translations and labels look solid.
All updates appear consistent with the rest of the test suite and well aligned with the intended holiday names.
66-179
:✅ Verification successful
Confirm correctness of newly introduced subdivision dates.
The mapping comprehensively covers each state's unique holidays; however, please verify the date for “AS: 2018-12-02” (and any others you’re unsure of).
🌐 Web query:
Is 2018-12-02 officially recognized as “Assam Day” or “Assam Divas”? Please check official references for confirmation.
💡 Result:
Asom Divas, also known as Assam Day or Sukaphaa Divas, is officially recognized as a regional public holiday in Assam on December 2 annually, commemorating the arrival of the Ahom kingdom's founder, Chaolung Sukaphaa, in 1228. This observance began in 1996 when the Assam government declared it a state holiday[1][2][4][7].
For December 2, 2018, the date would have been recognized as Asom Divas, as the holiday has been consistently observed every year since its inception. Official confirmation comes from:
- Government press releases, such as Mizoram Raj Bhavan’s 2023 event highlighting Assam Day[3].
- Assam’s cultural and administrative practices, including awards, processions, and state-sponsored events held annually on this date[4][8].
- Reliable sources like the Assam State Government’s official portals and historical records, which reaffirm the continuity of the holiday since 1996[1][2][5][7].
Thus, December 2, 2018, was officially designated as Asom Divas, in line with the state’s historical and cultural protocols[1][3][4].
Citations:
- 1: https://www.officeholidays.com/holidays/india/assam/asom-divas
- 2: https://abhipedia.abhimanu.com/Article/State/MjY3MjIy/From-which-year-the-Assam-Divas-or-the-Sukaphaa-Divas-is-celebrated-on-2nd-December-Assam
- 3: https://dipr.mizoram.gov.in/post/raj-bhavan-mizoram-hosts-observation-of-assam-day-asom-divas-and-formation-day-of-nagaland
- 4: https://en.wikipedia.org/wiki/Sukaphaa
- 5: https://nationaltoday.com/asom-divas/
- 6: https://www.nbtindia.gov.in/writereaddata/attachment/monday-january-27-202010-34-36-amannual-report-2018-2019-english-.pdf
- 7: https://www.tnpscthervupettagam.com/currentaffairs-detail/assam-day-december-02?cat=important-days
- 8: https://morungexpress.com/assam-day-celebrated-at-india-international-trade-fair
- 9: https://en.wikipedia.org/wiki/Assam
- 10: https://www.holidaycalendar.io/holiday/asom-divas
Subdivision Dates Verification Complete
The date for Assam ("AS: 2018-12-02") has been confirmed as correct—it represents Asom Divas (Assam Day) as recognized officially in 2018. The holiday mapping in
tests/countries/test_india.py
appears accurate with respect to the state-specific holidays.
447-504
:✅ Verification successful
Hindi translations look great.
These localized variants strengthen inclusive testing. If unsure about any names, consider verifying spelling and diacritical marks.
🌐 Web query:
Please confirm transliterations of “महा शिवरात्रि”, “छठ पूजा”, “गुडी पाडवा” are accurate standard Hindi forms.
💡 Result:
The transliterations of these Hindi festival names into Roman script are generally accurate based on standard conventions, with some minor variations that are commonly accepted:
1. महा शिवरात्रि
- Standard Transliteration: Mahashivratri (no space) or Maha Shivaratri (with space).
- Usage: Both forms are widely accepted. "Mahashivratri" is more common in modern usage, while "Maha Shivaratri" retains the Sanskrit compound structure[1][5][9].
2. छठ पूजा
- Standard Transliteration: Chhath Puja (double "h" in "Chhath" to denote the aspirated "छ" sound).
- Note: "Chhath" is the most accurate phonetic representation, distinguishing it from the unaspirated "Chatth" or "Chath"[2][6][10].
3. गुडी पाडवा
- Standard Transliteration: Gudi Padwa (most common) or Gudhi Padwa.
- Variants: In Marathi, it is written as गुढी पाडवा, transliterated as Gudhi Padwa. However, the Hindi transliteration often simplifies to Gudi Padwa[3][7][8].
Summary Table
Hindi Term Standard Transliteration Common Variations महा शिवरात्रि Mahashivratri Maha Shivaratri छठ पूजा Chhath Puja Chath Puja (less common) गुडी पाडवा Gudi Padwa Gudhi Padwa (Marathi) These transliterations align with authoritative sources and cultural conventions. The double "h" in Chhath and the merged form Mahashivratri are particularly important for linguistic accuracy[1][6][8].
Citations:
- 1: https://www.sloshout.com/blog/mahashivratri-wishes-and-quotes/
- 2: https://www.prabhasakshi.com/festivals/chhath-puja-is-a-festival-of-sun-worship
- 3: https://resanskrit.com/blogs/blog-post/happy-gudi-padwa-ugadi-and-new-year
- 4: https://hinduism.hinduofuniverse.com/caste-system-in-india/
- 5: https://bharatdiscovery.org/india/%E0%A4%AE%E0%A4%B9%E0%A4%BE%E0%A4%B6%E0%A4%BF%E0%A4%B5%E0%A4%B0%E0%A4%BE%E0%A4%A4%E0%A5%8D%E0%A4%B0%E0%A4%BF
- 6: https://www.timesnowhindi.com/spirituality/chhath-puja-2024-date-time-shubh-muhurat-chhathi-maiya-puja-live-updates-chhath-par-chhathi-maiya-and-surya-dev-puja-vidhi-mantra-samagri-aarti-surya-arghya-chhath-vrat-paran-nahay-khay-liveblog-114961853
- 7: https://resanskrit.com/blogs/blog-post/happy-gudi-padwa-ugadi-and-new-year?v=c86ee0d9d7ed
- 8: https://www.iaewp.asia/online-course-materials/Interfaith%20Volume-3.pdf
- 9: https://resanskrit.com/blogs/blog-post/the-concept-shiva-maha-shivaratri
- 10: https://leverageedu.com/blog/hi/trending-chhath-puja-in-hindi/
- 11: https://pujabooking.com/festival/gudi-padwa/
- 12: https://www.yumpu.com/en/document/view/6545298/shloka-balagokulam
- 13: https://hi.wikipedia.org/wiki/%E0%A4%AE%E0%A4%B9%E0%A4%BE%E0%A4%B6%E0%A4%BF%E0%A4%B5%E0%A4%B0%E0%A4%BE%E0%A4%A4%E0%A5%8D%E0%A4%B0%E0%A4%BF
- 14: https://www.artofliving.org/in-hi/festivals/chhath-puja
- 15: https://en.wikipedia.org/wiki/Gudi_Padwa
- 16: https://www.cse.iitb.ac.in/~sri/ssrvm/knowledge.htm
- 17: https://en.wikipedia.org/wiki/Maha_Shivaratri
- 18: https://hi.wikipedia.org/wiki/%E0%A4%9B%E0%A4%A0_%E0%A4%AA%E0%A5%82%E0%A4%9C%E0%A4%BE
- 19: https://forvo.com/word/gudi_padwa/
- 20: https://www.axiscapital.co.in/contents/Vedant-Fashions-Limited-RHP.pdf
Verified Transliteration Accuracy in Hindi Tests
The localized Hindi festival names look accurate. The transliterations for “महा शिवरात्रि” (accepted as either Mahashivratri or Maha Shivaratri), “छठ पूजा” (Chhath Puja with the double "h"), and “गुडी पाडवा” (Gudi Padwa, with acknowledgment of the alternate Gudhi Padwa in Marathi) align with standard conventions and authoritative sources. No corrections are needed in these test cases.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've fixed a few points in the test myself to avoid a dozen small separate comments. :)
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 7
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (5)
holidays/countries/india.py
(2 hunks)holidays/locale/en_IN/LC_MESSAGES/IN.po
(1 hunks)holidays/locale/en_US/LC_MESSAGES/IN.po
(1 hunks)holidays/locale/hi/LC_MESSAGES/IN.po
(1 hunks)tests/countries/test_india.py
(2 hunks)
🧰 Additional context used
🧠 Learnings (4)
holidays/locale/hi/LC_MESSAGES/IN.po (2)
Learnt from: KJhellico
PR: vacanza/holidays#2259
File: holidays/locale/en_IN/LC_MESSAGES/IN.po:285-299
Timestamp: 2025-03-08T11:28:48.652Z
Learning: In the holidays project, message IDs (msgids) in locale files use region-specific naming conventions (e.g., "Muharram", "Id-ul-Fitr" in en_IN locale for India), while translator comments use internationally recognized names from the project's default locale (en_US) such as "Ashura", "Eid al-Fitr". This difference is intentional for proper localization.
Learnt from: KJhellico
PR: vacanza/holidays#2259
File: holidays/locale/en_IN/LC_MESSAGES/IN.po:30-299
Timestamp: 2025-03-05T17:51:00.633Z
Learning: In the Holidays project, .po files for a country's default locale use empty msgstr fields as a standard convention.
holidays/locale/en_IN/LC_MESSAGES/IN.po (2)
Learnt from: KJhellico
PR: vacanza/holidays#2259
File: holidays/locale/en_IN/LC_MESSAGES/IN.po:285-299
Timestamp: 2025-03-08T11:28:48.652Z
Learning: In the holidays project, message IDs (msgids) in locale files use region-specific naming conventions (e.g., "Muharram", "Id-ul-Fitr" in en_IN locale for India), while translator comments use internationally recognized names from the project's default locale (en_US) such as "Ashura", "Eid al-Fitr". This difference is intentional for proper localization.
Learnt from: KJhellico
PR: vacanza/holidays#2259
File: holidays/locale/en_IN/LC_MESSAGES/IN.po:30-299
Timestamp: 2025-03-05T17:51:00.633Z
Learning: In the Holidays project, .po files for a country's default locale use empty msgstr fields as a standard convention.
holidays/locale/en_US/LC_MESSAGES/IN.po (2)
Learnt from: KJhellico
PR: vacanza/holidays#2259
File: holidays/locale/en_IN/LC_MESSAGES/IN.po:285-299
Timestamp: 2025-03-08T11:28:48.652Z
Learning: In the holidays project, message IDs (msgids) in locale files use region-specific naming conventions (e.g., "Muharram", "Id-ul-Fitr" in en_IN locale for India), while translator comments use internationally recognized names from the project's default locale (en_US) such as "Ashura", "Eid al-Fitr". This difference is intentional for proper localization.
Learnt from: KJhellico
PR: vacanza/holidays#2259
File: holidays/locale/en_IN/LC_MESSAGES/IN.po:30-299
Timestamp: 2025-03-05T17:51:00.633Z
Learning: In the Holidays project, .po files for a country's default locale use empty msgstr fields as a standard convention.
holidays/countries/india.py (1)
Learnt from: KJhellico
PR: vacanza/holidays#2259
File: holidays/locale/en_IN/LC_MESSAGES/IN.po:285-299
Timestamp: 2025-03-08T11:28:48.652Z
Learning: In the holidays project, message IDs (msgids) in locale files use region-specific naming conventions (e.g., "Muharram", "Id-ul-Fitr" in en_IN locale for India), while translator comments use internationally recognized names from the project's default locale (en_US) such as "Ashura", "Eid al-Fitr". This difference is intentional for proper localization.
🔇 Additional comments (11)
holidays/locale/en_IN/LC_MESSAGES/IN.po (1)
106-120
: Check naming consistency for Islamic holidays.
All empty msgstr fields are correct per project conventions, but ensure that the final naming is intentional (e.g., "Muharram" vs. "Ashura").holidays/locale/en_US/LC_MESSAGES/IN.po (2)
46-49
: Duplicate comment: unify “Labour Day” vs. “Labor Day.”
Project convention suggests "Labor Day" for en_US.
106-120
: Validate alignment of Islamic holiday names.
It’s normal here to translate "Muharram" as "Ashura," etc. Double-check final naming is what you want.holidays/countries/india.py (2)
40-41
: Good addition of localization attributes.
This structure is neat and makes the code more flexible for multiple locales.
214-227
: Standardize Islamic holiday names across code and .po files.
Currently, code uses “Muharram,” “Milad-un-Nabi,” “Id-ul-Fitr,” “Bakrid,” while en_US uses “Ashura,” “Prophet’s Birthday,” etc. Confirm that this difference is intended.tests/countries/test_india.py (6)
35-64
: Great coverage for 2018 holiday checks.
You’ve comprehensively enumerated holiday dates for 2018, which helps ensure accurate coverage.
66-179
: Consider consolidating repeated subdivision holiday definitions.
Collecting these entries into a parameter-driven structure would reduce duplication and ease maintenance.
182-313
: Consider parameterizing repeated holiday checks.
These repeated blocks for each festival could be unified in a data-driven test to reduce code duplication.
314-419
: Consider consolidating repeated holiday checks for subdivisions.
Applying a parameterized approach can simplify these subdivision-specific validations.
506-569
: Localization coverage for en_US looks solid.
All lines appear coherent, reflecting correct holiday names and consistent date mappings.
447-505
:✅ Verification successful
Impressive coverage for Hindi localizations.
The diverse holiday names for 2018 look correct, but verify that dates like Assam Day (12/02) match official sources.
🌐 Web query:
Is Assam Day officially recognized on December 2 every year?
💡 Result:
Assam Day, also known as Asom Divas or Sukaphaa Divas, is indeed officially recognized as a regional public holiday in the Indian state of Assam every year on December 2[1][3][4]. This date commemorates the arrival of Chaolung Sukaphaa, the founder of the Ahom Kingdom, in Assam in 1228[1][6][12].
Key Details:
- Historical Significance: The day marks Sukaphaa’s establishment of the Ahom Kingdom, which unified Assam’s diverse ethnic groups and resisted external invasions for six centuries[1][4][9].
- Official Recognition: December 2 has been a public holiday in Assam since 1996, following a formal declaration by the state government[1][3][5].
- Celebrations: The day is marked by cultural programs, traditional dances (like Bihu and Bagurumba), and events honoring Sukaphaa’s legacy[6][9][14].
Additional Notes:
- The holiday is sometimes conflated with Assam’s statehood day (December 1–2, 1963), but Asom Divas specifically celebrates Sukaphaa’s arrival, not the state’s political formation[5][11].
- The Assam government and cultural organizations actively promote the day to highlight the state’s history and unity[9][14].
Thus, December 2 remains a widely observed and officially recognized day in Assam, reflecting both historical pride and cultural identity.
Citations:
- 1: https://www.officeholidays.com/holidays/india/assam/asom-divas
- 2: https://asombarta.com/state-celebrates-new-status-of-assamese/
- 3: https://abhipedia.abhimanu.com/Article/State/MjY3MjIy/From-which-year-the-Assam-Divas-or-the-Sukaphaa-Divas-is-celebrated-on-2nd-December-Assam
- 4: https://nationaltoday.com/asom-divas/
- 5: https://dipr.mizoram.gov.in/post/raj-bhavan-mizoram-hosts-observation-of-assam-day-asom-divas-and-formation-day-of-nagaland
- 6: https://www.freepressjournal.in/india/asom-divas-date-significance-and-all-you-need-to-know-about-this-holiday-in-assam
- 7: https://www.tnpscthervupettagam.com/currentaffairs-detail/assam-day-december-02?cat=important-days
- 8: https://rajbhavan-maharashtra.gov.in/en/01-12-2024-nagaland-day-and-assam-day-celebrated-in-maharashtra/
- 9: https://www.sentinelassam.com/north-east-india-news/assam-news/asom-divas-or-sukapha-divas-celebrated-across-state-to-commemorate-first-ahom-king-626170
- 10: https://www.holidaycalendar.io/holiday/asom-divas
- 11: https://ladakh.gov.in/assam-foundation-day-celebrated-with-full-fervour-at-lg-secretariat/
- 12: https://en.wikipedia.org/wiki/Sukaphaa
- 13: https://morungexpress.com/assam-day-celebrated-at-india-international-trade-fair
- 14: https://www.tribuneindia.com/news/delhi/assam-day-at-trade-fair-a-celebration-of-culture-progress-future-aspirations/
- 15: https://tourism.assam.gov.in/portlets/calendar-of-festivals
- 16: https://en.wikipedia.org/wiki/Assam
- 17: https://assam.gov.in/about-us/399
- 18: https://www.iasgyan.in/daily-current-affairs/assam-day
- 19: https://bharathgyanblog.wordpress.com/2018/12/02/assams-integral-role-in-india/
- 20: https://www.bankbazaar.com/indian-holiday/assam-holidays.html
Great work on the Hindi localizations!
The holiday list for 2018 is comprehensive and accurate. I verified that Assam Day (“असम दिवस”) on December 2 is indeed the officially recognized date per multiple sources.
@@ -28,269 +37,596 @@ class India(HolidayBase, ChristianHolidays, InternationalHolidays, IslamicHolida | |||
""" | |||
|
|||
country = "IN" | |||
default_language = "en_IN" | |||
supported_languages = ("en_IN", "en_US", "hi") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
supported_languages = ("en_IN", "en_US", "hi") | |
# %s (estimated). | |
estimated_label = tr("%s (estimated)") | |
supported_languages = ("en_IN", "en_US", "hi") |
As the country has movable holidays.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the suggestion!
I was wondering if I should add this estimated label to all ranged holidays, including all national and subdivision-level ranged holidays.
If yes, how do I implement it?
Also about the optional label in restricted holidays.. what should be done ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You just define the estimated_label
variable, and everything else is automatically done. But display of this label is enabled by default only for IslamicHolidays.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I slightly forgot about the categories. If you know exactly which holidays are restricted, you can move them to the OPTIONAL
category. You can look at Denmark as an example of country with categories. (Also, remember to add OPTIONAL
category to description of India in README)
And you will need to modify the tests accordingly.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okayy.. Well I have an exam tomorrow so I'll implement it in upcoming days
|
||
def __init__(self, *args, **kwargs): | ||
ChristianHolidays.__init__(self) | ||
HinduCalendarHolidays.__init__(self) | ||
IslamicHolidays.__init__(self) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IslamicHolidays.__init__(self) | |
IslamicHolidays.__init__(self, cls=IndiaIslamicHolidays) |
Proposed change
This PR addresses Issues #2182 , #2183 enhancing the holiday dataset by incorporating state-specific holidays and regional variations. The goal is to provide a more comprehensive representation of holidays in India, covering a wider range of locations.
I am a Winter of Code (WoC) 2025 contributor and am excited to contribute to the project with these updates. Let me know if any further modifications are needed!
Resolves #2182 and #2183 .
Type of change
holidays
functionality in general)Checklist
make check
, all checks and tests are green