diff --git a/assemblyai/__version__.py b/assemblyai/__version__.py index 3158ac8..f2897f3 100644 --- a/assemblyai/__version__.py +++ b/assemblyai/__version__.py @@ -1 +1 @@ -__version__ = "0.48.0" +__version__ = "0.48.1" diff --git a/assemblyai/types.py b/assemblyai/types.py index e2fa01e..536525a 100644 --- a/assemblyai/types.py +++ b/assemblyai/types.py @@ -1,3 +1,4 @@ +import sys from datetime import datetime from enum import Enum, EnumMeta from typing import ( @@ -24,7 +25,14 @@ pydantic_v2 = True except ImportError: - # pydantic v1 import + # Python 3.14+ requires Pydantic V2 + if sys.version_info >= (3, 14): + raise ImportError( + "Python 3.14 or greater requires Pydantic V2 and pydantic-settings. " + "Please install with: pip install 'pydantic>=2.0' 'pydantic-settings>=2.0'" + ) from None + + # pydantic v1 import (fallback for Python < 3.14) from pydantic.v1 import UUID4, BaseModel, BaseSettings, ConfigDict, Field, validator pydantic_v2 = False diff --git a/setup.py b/setup.py index 8e7e05d..6657b90 100644 --- a/setup.py +++ b/setup.py @@ -21,7 +21,9 @@ def get_version() -> str: packages=find_packages(exclude=["tests", "tests.*"]), install_requires=[ "httpx>=0.19.0", - "pydantic>=1.10.17", + "pydantic>=2.0; python_version>='3.14'", + "pydantic>=1.10.17; python_version<'3.14'", + "pydantic-settings>=2.0; python_version>='3.14'", "typing-extensions>=3.7", "websockets>=11.0", ], @@ -42,6 +44,9 @@ def get_version() -> str: "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", ], long_description=long_description, long_description_content_type="text/markdown",