diff --git a/assemblyai/__init__.py b/assemblyai/__init__.py index 736ef02..a1d2d7a 100644 --- a/assemblyai/__init__.py +++ b/assemblyai/__init__.py @@ -1,4 +1,5 @@ from . import extras +from .__version__ import __version__ from .client import Client from .lemur import Lemur from .transcriber import RealtimeTranscriber, Transcriber, Transcript, TranscriptGroup @@ -139,4 +140,6 @@ "settings", # packages "extras", + # version + "__version__", ] diff --git a/assemblyai/__version__.py b/assemblyai/__version__.py new file mode 100644 index 0000000..df7db86 --- /dev/null +++ b/assemblyai/__version__.py @@ -0,0 +1 @@ +__version__ = "0.28.0" diff --git a/assemblyai/client.py b/assemblyai/client.py index 6b3bb8d..8883d26 100644 --- a/assemblyai/client.py +++ b/assemblyai/client.py @@ -1,10 +1,11 @@ +import sys import threading from typing import ClassVar, Optional import httpx from typing_extensions import Self -from . import types +from . import __version__, types class Client: @@ -33,19 +34,19 @@ def __init__( "Please provide an API key via the ASSEMBLYAI_API_KEY environment variable or the global settings." ) + vi = sys.version_info + python_version = f"{vi.major}.{vi.minor}.{vi.micro}" + user_agent = f"{httpx._client.USER_AGENT} AssemblyAI/1.0 (sdk=Python/{__version__} runtime_env=Python/{python_version})" + + headers = {"user-agent": user_agent} if self._settings.api_key: - self._http_client = httpx.Client( - base_url=self.settings.base_url, - headers={ - "authorization": self.settings.api_key, - }, - timeout=self.settings.http_timeout, - ) - else: - self._http_client = httpx.Client( - base_url=self.settings.base_url, - timeout=self.settings.http_timeout, - ) + headers["authorization"] = self.settings.api_key + + self._http_client = httpx.Client( + base_url=self.settings.base_url, + headers=headers, + timeout=self.settings.http_timeout, + ) @property def settings(self) -> types.Settings: diff --git a/setup.py b/setup.py index 7f71787..fdeb0e3 100644 --- a/setup.py +++ b/setup.py @@ -5,9 +5,16 @@ long_description = (Path(__file__).parent / "README.md").read_text() +def get_version() -> str: + version = {} + with open(Path(__file__).parent / "assemblyai" / "__version__.py") as f: + exec(f.read(), version) + return version["__version__"] + + setup( name="assemblyai", - version="0.28.0", + version=get_version(), description="AssemblyAI Python SDK", author="AssemblyAI", author_email="engineering.sdk@assemblyai.com",