88import unicodedata
99from collections .abc import Callable
1010from dataclasses import dataclass
11- from datetime import UTC , datetime , timedelta
11+ from datetime import datetime , timedelta , timezone
1212from pathlib import Path
1313from typing import Any , TextIO
1414from urllib .parse import urlsplit
@@ -169,7 +169,7 @@ def _parse_datetime(value: object) -> datetime | None:
169169 parsed = datetime .fromisoformat (normalized )
170170 if parsed .tzinfo is None :
171171 raise ValueError ("notice timestamps must include a timezone" )
172- return parsed .astimezone (UTC )
172+ return parsed .astimezone (timezone . utc )
173173
174174
175175def _string_targets (value : object ) -> tuple [str , ...]:
@@ -275,7 +275,7 @@ def __init__(
275275 self ._cli_version = parsed_version
276276 self ._state_path = state_path or default_notice_state_path ()
277277 self ._client = client
278- self ._now = now or (lambda : datetime .now (UTC ))
278+ self ._now = now or (lambda : datetime .now (timezone . utc ))
279279 self ._channel = channel or release_channel (cli_version )
280280 self ._operating_system = operating_system or normalized_operating_system ()
281281 self ._architecture = architecture or normalized_architecture ()
@@ -289,7 +289,7 @@ def display(
289289 stream : TextIO | None = None ,
290290 ) -> list [Notice ]:
291291 stream = stream or sys .stderr
292- now = self ._now ().astimezone (UTC )
292+ now = self ._now ().astimezone (timezone . utc )
293293 state = self ._load_state ()
294294 payload = self ._payload (state , now = now , force_refresh = force_refresh )
295295 try :
0 commit comments