Skip to content

Add Sint Maarten holidays#2631

Merged
arkid15r merged 56 commits intovacanza:devfrom
psupra22:dev
Jun 24, 2025
Merged

Add Sint Maarten holidays#2631
arkid15r merged 56 commits intovacanza:devfrom
psupra22:dev

Conversation

@psupra22
Copy link
Contributor

Proposed change

Adds support for Sint Maarten (SX) public holidays with full test coverage.
Resolves #2475

Type of change

  • New country/market holidays support (thank you!)
  • Supported country/market holidays update (calendar discrepancy fix, localization)
  • Existing code/documentation/test/process quality improvement (best practice, cleanup, refactoring, optimization)
  • Dependency update (version deprecation/pin/upgrade)
  • Bugfix (non-breaking change which fixes an issue)
  • Breaking change (a code change causing existing functionality to break)
  • New feature (new holidays functionality in general)

Checklist

psupra22 added 17 commits June 13, 2025 14:02
Signed-off-by: Platon Supranovich <psupra521@gmail.com>
Signed-off-by: Platon Supranovich <psupra521@gmail.com>
Signed-off-by: Platon Supranovich <psupra521@gmail.com>
Signed-off-by: Platon Supranovich <psupra521@gmail.com>
Signed-off-by: Platon Supranovich <psupra521@gmail.com>
Signed-off-by: Platon Supranovich <psupra521@gmail.com>
Signed-off-by: Platon Supranovich <psupra521@gmail.com>
Signed-off-by: Platon Supranovich <psupra521@gmail.com>
Signed-off-by: Platon Supranovich <psupra521@gmail.com>
Signed-off-by: Platon Supranovich <psupra521@gmail.com>
Signed-off-by: Platon Supranovich <psupra521@gmail.com>
Signed-off-by: Platon Supranovich <psupra521@gmail.com>
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jun 14, 2025

Summary by CodeRabbit

  • New Features

    • Added support for Sint Maarten (country code SX) holidays, including public holiday definitions and observance rules.
    • Introduced Dutch (default) and English (US) language support for Sint Maarten holiday names.
  • Documentation

    • Updated README to reflect support for Sint Maarten and increased the total supported country codes.
    • Added Sint Maarten to the list of contributors.
  • Tests

    • Added comprehensive tests for Sint Maarten holiday calculations and localization.
  • Chores

    • Added localization files for Dutch and English (US) translations of Sint Maarten holidays.

Summary by CodeRabbit

  • New Features
    • Added support for Sint Maarten (country code SX) holidays, including all major public holidays and observance rules starting from 2011.
    • Introduced English (US) and Dutch (nl) translations for Sint Maarten holidays.
  • Documentation
    • Updated README to reflect Sint Maarten as a supported country.
    • Added Sint Maarten to the list of contributors and country registry.
  • Tests
    • Added comprehensive tests to verify Sint Maarten holiday calculations and observance rules.
  • Chores
    • Added a new contributor to the CONTRIBUTORS list.
  • Refactor
    • Introduced a new observed holiday rule for shifting holidays from Sunday to the previous Saturday.

Walkthrough

This update introduces a new holiday provider for Sint Maarten (SX), including its country code, holiday definitions, translations, and comprehensive tests. Documentation and registry files are updated to reflect Sint Maarten support, and a new contributor is added.

Changes

Files/Paths Change Summary
README.md Added Sint Maarten (SX) to supported countries table and updated country count.
holidays/countries/init.py, holidays/registry.py Imported SintMaarten provider and registered SX in the countries registry.
holidays/countries/sint_maarten.py Introduced SintMaarten holiday provider and its aliases (SX, SXM) with holiday logic.
holidays/locale/en_US/LC_MESSAGES/SX.po, holidays/locale/nl/LC_MESSAGES/SX.po Added English and Dutch translation templates for Sint Maarten holidays.
tests/countries/test_sint_maarten.py Added comprehensive unit tests for Sint Maarten holidays and edge cases.
CONTRIBUTORS Added "Platon Supranovich" to the contributors list.
holidays/observed_holiday_base.py Added new observed holiday rule SUN_TO_PREV_SAT for shifting Sunday holidays to previous Saturday.

