Shaum
A Rust library for determining the legal status (Hukum) of fasting for any given date according to Islamic Jurisprudence (Fiqh al-Ibadaat).
Overview
Shaum provides a robust engine to convert Gregorian dates to Hijri and analyze them against standard Fiqh rules to determine whether fasting is Obligatory (Wajib), Recommended (Sunnah), Permissible (Mubah), Disliked (Makruh), or Prohibited (Haram).
Features
- Hijri Conversion: Standard Umm al-Qura algorithm with support for manual moon-sighting adjustment.
- Fiqh Analysis: Prioritized rule engine resolving conflicts (e.g., Arafah on Friday).
- Status Classification:
- Wajib: Ramadhan.
- Haram: Eid al-Fitr, Eid al-Adha, Days of Tashriq.
- Sunnah: Arafah, Ashura, Tasu'a, Ayyamul Bidh, Mondays, Thursdays, Shawwal.
- Makruh: Singling out Friday or Saturday.
- Utilities: Schedule generation for Daud fasting (alternate days).
Usage
Add this to your Cargo.toml:
[]
= "0.1.0"
Example
use *;
use NaiveDate;
License
MIT License. Copyright (c) 2026 Mohammad Farid Hendianto (IRedDragonICY).