# 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:
```shell
pip install hijridate
```
To install using `conda`, run:
```shell
conda install -c conda-forge hijridate
```
## Basic Usage
```python
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](https://github.com/dralshehri/hijridate/blob/main/CONTRIBUTING.md) 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](http://www.staff.science.uu.nl/~gent0113) — inspiration, scientific guidance and resources.
- [@AZalshehri7](https://github.com/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.
Raw data
{
"_id": null,
"home_page": null,
"name": "hijridate",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "calendar, conversion, converter, date, gregorian, hijri, ummalqura, ummulqura",
"author": "Mohammed Alshehri",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/b5/e6/ce409c1c745255cd3b756e3765a92415c5690bb7aa06dd01ca38ed24e429/hijridate-2.5.0.tar.gz",
"platform": null,
"description": "# HijriDate\n\n> formerly `hijri-converter`\n\nHijriDate 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.\n\n## Features\n\n- Accurate and verified Hijri-Gregorian date conversion.\n- Optimized code performance compared to similar packages.\n- Intuitive, clean, and easy-to-use interface.\n- Most of the methods and formats are similar to those of standard library.\n- Multilingual representation of weekday names, months, and calendar era notations.\n- Easily extendable to support other natural languages.\n- Rich comparison between dates.\n- Validation of input dates.\n- Works on Python 3.8+ with zero dependencies.\n- Thoroughly tested with 100% test coverage.\n\n## Limitations\n\n- 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).\n- The conversion is not intended for religious purposes where sighting of the lunar crescent at the beginning of Hijri month is still preferred.\n\n## Installation\n\nTo install using `pip`, run:\n\n```shell\npip install hijridate\n```\n\nTo install using `conda`, run:\n\n```shell\nconda install -c conda-forge hijridate\n```\n\n## Basic Usage\n\n```python\nfrom hijridate import Hijri, Gregorian\n\n# Convert a Hijri date to Gregorian\ng = Hijri(1403, 2, 17).to_gregorian()\n\n# Convert a Gregorian date to Hijri\nh = Gregorian(1982, 12, 2).to_hijri()\n```\n\n## Documentation\n\nPlease refer to <https://hijridate.readthedocs.io> for complete documentation on this package, which includes background information, benchmarking, usage examples, and API reference.\n\n## Contributing\n\nIf you're interested in contributing, please check out the [Contributing](https://github.com/dralshehri/hijridate/blob/main/CONTRIBUTING.md) guide for more information on how you can help!\n\n## License\n\nThis project is licensed under the terms of the MIT license.\n\n## Acknowledgements\n\n- [R.H. van Gent](http://www.staff.science.uu.nl/~gent0113) — inspiration, scientific guidance and resources.\n- [@AZalshehri7](https://github.com/AZalshehri7) — support in dates review and conversion accuracy verification.\n\n## Citation\n\nIf you plan to cite this project in your academic publication, please refer to <https://doi.org/10.5281/zenodo.11200950> for citation information.\n",
"bugtrack_url": null,
"license": "MIT License",
"summary": "Accurate Hijri-Gregorian dates converter based on Umm al-Qura calendar",
"version": "2.5.0",
"project_urls": {
"Changelog": "https://github.com/dralshehri/hijridate/blob/main/CHANGELOG.md",
"Documentation": "https://hijridate.readthedocs.io",
"Source": "https://github.com/dralshehri/hijridate"
},
"split_keywords": [
"calendar",
" conversion",
" converter",
" date",
" gregorian",
" hijri",
" ummalqura",
" ummulqura"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d79df93aac492d04146fa7746f74a0e3c3194f60b0a012be030401d42367cf42",
"md5": "ab76e4910ed311bf230224955af8c432",
"sha256": "f6871bacbb0d3c8eff3cab155fa822877b73517354f9d834ebe6a722a9caf35c"
},
"downloads": -1,
"filename": "hijridate-2.5.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ab76e4910ed311bf230224955af8c432",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 14407,
"upload_time": "2024-05-24T21:08:03",
"upload_time_iso_8601": "2024-05-24T21:08:03.609798Z",
"url": "https://files.pythonhosted.org/packages/d7/9d/f93aac492d04146fa7746f74a0e3c3194f60b0a012be030401d42367cf42/hijridate-2.5.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b5e6ce409c1c745255cd3b756e3765a92415c5690bb7aa06dd01ca38ed24e429",
"md5": "ca241c5d8ffc3faa474bf1898b5ae146",
"sha256": "b47f0b2e5333d5d898c6f3472f5cee4a3f045c82d69c073c7a026f5a7aec5821"
},
"downloads": -1,
"filename": "hijridate-2.5.0.tar.gz",
"has_sig": false,
"md5_digest": "ca241c5d8ffc3faa474bf1898b5ae146",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 35287,
"upload_time": "2024-05-24T21:08:05",
"upload_time_iso_8601": "2024-05-24T21:08:05.142065Z",
"url": "https://files.pythonhosted.org/packages/b5/e6/ce409c1c745255cd3b756e3765a92415c5690bb7aa06dd01ca38ed24e429/hijridate-2.5.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-24 21:08:05",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "dralshehri",
"github_project": "hijridate",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "hijridate"
}