Logo Lanfrica

henaorth16/kenat-java

Domain:

natural language processing

Record type:

software
Creator:
hen
Host:
java gradle package for kenat (Best ethiopic date/calendar library of all time) # Kenat Java A modern **Java 21** library for Ethiopian calendar (Ge'ez / Ethiopic) arithmetic, formatting, holiday and fasting calculations. > This is an independent Java rewrite of the original **Kenat** TypeScript library by Melaku Demeke, built from scratch using idiomatic Java β€” not a line-by-line translation. --- ## Features - πŸ—“ **Ethiopian ↔ Gregorian conversion** β€” accurate multi-century date math - πŸ“… **Month & year grid generation** β€” 7-column calendar grid with holidays and padding - πŸ•° **Ethiopian time** β€” 12-hour Ethiopian clock ↔ 24h Gregorian; add/subtract/diff - πŸ”’ **Ge'ez numerals** β€” integers ↔ Ethiopic script (supports 0–99,999,999) - πŸ“– **Localized output** β€” Amharic and English month/weekday names - πŸŽ‰ **Holiday lookup** β€” fixed, movable Christian, and Islamic holidays - πŸ•Œ **Orthodox commemorations** β€” the monthly saints/nigs calendar, overlaid on the month grid - πŸ™ **Fasting periods** β€” Abiy Tsome, Tsome Hawaryat, Nineveh, Tsome Nebiyat, Filseta, Ramadan, Tsome Dihenet - πŸ“ **Date arithmetic** β€” add/subtract days/months/years; full diff breakdown - πŸ“ **Distance helpers** β€” human-readable "how far to Fasika?" breakdowns in Amharic or English - βœ… **Bahire Hasab** β€” complete movable feast algorithm (Enkutatash, Timkat, Easter, Pentecost, etc.) - 🧩 **Clean API** β€” Java 21 records, `java.time` integration, immutable types, no external dependencies This release tracks the reference TypeScript library `kenat` v4.x feature-for-feature. See Parity with the TypeScript library for the handful of places where the two deliberately differ. --- ## Installation Available on Maven Central as `io.github.henaorth16:kenat:1.1.0`. Requires **Java 21+**. ### Gradle (Kotlin DSL) ```kotlin repositories { mavenCentral() } dependencies { implementation("io.github.henaorth16:kenat:1.1.0") } ``` ### Gradle (Groovy DSL) ```groovy dependencies { implementation 'io.github.henaorth16:kenat:1.1.0' } ``` ### Maven ```xml io.github.henaorth16 kenat 1.1.0 ``` ### …