Logo Lanfrica

henaorth16/kenat-java

Domaine:

natural language processing

Type de record:

software
Créateur:
hen
Hôte:
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 ``` ### …