kosher-rust 0.1.0

Rust port of KosherJava: Jewish holidays, halachic times (zmanim), and daily learning schedules. no_std-friendly.
Documentation
[package]
name = "kosher-rust"
version = "0.1.0"
edition = "2024"
rust-version = "1.93.0"
authors = ["Moshe Dicker <dickermoshe@gmail.com>"]
license = "LGPL-2.1-or-later"
description = "Rust port of KosherJava: Jewish holidays, halachic times (zmanim), and daily learning schedules. no_std-friendly."
readme = "README.md"
repository = "https://github.com/dickermoshe/rust-zmanim-project"
homepage = "https://github.com/dickermoshe/rust-zmanim-project"
documentation = "https://docs.rs/kosher-rust"
keywords = ["zmanim", "hebrew-calendar", "jewish", "daf-yomi", "halacha"]
categories = ["date-and-time", "no-std", "internationalization"]
exclude = [
    "/interop-tests/",
    "/third-party/",
    "/tools/",
    "/crates/",
    "/.github/",
    "/REVIEW.md",
]

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]

[features]
default = ["alloc"]
# Human-readable zman preset descriptions (uses the allocator).
alloc = []
# `defmt::Format` on calculator, config, location, and error types.
defmt = ["dep:defmt"] # TODO: jiff/defmt integration when available upstream


[dependencies]
# Calendar libraries
icu_calendar = { version = "2.2.0", default-features = false }

# Datetime libraries
jiff = { version = "0.2.0", default-features = false }
jiff-icu = { version = "0.2.0", default-features = false }
core_maths = "0.1.1"

# Utility for converting enums to integers and back
num_enum = { version = "0.7.0", default-features = false }

# Logging to embedded targets
defmt = { version = "1.0.0", optional = true }

# Utility for creating custom error types
thiserror = { version = "2.0.18", default-features = false }

[dev-dependencies]
jiff = { version = "0.2.0", default-features = false, features = [
    "std",
    "alloc",
    "tzdb-bundle-always",
] }

[lints]
workspace = true

[workspace]
resolver = "2"
members = ["interop-tests/java_interop_tests", "interop-tests/js_interop_tests"]

[workspace.lints.rust]
missing_docs = "warn"

[workspace.lints.clippy]
unwrap_used = "warn"
expect_used = "warn"
panic = "warn"