Releases: dh-tech/undate-python
Releases · dh-tech/undate-python
v0.4
- Undate is now Calendar aware / Calendar explicit; default is Gregorian
- New
BaseCalendarConverter
class, 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.Calendar
class to trackUndate
object calendar, and match with calendar converters
- New
- BaseDateConverter class now includes nested/descendant subclasses when looking
for available converters Undate.to_undate
method to convert supported date objects toUndate
(datetime.date
,datetime.datetime
, and internalundate.date.Date
class)UndateInterval
improvements- Can be initialized with
Undate
objects 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
intersection
to determine the overlap between twoUndateInterval
objects
- 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
check
workflow #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
islamic
for 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
v0.3
What's Changed
- 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
check
workflow #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
Full Changelog: 0.2...0.3
v0.2
v0.2
- Undate and UndateInterval now include an optional label for named dates or time periods
- Support partially known dates with missing digits (e.g. 1991-1?-10)
- Rich comparison checks for Undate
- improved equality check; now supports comparing Undate object with day precision to datetime.date
- implementations and tests for comparison, sorting and contains (
>
,<
,>=
,<=
, andin
)
- static method to initialize an Undate object from a datetime.date (used for comparisons)
- Example Jupyter notebook comparing Undate duration calculation against
dates and durations in the Shakespeare and Company Project events dataset - Preliminary support for parsing Extended Date Time Format (EDTF) level 0 and some of level 1 and transforming into Undate objects
- Dropped support for python 3.8; added python 3.12
- Python type improvements and preliminary type checking with mypy
What's Changed (auto-generated)
- Move tox config into setup.cfg #58 by @rlskoeser in #59
- Added label field to UndateInterval, added repr methods, and tests. by @jdamerow in #52
- dynamically import dateformatter subclasses by @rlskoeser in #50
- docs: add rlskoeser as a contributor for blog by @allcontributors in #62
- support partially known dates by @rlskoeser in #36
- preliminary date comparison methods by @rlskoeser in #65
- Preliminary edtf parsing (levels 0 and some of 1) with lark by @rlskoeser in #67
- Type cleanup based on errors reported by mypy by @rlskoeser in #66
- Release v0.2 by @rlskoeser in #69
Full Changelog: 0.1...0.2
v0.1
What's Changed
- Initial data model by @rlskoeser in #1
- First version of a formatter/parser framework by @jdamerow in #4
- Feature/11 type hints by @ColeDCrawford in #16
- Create LICENSE.md by @jdamerow in #18
- First draft of a contributing.md file by @jdamerow in #19
- add ismi sample data (see #17) by @robcast in #26
- Initial setup.py for pip installation by @rlskoeser in #27
- Ensure years are always 4 digits by @rlskoeser in #22
- Implement python version text matrix; move black check to PR only by @rlskoeser in #30
- duration methods for undate and undate interval by @rlskoeser in #24
- docs: add rlskoeser as a contributor for code by @allcontributors in #32
- docs: add ColeDCrawford as a contributor for code by @allcontributors in #33
- docs: add robcast as a contributor for data by @allcontributors in #34
- docs: add jdamerow as a contributor for code by @allcontributors in #35
- docs: add jdamerow as a contributor for code, and review by @allcontributors in #38
- docs: add ColeDCrawford as a contributor for code, and review by @allcontributors in #39
- docs: add maltevogl as a contributor for test, and review by @allcontributors in #41
- docs: add jdamerow as a contributor for test by @allcontributors in #42
- docs: add ColeDCrawford as a contributor for test by @allcontributors in #43
- docs: add rlskoeser as a contributor for review, and test by @allcontributors in #44
- docs: add jdamerow as a contributor for eventOrganizing by @allcontributors in #51
- Addresses #28, #37 moved main files to src folder. Testing and sphinx… by @maltevogl in #49
- Setup code coverage reporting by @rlskoeser in #45
- docs: add maltevogl as a contributor for doc by @allcontributors in #53
- pytest-ordering + formatter uniqueness check by @rlskoeser in #47
- Document git flow by @rlskoeser in #56
- Setup for publishing on PyPI by @rlskoeser in #60
New Contributors
- @ColeDCrawford made their first contribution in #16
- @robcast made their first contribution in #26
- @allcontributors made their first contribution in #32
Full Changelog: https://github.com/dh-tech/undate-python/commits/0.1