Skip to content

Commit d1377ac

Browse files
[fern-replay] Applied customizations
Patches with unresolved conflicts (2): - patch-ece510a1: Expose temperature parameter on TTS client (#486) - patch-660ad969: bump version to 0.14.0 (#488) Run `fern-replay resolve` to apply these customizations.
1 parent 5affb68 commit d1377ac

1 file changed

Lines changed: 283 additions & 1 deletion

File tree

.fern/replay.lock

Lines changed: 283 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,13 @@ generations:
1212
cli_version: unknown
1313
generator_versions:
1414
fernapi/fern-python-sdk: 4.61.0
15-
current_generation: fe01fd08770ba763f2599c946a16b6b338e6e86f
15+
- commit_sha: b21155d165c5eda96bfae671e090ae9c98eceabb
16+
tree_hash: 068f2ae7fcb9908bbbafaf7be57a4354252aac95
17+
timestamp: 2026-08-17T21:03:59.718Z
18+
cli_version: unknown
19+
generator_versions:
20+
fernapi/fern-python-sdk: 4.61.0
21+
current_generation: b21155d165c5eda96bfae671e090ae9c98eceabb
1622
patches:
1723
- id: patch-ece510a1
1824
content_hash: sha256:2296c327028f8024cba5c6ffccf276bca01550441a8ddc9ec88499b9e056f429
@@ -171,3 +177,279 @@ patches:
171177
examples=["jupyter"]
172178
microphone=["sounddevice"]
173179
status: unresolved
180+
- id: patch-660ad969
181+
content_hash: sha256:a199931206f95b99cdf7c48c199c60c6d567cebaf9884f65e824be4d8a895d97
182+
original_commit: 660ad9694a7a4fa844262c17134bc06011588a8a
183+
original_message: bump version to 0.14.0 (#488)
184+
original_author: Zachary Greathouse <26175515+zgreathouse@users.noreply.github.com>
185+
base_generation: 3955934c6659aac3d3cac19ef77ac519e7146fb3
186+
files:
187+
- pyproject.toml
188+
- src/hume/core/client_wrapper.py
189+
patch_content: |
190+
diff --git a/pyproject.toml b/pyproject.toml
191+
index f0fe992..29341d2 100644
192+
--- a/pyproject.toml
193+
+++ b/pyproject.toml
194+
@@ -4,7 +4,7 @@ dynamic = ["version"]
195+
196+
[tool.poetry]
197+
name = "hume"
198+
-version = "0.13.14"
199+
+version = "0.14.0"
200+
description = "A Python SDK for Hume AI"
201+
readme = "README.md"
202+
authors = []
203+
diff --git a/src/hume/core/client_wrapper.py b/src/hume/core/client_wrapper.py
204+
index df93ad4..b22e882 100644
205+
--- a/src/hume/core/client_wrapper.py
206+
+++ b/src/hume/core/client_wrapper.py
207+
@@ -28,12 +28,12 @@ class BaseClientWrapper:
208+
import platform
209+
210+
headers: typing.Dict[str, str] = {
211+
- "User-Agent": "hume/0.13.14",
212+
+ "User-Agent": "hume/0.14.0",
213+
"X-Fern-Language": "Python",
214+
"X-Fern-Runtime": f"python/{platform.python_version()}",
215+
"X-Fern-Platform": f"{platform.system().lower()}/{platform.release()}",
216+
"X-Fern-SDK-Name": "hume",
217+
- "X-Fern-SDK-Version": "0.13.14",
218+
+ "X-Fern-SDK-Version": "0.14.0",
219+
**(self.get_custom_headers() or {}),
220+
}
221+
if self.api_key is not None:
222+
theirs_snapshot:
223+
pyproject.toml: |
224+
[project]
225+
name = "hume"
226+
dynamic = ["version"]
227+
228+
[tool.poetry]
229+
name = "hume"
230+
version = "0.14.0"
231+
description = "A Python SDK for Hume AI"
232+
readme = "README.md"
233+
authors = []
234+
keywords = [
235+
"hume",
236+
"ai",
237+
"evi",
238+
"empathic",
239+
"multimodal",
240+
"expression",
241+
"analysis",
242+
"sentiment",
243+
"voice",
244+
"recognition",
245+
"detection",
246+
"emotion",
247+
"interface",
248+
"speech",
249+
"audio",
250+
"vision",
251+
"expressive",
252+
"embeddings",
253+
"communication",
254+
"learning"
255+
]
256+
license = "MIT"
257+
classifiers = [
258+
"Intended Audience :: Developers",
259+
"Programming Language :: Python",
260+
"Programming Language :: Python :: 3",
261+
"Programming Language :: Python :: 3.9",
262+
"Programming Language :: Python :: 3.10",
263+
"Programming Language :: Python :: 3.11",
264+
"Programming Language :: Python :: 3.12",
265+
"Programming Language :: Python :: 3.13",
266+
"Programming Language :: Python :: 3.14",
267+
"Programming Language :: Python :: 3.15",
268+
"Operating System :: OS Independent",
269+
"Operating System :: POSIX",
270+
"Operating System :: MacOS",
271+
"Operating System :: POSIX :: Linux",
272+
"Operating System :: Microsoft :: Windows",
273+
"Topic :: Software Development :: Libraries :: Python Modules",
274+
"Typing :: Typed",
275+
"License :: OSI Approved :: MIT License"
276+
]
277+
packages = [
278+
{ include = "hume", from = "src"}
279+
]
280+
281+
[tool.poetry.urls]
282+
Documentation = 'https://dev.hume.ai'
283+
Homepage = 'https://www.hume.ai/'
284+
Repository = 'https://github.com/HumeAI/hume-python-sdk'
285+
286+
[tool.poetry.dependencies]
287+
python = ">=3.9,<4"
288+
eval-type-backport = "^0.2.0"
289+
exceptiongroup = "^1.3.0"
290+
httpx = ">=0.21.2"
291+
jupyter = { version = "^1.0.0", optional = true}
292+
pydantic = ">= 1.9.2"
293+
pydantic-core = ">=2.18.2"
294+
sounddevice = { version = "^0.4.6", optional = true}
295+
typing_extensions = ">= 4.0.0"
296+
websockets = ">=12.0"
297+
298+
[tool.poetry.group.dev.dependencies]
299+
mypy = "==1.13.0"
300+
pytest = "^7.4.0"
301+
pytest-asyncio = "^0.23.5"
302+
pytest-xdist = "^3.6.1"
303+
python-dateutil = "^2.9.0"
304+
types-python-dateutil = "^2.9.0.20240316"
305+
requests = "^2.31.0"
306+
types-requests = "^2.31.0"
307+
covcheck = { version = "^0.4.3", extras = ["toml"]}
308+
pydocstyle = "^6.1.1"
309+
pydub-stubs = "^0.25.1"
310+
pylint = "^2.16.2"
311+
pytest-cov = "^4.0.0"
312+
ruff = "==0.11.5"
313+
semver = "^2.13.0"
314+
testbook = "^0.4.2"
315+
316+
[tool.pytest.ini_options]
317+
testpaths = [ "tests" ]
318+
asyncio_mode = "auto"
319+
320+
[tool.mypy]
321+
plugins = ["pydantic.mypy"]
322+
323+
[tool.ruff]
324+
line-length = 120
325+
326+
[tool.ruff.lint]
327+
select = [
328+
"E", # pycodestyle errors
329+
"F", # pyflakes
330+
"I", # isort
331+
]
332+
ignore = [
333+
"E402", # Module level import not at top of file
334+
"E501", # Line too long
335+
"E711", # Comparison to `None` should be `cond is not None`
336+
"E712", # Avoid equality comparisons to `True`; use `if ...:` checks
337+
"E721", # Use `is` and `is not` for type comparisons, or `isinstance()` for insinstance checks
338+
"E722", # Do not use bare `except`
339+
"E731", # Do not assign a `lambda` expression, use a `def`
340+
"F821", # Undefined name
341+
"F841" # Local variable ... is assigned to but never used
342+
]
343+
344+
[tool.ruff.lint.isort]
345+
section-order = ["future", "standard-library", "third-party", "first-party"]
346+
347+
[build-system]
348+
requires = ["poetry-core"]
349+
build-backend = "poetry.core.masonry.api"
350+
351+
[tool.poetry.extras]
352+
examples=["jupyter"]
353+
microphone=["sounddevice"]
354+
src/hume/core/client_wrapper.py: |
355+
# This file was auto-generated by Fern from our API Definition.
356+
357+
import typing
358+
359+
import httpx
360+
from ..environment import HumeClientEnvironment
361+
from .http_client import AsyncHttpClient, HttpClient
362+
from .logging import LogConfig, Logger
363+
364+
365+
class BaseClientWrapper:
366+
def __init__(
367+
self,
368+
*,
369+
api_key: typing.Optional[str] = None,
370+
headers: typing.Optional[typing.Dict[str, str]] = None,
371+
environment: HumeClientEnvironment,
372+
timeout: typing.Optional[float] = None,
373+
logging: typing.Optional[typing.Union[LogConfig, Logger]] = None,
374+
):
375+
self.api_key = api_key
376+
self._headers = headers
377+
self._environment = environment
378+
self._timeout = timeout
379+
self._logging = logging
380+
381+
def get_headers(self) -> typing.Dict[str, str]:
382+
import platform
383+
384+
headers: typing.Dict[str, str] = {
385+
"User-Agent": "hume/0.14.0",
386+
"X-Fern-Language": "Python",
387+
"X-Fern-Runtime": f"python/{platform.python_version()}",
388+
"X-Fern-Platform": f"{platform.system().lower()}/{platform.release()}",
389+
"X-Fern-SDK-Name": "hume",
390+
"X-Fern-SDK-Version": "0.14.0",
391+
**(self.get_custom_headers() or {}),
392+
}
393+
if self.api_key is not None:
394+
headers["X-Hume-Api-Key"] = self.api_key
395+
return headers
396+
397+
def get_custom_headers(self) -> typing.Optional[typing.Dict[str, str]]:
398+
return self._headers
399+
400+
def get_environment(self) -> HumeClientEnvironment:
401+
return self._environment
402+
403+
def get_timeout(self) -> typing.Optional[float]:
404+
return self._timeout
405+
406+
407+
class SyncClientWrapper(BaseClientWrapper):
408+
def __init__(
409+
self,
410+
*,
411+
api_key: typing.Optional[str] = None,
412+
headers: typing.Optional[typing.Dict[str, str]] = None,
413+
environment: HumeClientEnvironment,
414+
timeout: typing.Optional[float] = None,
415+
logging: typing.Optional[typing.Union[LogConfig, Logger]] = None,
416+
httpx_client: httpx.Client,
417+
):
418+
super().__init__(api_key=api_key, headers=headers, environment=environment, timeout=timeout, logging=logging)
419+
self.httpx_client = HttpClient(
420+
httpx_client=httpx_client,
421+
base_headers=self.get_headers,
422+
base_timeout=self.get_timeout,
423+
logging_config=self._logging,
424+
)
425+
426+
427+
class AsyncClientWrapper(BaseClientWrapper):
428+
def __init__(
429+
self,
430+
*,
431+
api_key: typing.Optional[str] = None,
432+
headers: typing.Optional[typing.Dict[str, str]] = None,
433+
environment: HumeClientEnvironment,
434+
timeout: typing.Optional[float] = None,
435+
logging: typing.Optional[typing.Union[LogConfig, Logger]] = None,
436+
async_token: typing.Optional[typing.Callable[[], typing.Awaitable[str]]] = None,
437+
httpx_client: httpx.AsyncClient,
438+
):
439+
super().__init__(api_key=api_key, headers=headers, environment=environment, timeout=timeout, logging=logging)
440+
self._async_token = async_token
441+
self.httpx_client = AsyncHttpClient(
442+
httpx_client=httpx_client,
443+
base_headers=self.get_headers,
444+
base_timeout=self.get_timeout,
445+
async_base_headers=self.async_get_headers,
446+
logging_config=self._logging,
447+
)
448+
449+
async def async_get_headers(self) -> typing.Dict[str, str]:
450+
headers = self.get_headers()
451+
if self._async_token is not None:
452+
token = await self._async_token()
453+
headers["Authorization"] = f"Bearer {token}"
454+
return headers
455+
status: unresolved

0 commit comments

Comments
 (0)