Assessment against linked issues

Objective Addressed Explanation
Add SX Sint Maarten holidays (#2475)

Assessment against linked issues: Out-of-scope changes

Code Change (file_path) Explanation
Addition of "Platon Supranovich" to CONTRIBUTORS This change is unrelated to adding Sint Maarten holidays but is harmless.

Suggested reviewers

  • KJhellico
  • PPsyrius

📜 Recent review details

Configuration used: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 20bb16b and dbcfc91.

📒 Files selected for processing (1)
  • tests/countries/test_sint_maarten.py (1 hunks)
🧰 Additional context used
🧠 Learnings (1)
tests/countries/test_sint_maarten.py (8)
Learnt from: PPsyrius
PR: vacanza/holidays#2629
File: tests/countries/test_namibia.py:22-23
Timestamp: 2025-06-14T10:58:43.636Z
Learning: In the vacanza/holidays project, country test files consistently use range(start_year, 2050) which intentionally excludes 2050 and stops at 2049. This is a library-wide implementation pattern, not an off-by-one error.
Learnt from: PPsyrius
PR: vacanza/holidays#2416
File: tests/countries/test_turkmenistan.py:52-64
Timestamp: 2025-04-05T04:47:27.213Z
Learning: For holiday tests in the vacanza/holidays project, structure tests by individual holidays rather than by years. Each test method should focus on a specific holiday and test it across multiple years (from start_year through 2050) using helper methods like `assertHolidayName`. For fixed holidays, use generators like `(f"{year}-01-01" for year in range(1991, 2051))`. For movable holidays, specify individual dates for specific years followed by a range check.
Learnt from: KJhellico
PR: vacanza/holidays#2631
File: tests/countries/test_sint_maarten.py:62-0
Timestamp: 2025-06-14T20:46:32.773Z
Learning: In the vacanza/holidays project tests, inner classes that shadow outer test class names are not standard practice. The test_sint_maarten.py file appears to be the only file using this pattern, making it an outlier rather than following project conventions.
Learnt from: KJhellico
PR: vacanza/holidays#2532
File: tests/countries/test_cocos_islands.py:78-89
Timestamp: 2025-05-12T15:31:58.079Z
Learning: In the holidays project, tests for movable holidays (like Easter Monday) should always use static date sets only, not calculation functions.
Learnt from: PPsyrius
PR: vacanza/holidays#2489
File: holidays/countries/sao_tome_and_principe.py:22-26
Timestamp: 2025-04-23T14:55:35.504Z
Learning: References in holidays classes should only be included if they're used for test case cross-checks or provide historical context about when holidays were added/removed, not just for the sake of having more references.
Learnt from: PPsyrius
PR: vacanza/holidays#2489
File: holidays/countries/sao_tome_and_principe.py:22-26
Timestamp: 2025-04-23T14:55:35.504Z
Learning: References in holidays classes should only be included if they're used for test case cross-checks or provide historical context about when holidays were added/removed, not just for the sake of having more references.
Learnt from: KJhellico
PR: vacanza/holidays#2530
File: tests/countries/test_andorra.py:23-28
Timestamp: 2025-05-06T21:07:11.577Z
Learning: In the holidays project, test methods for country holidays follow a standard form where year ranges are explicitly recreated in each test method rather than being stored as class variables, to maintain consistency across all country tests.
Learnt from: PPsyrius
PR: vacanza/holidays#2386
File: tests/countries/test_nepal.py:499-536
Timestamp: 2025-04-05T06:49:06.217Z
Learning: In the holidays project, test files follow a dual testing approach: individual methods test specific holidays across multiple years, while comprehensive year-specific tests (e.g., `test_2025`) verify all holidays for a specific year in a single assertion. Both approaches serve different testing purposes and complement each other.
🪛 Pylint (3.3.7)
tests/countries/test_sint_maarten.py

[convention] 1-1: Missing module docstring

(C0114)


[convention] 19-19: Missing class docstring

(C0115)


[warning] 21-21: Number of parameters was 4 in 'TestCase.setUpClass' and is now 1 in overriding 'TestSintMaarten.setUpClass' method

(W0221)


[convention] 24-24: Missing function or method docstring

(C0116)


[convention] 27-27: Missing function or method docstring

(C0116)


[convention] 30-30: Missing function or method docstring

(C0116)


[convention] 33-33: Missing function or method docstring

(C0116)


[convention] 46-46: Missing function or method docstring

(C0116)


[convention] 59-59: Missing function or method docstring

(C0116)


[convention] 72-72: Missing function or method docstring

(C0116)


[convention] 95-95: Missing function or method docstring

(C0116)


[convention] 115-115: Missing function or method docstring

(C0116)


[convention] 120-120: Missing function or method docstring

(C0116)


[convention] 133-133: Missing function or method docstring

(C0116)


[convention] 146-146: Missing function or method docstring

(C0116)


[convention] 166-166: Missing function or method docstring

(C0116)


[convention] 180-180: Missing function or method docstring

(C0116)


[convention] 183-183: Missing function or method docstring

(C0116)


[convention] 194-194: Missing function or method docstring

(C0116)


[convention] 198-198: Missing function or method docstring

(C0116)


[convention] 217-217: Missing function or method docstring

(C0116)


[convention] 235-235: Missing function or method docstring

(C0116)

🔇 Additional comments (3)
tests/countries/test_sint_maarten.py (3)

1-23: File structure and setup look solid.

The imports, class structure, and setup follow established project patterns well. The year range in setUpClass correctly covers the supported years (2011-2050).


24-196: Holiday test methods are comprehensive and well-structured.

The individual test methods properly follow project patterns with specific date validations and range checks. The observance rules for King's Day, Carnival Day, and Emancipation Day are correctly tested, and the transition periods (Queen's Day to King's Day, Kingdom Day ending) are properly handled.


198-252: Comprehensive and localization tests provide excellent coverage.

The year-specific test (2017) validates all holidays comprehensively, while the localization tests ensure proper Dutch and English translations. This dual approach effectively validates both functionality and internationalization.

✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate Unit Tests
  • Create PR with Unit Tests
  • Post Copyable Unit Tests in Comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai auto-generate unit tests to generate unit tests for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🔭 Outside diff range comments (1)
holidays/locale/en_US/LC_MESSAGES/SX.po (1)

21-75: ⚠️ Potential issue

Empty translations in msgstr fields

All msgstr entries are empty, which will cause blank labels for holidays in the default en_US locale. Please populate each msgstr with the corresponding msgid (e.g., msgstr "New Year's Day") or remove the file so the code falls back to the original English strings.

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a934403 and 3df7139.

📒 Files selected for processing (7)
  • CONTRIBUTORS (1 hunks)
  • README.md (2 hunks)
  • holidays/countries/__init__.py (1 hunks)
  • holidays/countries/sint_maarten.py (1 hunks)
  • holidays/locale/en_US/LC_MESSAGES/SX.po (1 hunks)
  • holidays/registry.py (1 hunks)
  • tests/countries/test_sint_maarten.py (1 hunks)
🧰 Additional context used
🧠 Learnings (1)
tests/countries/test_sint_maarten.py (1)
Learnt from: PPsyrius
PR: vacanza/holidays#2416
File: tests/countries/test_turkmenistan.py:52-64
Timestamp: 2025-04-05T04:47:27.213Z
Learning: For holiday tests in the vacanza/holidays project, structure tests by individual holidays rather than by years. Each test method should focus on a specific holiday and test it across multiple years (from start_year through 2050) using helper methods like `assertHolidayName`. For fixed holidays, use generators like `(f"{year}-01-01" for year in range(1991, 2051))`. For movable holidays, specify individual dates for specific years followed by a range check.
🧬 Code Graph Analysis (2)
holidays/countries/__init__.py (1)
holidays/countries/sint_maarten.py (3)
  • SintMaarten (21-94)
  • SX (97-98)
  • SXM (101-102)
tests/countries/test_sint_maarten.py (2)
tests/common.py (7)
  • CommonCountryTests (356-374)
  • assertAliases (121-130)
  • assertNoHolidays (292-294)
  • assertHolidays (228-230)
  • assertNoHolidayName (273-275)
  • assertHolidayName (195-199)
  • assertNoHoliday (244-246)
holidays/countries/sint_maarten.py (3)
  • SintMaarten (21-94)
  • SX (97-98)
  • SXM (101-102)
🪛 Pylint (3.3.7)
holidays/countries/sint_maarten.py

[convention] 26-26: Line too long (116/100)

(C0301)


[convention] 27-27: Line too long (113/100)

(C0301)


[convention] 28-28: Line too long (120/100)

(C0301)


[convention] 1-1: Missing module docstring

(C0114)


[convention] 97-97: Missing class docstring

(C0115)


[convention] 101-101: Missing class docstring

(C0115)

tests/countries/test_sint_maarten.py

[convention] 1-1: Missing module docstring

(C0114)


[convention] 20-20: Missing class docstring

(C0115)


[warning] 22-22: Number of parameters was 4 in 'TestCase.setUpClass' and is now 1 in overriding 'TestSintMaarten.setUpClass' method

(W0221)


[convention] 25-25: Missing function or method docstring

(C0116)


[convention] 28-28: Missing function or method docstring

(C0116)


[convention] 31-31: Missing function or method docstring

(C0116)


[convention] 51-51: Missing function or method docstring

(C0116)


[convention] 61-61: Missing function or method docstring

(C0116)


[warning] 62-62: Redefining name 'TestSintMaarten' from outer scope (line 20)

(W0621)


[convention] 62-62: Missing class docstring

(C0115)


[convention] 83-83: Missing function or method docstring

(C0116)


[convention] 88-88: Missing function or method docstring

(C0116)


[convention] 105-105: Missing function or method docstring

(C0116)


[convention] 110-110: Missing function or method docstring

(C0116)


[convention] 115-115: Missing function or method docstring

(C0116)


[convention] 135-135: Missing function or method docstring

(C0116)


[convention] 142-142: Missing function or method docstring

(C0116)


[convention] 147-147: Missing function or method docstring

(C0116)

🔇 Additional comments (6)
CONTRIBUTORS (1)

121-121: Contributor Added in Correct Order

The new entry for Platon Supranovich is correctly placed between Piotr Staniów and Prateekshit Jaiswal, preserving the alphabetical order.

holidays/registry.py (1)

174-174: Sint Maarten Registered in COUNTRY Dictionary

The entry "sint_maarten": ("SintMaarten", "SX", "SXM") has been added consistently with existing country definitions.

README.md (2)

108-108: Supported Country Count Updated

The count was correctly incremented from 186 to 187 to reflect the addition of Sint Maarten.


1207-1212: Sint Maarten Row Added to Country Table

The <tr> entry for Sint Maarten with code SX, no subdivisions, default en_US language, and no extra categories is formatted consistently with other rows.

holidays/countries/__init__.py (1)

171-171: Import for SintMaarten Properly Inserted and Sorted

The line from holidays.countries.sint_maarten import SintMaarten, SX, SXM is correctly added after Singapore and before Slovakia, preserving the import order.

tests/countries/test_sint_maarten.py (1)

23-23: 🧹 Nitpick (assertive)

setUpClass signature mismatch flagged by pylint is expected – suppress it locally.

Overriding setUpClass(cls, entity_cls, years=...) is the established pattern inside CommonCountryTests. Consider adding a # pylint: disable=arguments-differ comment to silence future noise.

⛔ Skipped due to learnings
Learnt from: KJhellico
PR: vacanza/holidays#2609
File: tests/countries/test_nauru.py:20-24
Timestamp: 2025-06-13T15:15:25.128Z
Learning: In the vacanza/holidays test suite, overriding `setUpClass` is intentionally done with the single `cls` parameter (no *args/**kwargs), so signature-mismatch lint warnings are ignored project-wide.

@KJhellico KJhellico changed the title Add SX Sint Maarten holidays Add Sint Maarten holidays Jun 14, 2025
Copy link
Collaborator

@KJhellico KJhellico left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few suggestions for the beginning.

Copy link
Collaborator

@PPsyrius PPsyrius left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good start so far, though for test case I would recommend the recently merged test_nauru.py as a base 👍

psupra22 added 2 commits June 18, 2025 17:56
Signed-off-by: Platon Supranovich <psupra521@gmail.com>
Signed-off-by: Platon Supranovich <psupra521@gmail.com>
Signed-off-by: Platon Supranovich <psupra521@gmail.com>
Copy link
Collaborator

@KJhellico KJhellico left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that's the last of my suggestions. :)

psupra22 added 6 commits June 23, 2025 19:25
Signed-off-by: Platon Supranovich <psupra521@gmail.com>
Signed-off-by: Platon Supranovich <psupra521@gmail.com>
Signed-off-by: Platon Supranovich <psupra521@gmail.com>
Signed-off-by: Platon Supranovich <psupra521@gmail.com>
Signed-off-by: Platon Supranovich <psupra521@gmail.com>
Signed-off-by: Platon Supranovich <psupra521@gmail.com>
Copy link
Contributor

@coderabbitai coderabbitai bot left a 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

📥 Commits

Reviewing files that changed from the base of the PR and between 841a4c5 and 20bb16b.

📒 Files selected for processing (1)
  • holidays/countries/sint_maarten.py (1 hunks)
🧰 Additional context used
🧠 Learnings (1)
holidays/countries/sint_maarten.py (3)
Learnt from: KJhellico
PR: vacanza/holidays#2631
File: holidays/countries/sint_maarten.py:94-95
Timestamp: 2025-06-14T20:43:15.370Z
Learning: The `_add_*` helper methods in the holidays library (such as `_add_christmas_day_two()`, `_add_labor_day()`, etc.) don't have default holiday names, so the name parameter should always be explicitly specified when calling these methods.
Learnt from: KJhellico
PR: vacanza/holidays#2354
File: holidays/countries/fiji.py:63-70
Timestamp: 2025-03-23T10:11:50.465Z
Learning: In the holidays library, the `SAT_SUN_TO_NEXT_MON_TUE` rule is specifically used for consecutive holidays (like Christmas Day and Boxing Day) to ensure they're observed on separate weekdays (Monday and Tuesday) when they fall on weekends, while `SAT_SUN_TO_NEXT_MON` is used as the default rule for other holidays.
Learnt from: Wasif-Shahzad
PR: vacanza/holidays#2593
File: holidays/countries/senegal.py:104-110
Timestamp: 2025-06-05T17:22:43.114Z
Learning: In the holidays library codebase, country alias classes (like SN, SEN for Senegal) follow a consistent convention of having no docstrings and just containing "pass". This pattern is used across all countries - examples include BR/BRA for Brazil, CA/CAN for Canada, DE/DEU for Germany, etc. Static analysis tools may flag missing docstrings, but the established codebase convention is to keep these alias classes minimal.
🪛 Pylint (3.3.7)
holidays/countries/sint_maarten.py

[convention] 30-30: Line too long (178/100)

(C0301)


[convention] 31-31: Line too long (187/100)

(C0301)


[convention] 32-32: Line too long (153/100)

(C0301)


[convention] 33-33: Line too long (134/100)

(C0301)


[convention] 1-1: Missing module docstring

(C0114)


[convention] 113-113: Missing class docstring

(C0115)


[convention] 117-117: Missing class docstring

(C0115)

🔇 Additional comments (7)
holidays/countries/sint_maarten.py (7)

36-40: Well-structured country configuration.

The country code, language settings, and start year are properly configured based on Sint Maarten's status as a constituent country from 2010.


42-46: Proper initialization with default observance rule.

The constructor correctly initializes parent classes and sets the default observance rule to move Sunday holidays to Monday, which aligns with standard practices.


61-68: Excellent King's/Queen's Day implementation.

The conditional logic properly handles the transition from Queen's Day (April 30) to King's Day (April 27) in 2014, with correct observance rules moving Sunday holidays to Saturday.


70-77: Solid Carnival Day implementation with proper observance.

The implementation correctly handles Carnival Day with different rules before and after 2014, including proper weekend adjustments (Saturday to Friday, Sunday to Tuesday).


88-96: Proper handling of legislative changes.

The conditional logic correctly implements Emancipation Day (from 2012) and Constitution Day (from 2015), while properly ending Kingdom Day in 2014. This matches the legislative timeline.

Also applies to: 101-104


113-118: Alias classes follow established conventions.

The SX and SXM alias classes correctly follow the codebase pattern of minimal implementation without docstrings, consistent with other country implementations.


30-33: Line length exceeds project standards.

The reference URLs exceed the 100-character line limit. Consider breaking them across multiple lines.

-        * [AB 2012 no. 19](https://web.archive.org/web/20250615040244/https://www.sintmaartengov.org/Documents/Official%20Publications/AB%2019%20Lvo%20Dag%20van%20Bevrijding.pdf)
-        * [AB 2015 no. 24](https://web.archive.org/web/20250615035932/https://www.sintmaartengov.org/Documents/Official%20Publications/AB%2024%20Landsverordening%20Constitution%20Day.pdf)
-        * [2014-2023](https://web.archive.org/web/20230307083630/https://www.sintmaartengov.org/government/VSA/labour/Pages/Public-Holiday-Schedule.aspx)
-        * [2024-Present](https://web.archive.org/web/20250212071023/https://www.sintmaartengov.org/Pages/Public-Holiday-Schedule.aspx)
+        * [AB 2012 no. 19](https://web.archive.org/web/20250615040244/https://www.sintmaartengov.org/Documents/Official%20Publications/AB%2019%20Lvo%20Dag%20van%20Bevrijding.pdf)
+        * [AB 2015 no. 24](https://web.archive.org/web/20250615035932/https://www.sintmaartengov.org/Documents/Official%20Publications/AB%2024%20Landsverordening%20Constitution%20Day.pdf)
+        * [2014-2023](https://web.archive.org/web/20230307083630/https://www.sintmaartengov.org/government/VSA/labour/Pages/Public-Holiday-Schedule.aspx)
+        * [2024-Present](https://web.archive.org/web/20250212071023/https://www.sintmaartengov.org/Pages/Public-Holiday-Schedule.aspx)
⛔ Skipped due to learnings
Learnt from: KJhellico
PR: vacanza/holidays#2671
File: holidays/countries/libya.py:25-25
Timestamp: 2025-06-22T21:34:15.750Z
Learning: In the holidays project, Reference URLs in docstrings are kept as complete markdown links on single lines even when they exceed 100 characters, prioritizing reference readability over line length limits.

Signed-off-by: Platon Supranovich <psupra521@gmail.com>
@sonarqubecloud
Copy link

Copy link
Collaborator

@KJhellico KJhellico left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! 👍

Copy link
Collaborator

@PPsyrius PPsyrius left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 🇸🇽

@arkid15r arkid15r enabled auto-merge June 24, 2025 15:49
Copy link
Collaborator

@arkid15r arkid15r left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clean work @psupra22, LGTM 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add SX Sint Maarten holidays

4 participants