datetime-interval
The builtin datetime
module provides classes for points in time
(date
, and datetime
) as well as durations (timedelta
), but
it does not account for time durations at a specific point. This module
provides Interval
, which contains a start and end date
or
datetime
, and a duration timedelta
. This is useful for
representing calendar events. This module also provides
PeriodicInterval
which can be used for recurring events, by
containing a period timedelta
and a count of occurrences (either an
int
or forever
).
TODO:
-
Interval isoformat
method (start/end).
- This wouldn't work on PeriodicInterval, as recurring intervals
have a different semantics in ISO 8601.
-
Property-based testing with props
-
Add operators for PeriodicInterval (*, [])
-
How to account for e.g. every Tuesday and Thursday