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
).
- 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