From 3de07454b5a0f0b535d2edc844959aeedc83d933 Mon Sep 17 00:00:00 2001 From: Dan Wang Date: Wed, 29 Oct 2025 15:51:05 -0700 Subject: [PATCH] Set python version to 3.10 and remove 3.11+ features --- chatkit/agents.py | 2 +- chatkit/errors.py | 4 ++-- chatkit/server.py | 3 +-- chatkit/widgets.py | 3 +-- pyproject.toml | 2 +- tests/helpers/mock_widget.py | 3 ++- 6 files changed, 8 insertions(+), 9 deletions(-) diff --git a/chatkit/agents.py b/chatkit/agents.py index 38543d1..eccdee1 100644 --- a/chatkit/agents.py +++ b/chatkit/agents.py @@ -11,7 +11,6 @@ Generic, Sequence, TypeVar, - assert_never, cast, ) @@ -39,6 +38,7 @@ Annotation as ResponsesAnnotation, ) from pydantic import BaseModel, ConfigDict, SkipValidation, TypeAdapter +from typing_extensions import assert_never from .server import stream_widget from .store import Store, StoreItemType diff --git a/chatkit/errors.py b/chatkit/errors.py index f5f1d23..386f9c9 100644 --- a/chatkit/errors.py +++ b/chatkit/errors.py @@ -1,9 +1,9 @@ from abc import ABC -from enum import StrEnum +from enum import Enum # Not a closed enum, new error codes can and will be added as needed -class ErrorCode(StrEnum): +class ErrorCode(str, Enum): STREAM_ERROR = "stream.error" diff --git a/chatkit/server.py b/chatkit/server.py index fe29c66..c9a432f 100644 --- a/chatkit/server.py +++ b/chatkit/server.py @@ -9,7 +9,6 @@ AsyncIterable, Callable, Generic, - assert_never, ) import agents @@ -20,7 +19,7 @@ _HEADERS_OVERRIDE as responses_headers_override, ) from pydantic import BaseModel, TypeAdapter -from typing_extensions import TypeVar +from typing_extensions import TypeVar, assert_never from chatkit.errors import CustomStreamError, StreamError diff --git a/chatkit/widgets.py b/chatkit/widgets.py index ecfc6b2..e991f2a 100644 --- a/chatkit/widgets.py +++ b/chatkit/widgets.py @@ -4,7 +4,6 @@ from typing import ( Annotated, Literal, - NotRequired, ) from pydantic import ( @@ -13,7 +12,7 @@ Field, model_serializer, ) -from typing_extensions import TypedDict +from typing_extensions import NotRequired, TypedDict from chatkit.actions import ActionConfig diff --git a/pyproject.toml b/pyproject.toml index 6e49ace..ab50b34 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -87,7 +87,7 @@ include = ["."] exclude = ["**/.venv", "**/.pytest_cache"] venvPath = "." venv = ".venv" -pythonVersion = "3.11" +pythonVersion = "3.10" typeCheckingMode = "standard" [tool.setuptools] diff --git a/tests/helpers/mock_widget.py b/tests/helpers/mock_widget.py index c6ef892..2dde244 100644 --- a/tests/helpers/mock_widget.py +++ b/tests/helpers/mock_widget.py @@ -2,11 +2,12 @@ import re import uuid from datetime import datetime, timedelta -from typing import Annotated, Any, AsyncIterator, Callable, Literal, assert_never +from typing import Annotated, Any, AsyncIterator, Callable, Literal from agents import Agent, Runner from anyio import sleep from pydantic import BaseModel, Field, TypeAdapter +from typing_extensions import assert_never from chatkit.actions import Action, ActionConfig from chatkit.types import ThreadStreamEvent