Warning
This project is archived and is no longer maintained.
No further updates or releases will be made. For representing durations, intervals, or recurring events, we recommend using Python's built-in datetime.timedelta, or libraries like Pendulum or aniso8601.
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
isoformatmethod (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