Coptic calendar arithmetic — date conversion, Easter, and feast days. Ported to multiple languages from a single canonical spec in core/.
Same algorithms, same core/test-vectors.json contract, distributed through each language's native package manager. Every port version is kept in lockstep — the version badges below should all read the same number.
| Language | Source | Package | Install |
|---|---|---|---|
| TypeScript / JavaScript | js/ |
npm install kiahk |
|
| Python | py/ |
pip install kiahk |
|
| Go | go/ |
go get github.com/amir-magdy-of-wizardlabz/kiahk/go |
|
| Dart / Flutter | dart/ |
dart pub add kiahk |
|
| Swift (SwiftPM) | swift/ |
add https://github.com/amir-magdy-of-wizardlabz/kiahk.git to Package.swift |
|
| Swift (CocoaPods) | swift/ |
pod 'Kiahk' in Podfile |
|
| C# / .NET | csharp/ |
dotnet add package Kiahk |
|
| C | c/ |
download tarball or add_subdirectory(c) in CMake |
See each port's README for full install + quick-start examples, and for English + Arabic month-name rendering.
core/algorithms.md— pseudocode for Gregorian↔Coptic, Easter, feastscore/feasts.json— fixed + moveable feast registrycore/test-vectors.json— cross-port test contract
Every port must produce identical results against core/test-vectors.json.
Try it live → https://raw.githack.com/amir-magdy-of-wizardlabz/kiahk/master/demo/index.html
A small browser demo of the JS port lives in demo/. It lets you:
- Pick a Gregorian date and see its Coptic equivalent (English + Arabic month names)
- Enter a Gregorian year and view every major Coptic feast (en + ar names, fixed vs moveable)
Source: demo/index.html, demo/app.js. See demo/README.md for how to run it locally.
The hosted demo is served via raw.githack.com, a free proxy that serves GitHub files with correct MIME types. It reads
masterdirectly, so the link tracks whatever's onmasterat any given moment.
Licensed under the MIT License.
Maintained by Amir Magdy at WizardLabz.
