☀️Good Morning
HomeProjectsBlogThe WallContact
Abdulwahed Aldaghir

{ Work, for Allah will observe your deeds, and so will His Messenger and the believers. }

Links

HomeProjectsBlogThe Wall

Legal

Privacy PolicyTerms of Use

Social

© 2026 Abdulwahed Aldaghir. All rights reserved.

Back to Projects
Open-source Flutter package

Hijri Plus

hijri_plus@0.1.0

An offline-first Umm al-Qura Hijri calendar with auditable corrections, explicit verification, and optional crescent visibility forecasts.

View on pub.devSource codeDocumentation
pub.dev

Dart & Flutter package

hijri_plus

v0.1.0MITOpen source
$flutter pub add hijri_plus

160/160

Pub points

0

Likes

65

30-day downloads

About the package

Hijri Plus is an open-source library for converting between Gregorian dates and the Umm al-Qura Hijri calendar while keeping every result's source explicit and auditable. It begins with an embedded offline table, allows deliberately limited manual corrections or optional verified month starts, and keeps crescent visibility forecasts informational so they can never silently alter calendar conversion.

An explicit, auditable calendar

Offline Gregorian and Hijri conversion across AH 1356–1500
Date-only value types that never shift with the device timezone
A visible source for every result: embedded, cached verification, or manual override
Reversible day adjustments and validated semantic month-start overrides
Opt-in network verification whose schedule and storage remain host-controlled
An explicit official Umm al-Qura provider with safe fallback to the last valid data
Optional crescent forecasting that cannot confirm a sighting or alter conversion

Built with

Dart
Flutter

Documentation

Convert a date entirely offline

Create a local calendar and convert a date-only Gregorian value to Hijri while retaining the result source and inverse Gregorian conversion.

Convert a date entirely offline
import 'package:hijri_plus/hijri_plus.dart';

final calendar = UmmAlQuraCalendar();
final result = calendar.toHijri(GregorianDate(2024, 11, 3));

print(result.date);                    // 1 Jumada I 1446 AH
print(result.date.format('dd/mm/yyyy')); // 01/05/1446
print(result.source);                  // CalendarSource.embedded

final civil = calendar.toGregorian(HijriDate(1446, 6, 1));
print(civil.date);                     // 2024-12-02

Explore the full documentation

Browse the API reference, usage examples, and integration guidance for the selected package.

Documentation

Installation

Use the installation option for your environment, then import the public API.

Install command
flutter pub add hijri_plus
pubspec.yaml
dependencies:
  hijri_plus: ^0.1.0
Import
import 'package:hijri_plus/hijri_plus.dart';

Package details

Version
v0.1.0
Published
July 14, 2026
Registry
pub.dev
Publisher
awrs.me
SDK
Dart ^3.12.2
License
MIT
Null safeDart 3 compatibleWASM readyMIT

Supported platforms

Android
iOS
Windows
Linux
macOS
Web
Report an issue