1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
//! Rust port of [KosherJava](https://github.com/KosherJava/zmanim) for Jewish holidays,
//! halachic times (*zmanim*), and Torah/Talmud learning schedules (e.g. Daf Yomi,
//! Pirkei Avos). A `no_std` crate (optional `alloc`) for Hebrew calendar extensions,
//! location-based *zmanim*, and *limudim* calculators.
//!
//! # Modules
//!
//! | Module | Purpose |
//! |--------|---------|
//! | [`calendar`] | Hebrew dates, holidays, *parshiyot*, month constants, and calendar traits |
//! | [`zmanim`] | Sunrise, candle lighting, *alos*, *tzeis*, and other halachic times |
//! | [`limudim`] | Daf Yomi, Mishna Yomis, Tehillim, Pirkei Avos, and related daily units |
//!
//! Each module has its own [`calendar::prelude`], [`zmanim::prelude`], or
//! [`limudim::prelude`]. Use [`prelude`] at the crate root when an application
//! needs more than one area.
//!
//!
//! See each module's documentation for focused examples: [`calendar`] for holidays
//! and parsha, [`zmanim`] for location-based times, [`limudim`] for learning schedules.
//!
//! # Features
//!
//! | Feature | Default | Effect |
//! |---------|---------|--------|
//! | `alloc` | yes | Zman preset descriptions; without it the crate stays `no_std` and calculation APIs are unchanged |
//! | `defmt` | no | `defmt::Format` on calculator, config, location, and error types |
//!
//! Disable default features in `Cargo.toml` when targeting embedded platforms that
//! cannot use the allocator:
//!
/// Common imports across [`calendar`], [`zmanim`], and [`limudim`].
///
/// Re-exports each submodule's prelude. Prefer a submodule prelude when you only
/// need one area — for example [`zmanim::prelude`] alone avoids pulling limudim
/// names into scope.
///
/// ```
/// use kosher_rust::prelude::*;
/// ```