The versioning scheme is compliant with the PEP 440 specification.
- Updated the package classifiers.
- Deprecated the package in favor of the new
hijridate
package. - Dropped support for Python 3.6 and added support for Python 3.11.
- Updated documentation and removed badges from the package description.
- Changed GitHub username back to @dralshehri and updated related links.
- Added more classifiers to package configuration.
- Fixed location of type-checking marker file. (By @dimbleby in #10)
- Updated development and build requirements.
- Changed package docstrings to Google style and updated documentation.
- Updated development workflows and configurations.
- Other minor fixes and enhancements.
- Changed GitHub username to @mhalshehri and updated related links.
- Added some missing variable annotations to
ummalqura
module. - Fixed an issue when generating documentation.
- Fixed some typos in docstrings and improved documentation.
- Other minor fixes and enhancements.
- Fixed calculation of month 12 of the year 1354 AH.
- Fixed an issue when generating documentation without the package being installed. (#7)
- Refactored internal helper functions.
- Updated and improved tests and documentation.
- Fixed some typos.
- Added
today()
classmethod to Hijri class to get the Hijri Object of today's date. - Added
separator
andpadding
parameters todmyformat()
method to have more control over formatting. - Refactored locales for better management and testing. (Inspired by Arrow localization)
- Updated main classes to be conveniently imported into the package level e.g.
from hijri_converter import Hijri, Gregorian
. - Removed deprecated method
slashformat()
from Hijri and Gregorian classes. - Updated tests and documentation.
- Other minor fixes and internal enhancements.
- Minor fixes and enhancements for docstrings and documentation.
- Added Bangla translation. (By @nokibsarkar in #4)
- Changed
Hijri
rich comparison to returnNotImplemented
when the second operand is notHijri
class. - Changed
ummalqura
constants to be in capital letters adhering to PEP8. - Updated packaging configuration files and local development workflow.
- Other minor fixes and documentation enhancements.
- Added
dmyformat()
to return dates inDD/MM/YYYY
format. - Deprecated
slashformat()
method to be replaced bydmyformat()
method. - Fixed PyPI package not including some required files. (#3)
- Fixed some typos.
- Updated tests.
This version has more accurate conversion and better internal code. Details are as follows:
- Dropped support for the years before 1343 AH because the Umm al-Qura calendar was not established then.
- Added
validate
parameter to Hijri class for optional disabling of Hijri date validation and improving performance. However, disabling validation will decrease the conversion accuracy silently. - Verified conversion against original references and updated the
month_starts
tuple for more accurate conversion. - Improved
Hijri
class rich comparison methods. - Improved date validation methods for better performance and readability.
- Made the
Hijri
class hashable by adding a custom__hash__
method. - Refactored many internal methods (not affecting the API).
- Other minor fixes, enhancements and performance boost.
In short, this version supports only lunar Hijri calendar on Python 3.6+, and the conversion is in complete agreement with the official Umm al-Qura calendar. Details are as follows:
- Renamed the package to
hijri-converter
. - Dropped support for the solar Hijri calendar.
- Dropped support for Python 3.5.
- Refactored localization and
ummalqura.py
module. - Updated
month_starts
tuple in alignment with the Umm al-Qura calendar. - Added
fromdate()
classmethod toGregorian
class. - Added
notation()
method toHijri
andGregorian
classes. - Added more methods to
Gregorian
class includingslashformat()
,month_name()
,day_name()
andto_julian()
. - Renamed
month_days()
method ofHijri
class tomonth_length()
. - Changed formatted string to use f-strings.
- Improved documentation and examples.
- Updated unit tests.
- Fixed other minor issues and typos.
- Added
fromisoformat()
classmethod toHijri
class. - Added support for rich comparison between Hijri dates.
- Updated documentation and testing code.
- Other minor fixes and enhancements.
- Refactored conversion methods to improve performance.
- Changed date validation back to be the default and removed optional parameter.
- Added
to_julian()
method toHijri
class. - Updated documentation and testing code.
- Other minor fixes and enhancements.
- Fixed a bug in range validation for the Gregorian date.
- Changed generic typing to built-in types.
- Added more tests to cover the solar calendar.
- Improved code structure and documentation.
- Improved documentation and changelog.
- Fixed README file.
- Added documentation directory with an online version.
- Changed date input validation to be optional and disabled by default.
- Improved code readability and performance.
- Other minor fixes and enhancements.
- Added
slashformat()
method toHijri
class. - Improved date validation code.
- Fixed some typos in documentation and docstrings.
- Improved examples and documentation.
- First release.