| Crates.io | hebrew_holiday_calendar |
| lib.rs | hebrew_holiday_calendar |
| version | 0.2.2 |
| created_at | 2026-01-06 18:21:43.227878+00 |
| updated_at | 2026-01-21 05:25:28.338315+00 |
| description | A comprehensive Rust library for working with the Hebrew calendar, including holidays, Torah readings (parshiyot), and calendar calculations with no_std support |
| homepage | |
| repository | https://github.com/dickermoshe/hebrew_holiday_calendar |
| max_upload_size | |
| id | 2026445 |
| size | 196,543 |
A comprehensive Rust library for working with the Hebrew calendar, including holidays, Torah readings (parshiyot), and calendar calculations. This library provides no_std support and can be used in embedded environments.
Add this to your Cargo.toml:
[dependencies]
hebrew_holiday_calendar = "0.1.0"
For no_std environments:
[dependencies]
hebrew_holiday_calendar = { version = "0.1.0", default-features = false }
use hebrew_holiday_calendar::*;
use icu_calendar::{Date, cal::Hebrew};
// Create a Hebrew date: 1 Tishrei 5784 (Rosh Hashana)
let date = Date::<Hebrew>::from_hebrew_date(5784, HebrewMonth::Tishrei, 1).unwrap();
// Get holidays
for holiday in date.holidays(false, false) {
println!("Holiday: {}", holiday.he()); // "ראש השנה"
}
// Check if work is forbidden
if date.is_assur_bemelacha(false) {
println!("Work is forbidden today");
}
// Get the weekly parsha (on Shabbat)
if let Some(parsha) = date.todays_parsha(false) {
println!("Parsha: {}", parsha.en());
}
This library is extensively tested against KosherJava, the widely-used Java library for Jewish calendar calculations. Our test suite includes:
The extensive testing ensures compatibility and accuracy with established Jewish calendar standards.
This library works in no_std environments. All core functionality is available without the standard library.
[dependencies]
hebrew_holiday_calendar = { version = "0.1.0", default-features = false }
defmt: Enables formatting support for embedded loggingThe library uses the ICU calendar system (icu_calendar) for accurate Hebrew date calculations and conversions. All Hebrew calendar rules are implemented according to traditional Jewish law:
Molad and Kiddush Levana calculations are exposed on Date<Gregorian> via the MoladCalendar trait. These methods only return Some when the molad-based time falls on that Gregorian date in the provided timezone.
The library is released under the LGPL 2.1 license.