|
1 | | -# TODO: Remove when Python 3.9 support is dropped |
2 | 1 | from __future__ import annotations |
3 | 2 |
|
4 | 3 | import base64 |
5 | 4 | import json |
6 | 5 | import logging |
7 | 6 | from collections.abc import Sequence |
8 | | -from datetime import datetime, timezone |
| 7 | +from datetime import UTC, datetime |
9 | 8 | from enum import Enum |
10 | | -from typing import Annotated, Any, ClassVar, cast |
| 9 | +from typing import Annotated, Any, ClassVar, TypeAlias, cast |
11 | 10 | from urllib.parse import quote |
12 | 11 |
|
13 | 12 | import httpx |
14 | 13 | from langchain_core.tools import BaseTool |
15 | 14 | from pydantic import BaseModel, BeforeValidator, Field, PrivateAttr |
16 | 15 |
|
17 | | -# TODO: Remove when Python 3.9 support is dropped |
18 | | -from typing_extensions import TypeAlias |
19 | | - |
20 | 16 | # Type aliases for common types |
21 | 17 | JsonDict: TypeAlias = dict[str, Any] |
22 | 18 | Headers: TypeAlias = dict[str, str] |
@@ -200,7 +196,7 @@ def execute( |
200 | 196 | StackOneAPIError: If the API request fails |
201 | 197 | ValueError: If the arguments are invalid |
202 | 198 | """ |
203 | | - datetime.now(timezone.utc) |
| 199 | + datetime.now(UTC) |
204 | 200 | feedback_options: JsonDict = {} |
205 | 201 | result_payload: JsonDict | None = None |
206 | 202 | response_status: int | None = None |
@@ -270,7 +266,7 @@ def execute( |
270 | 266 | status = "error" |
271 | 267 | raise StackOneError(f"Request failed: {exc}") from exc |
272 | 268 | finally: |
273 | | - datetime.now(timezone.utc) |
| 269 | + datetime.now(UTC) |
274 | 270 | metadata: JsonDict = { |
275 | 271 | "http_method": self._execute_config.method, |
276 | 272 | "url": url_used, |
|
0 commit comments