`tz_offset: int = 0` should be `tz_offset: float = 0.0` as India is at UTC +5.5 hours for example. `self._tz_offset = tz_offset * 60 * 60` can be cast to `int` if required.