glyph
DateType
Python

A type wrapper for the standard library `datetime` that supplies stricter checks, such as making 'datetime' not substitutable for 'date', and separating out Naive and Aware datetimes into separate, mutually-incompatible types.

Last updated Jun 2, 2026
96
Stars
10
Forks
2
Issues
0
Stars/day
Attention Score
27
Language breakdown
Python 100.0%
โ–ธ Files click to expand
README

DateType

A Workaround

DateType is a workaround for two bugs to demonstrate that we could have a type-checking-time wrapper for datetime that doesn't change (or almost doesn't change) the implementation, but fixes up two very annoying behaviors of the stdlib datetime module:

  • a datetime now won't type-check as a date - it still inherits at runtime
(the implementation is, after all, not changed) but it doesn't inherit at type-time.
  • there are separate types for naive and aware datetimes.
There's a very small bit of implementation glue (concrete @classmethods for construction on the Naive and Aware types, and a few functions that do runtime checks to convert to/from stdlib types).

ยฉ 2026 GitRepoTrend ยท glyph/DateType ยท Updated daily from GitHub