Skip to main content

Accurate Hijri-Gregorian dates converter based on Umm al-Qura calendar

Project description

HijriDate

formerly hijri-converter

HijriDate is a Python package for converting between Hijri and Gregorian dates using the Umm al-Qura calendar. The package has been thoroughly verified and tested against original references to ensure its accuracy and reliability. It has an intuitive design, allows rich comparison and basic formatting of Hijri dates, and is optimized for performance.

Features

  • Accurate and verified Hijri-Gregorian date conversion.
  • Optimized code performance compared to similar packages.
  • Intuitive, clean, and easy-to-use interface.
  • Most of the methods and formats are similar to those of standard library.
  • Multilingual representation of weekday names, months, and calendar era notations.
  • Easily extendable to support other natural languages.
  • Rich comparison between dates.
  • Validation of input dates.
  • Works on Python 3.8+ with zero dependencies.
  • Thoroughly tested with 100% test coverage.

Limitations

  • The date range supported by converter is limited to the period from the beginning of 1343 AH (1 August 1924 CE) to the end of 1500 AH (16 November 2077 CE).
  • The conversion is not intended for religious purposes where sighting of the lunar crescent at the beginning of Hijri month is still preferred.

Installation

To install using pip, run:

pip install hijridate

To install using conda, run:

conda install -c conda-forge hijridate

Basic Usage

from hijridate import Hijri, Gregorian

# Convert a Hijri date to Gregorian
g = Hijri(1403, 2, 17).to_gregorian()

# Convert a Gregorian date to Hijri
h = Gregorian(1982, 12, 2).to_hijri()

Documentation

Please refer to https://hijridate.readthedocs.io for complete documentation on this package, which includes background information, benchmarking, usage examples, and API reference.

Contributing

If you're interested in contributing, please check out the Contributing guide for more information on how you can help!

License

This project is licensed under the terms of the MIT license.

Acknowledgements

  • R.H. van Gent — inspiration, scientific guidance and resources.
  • @AZalshehri7 — support in dates review and conversion accuracy verification.

Citation

If you plan to cite this project in your academic publication, please refer to https://doi.org/10.5281/zenodo.11200950 for citation information.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hijridate-2.5.0.tar.gz (35.3 kB view details)

Uploaded Source

Built Distribution

hijridate-2.5.0-py3-none-any.whl (14.4 kB view details)

Uploaded Python 3

File details

Details for the file hijridate-2.5.0.tar.gz.

File metadata

  • Download URL: hijridate-2.5.0.tar.gz
  • Upload date:
  • Size: 35.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for hijridate-2.5.0.tar.gz
Algorithm Hash digest
SHA256 b47f0b2e5333d5d898c6f3472f5cee4a3f045c82d69c073c7a026f5a7aec5821
MD5 ca241c5d8ffc3faa474bf1898b5ae146
BLAKE2b-256 b5e6ce409c1c745255cd3b756e3765a92415c5690bb7aa06dd01ca38ed24e429

See more details on using hashes here.

File details

Details for the file hijridate-2.5.0-py3-none-any.whl.

File metadata

  • Download URL: hijridate-2.5.0-py3-none-any.whl
  • Upload date:
  • Size: 14.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for hijridate-2.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f6871bacbb0d3c8eff3cab155fa822877b73517354f9d834ebe6a722a9caf35c
MD5 ab76e4910ed311bf230224955af8c432
BLAKE2b-256 d79df93aac492d04146fa7746f74a0e3c3194f60b0a012be030401d42367cf42

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page