v0.4
- Undate is now Calendar aware / Calendar explicit; default is Gregorian
- New
BaseCalendarConverterclass, with additional methods required for calendar converters HebrewDateConverter: Parsing and calendar conversion for Hebrew/Anno MundiIslamicDateConverter: Parsing and calendar conversion for Islamic/HijriGregorianDateConverter: basic Gregorian calendar logicundate.Calendarclass to trackUndateobject calendar, and match with calendar converters
- New
- BaseDateConverter class now includes nested/descendant subclasses when looking
for available converters Undate.to_undatemethod to convert supported date objects toUndate(datetime.date,datetime.datetime, and internalundate.date.Dateclass)UndateIntervalimprovements- Can be initialized with
Undateobjects or any type supported byUndate.to_undate - New method for contains (
in), to determine if another interval or date is contained by an interval - New method
intersectionto determine the overlap between twoUndateIntervalobjects
- Can be initialized with
- EDTF parser : fixed day parsing for some unsupported cases
- Dropped support for Python 3.9
- Reorganized examples folder to avoid unnecessary nesting
- ISMI data has been updated from older JSON data to examples in RDF (turtle)
What's Changed
(auto-generated list of changes)
- Citation file by @rlskoeser in #70
- Reorganize and improve documentation by @rlskoeser in #81
- Add example usage to the readme #75 by @rlskoeser in #82
- Check notebooks in CI
checkworkflow #76 by @rlskoeser in #83 - Configure mypy pre-commit check by @rlskoeser in #91
- Consolidate setup.cfg and pyproject.toml; drop tox; revamp sphinx docs by @rlskoeser in #88
- Update contributor documentation with branching guidelines by @rlskoeser in #94
- Revise optional dependency groups so dev implies test by @rlskoeser in #96
- Test against python 3.13 by @rlskoeser in #97
- Use numpy datetime64 instead of datetime.date #77 by @rlskoeser in #84
- Make EDTF parser available as undate formatter; handle 5+ digit years by @rlskoeser in #89
- preliminary str parse and format methods by @rlskoeser in #90
- Rename formatters submodule and classes to converters by @rlskoeser in #101
- EDTF demo/validation notebook by @rlskoeser in #98
- Release v0.3 by @rlskoeser in #103
- updated ismi sample data for development branch by @robcast in #104
- Add converter for hebrew calendar based on hijri calendar by @rlskoeser in #108
- Add support for converting from Hijri calendar to undate and undate interval by @rlskoeser in #107
- Document that duration calculation is inclusive / closed interval by @rlskoeser in #111
- Move interval object and tests into separate files by @rlskoeser in #115
- Find all converter subclasses / descendants by @rlskoeser in #110
- Interval logic improvements: type/range validation, intersection method, contains/in functionality by @rlskoeser in #114
- Try using uv for unit test workflow by @rlskoeser in #113
- Support conversion from internal Date class to Undate #119 by @rlskoeser in #122
- Use
islamicfor Islamic/Hijri calendar classes #120 by @rlskoeser in #123 - Reorganize examples and update readme / contents #121 by @rlskoeser in #124
Full Changelog: 0.3...0.4