Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-langsmith for 
openSUSE:Factory checked in at 2026-11-06 19:58:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-langsmith (Old)
 and      /work/SRC/openSUSE:Factory/.python-langsmith.new.3759290 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-langsmith"

Fri Nov  6 19:58:52 2026 rev:42 rq:1395856 version:0.14.17

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-langsmith/python-langsmith.changes        
2026-10-31 23:13:51.292595436 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-langsmith.new.3759290/python-langsmith.changes
   2026-11-06 20:07:16.355617146 +0100
@@ -1,0 +2,30 @@
+Wed Nov  4 14:19:55 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Fix build with uuid-utils 1.0 (TypeError: uuid7() got an
+  unexpected keyword argument 'timestamp' in %check):
+  support uuid7(nanoseconds=...) with fallback to the 0.x pair
+  in langsmith-uuid-utils-1.0-compat.patch.
+- Deselect timing-flaky test_refresh_failure_keeps_stale, which
+  asserts a background refresh thread fires within sleep(0.5)
+  and misses the window on loaded ARM builders.
+- Deselect timing-flaky test_app_loop_does_not_back_off, which
+  asserts exact retry sleep sequences and grows an extra retry
+  on loaded ARM builders (aarch64 red, x86_64 green).
+
+-------------------------------------------------------------------
+Mon Nov  2 13:22:43 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Update to 0.14.17:
+  * SDK reads the profile api_key_env in the Python, JS and
+    Java SDKs
+  * CLI gains evaluators create-decision-model; evaluator
+    tables show the effective spend limit
+  * Sandboxes: AWS session tags on proxy role rules
+  * Restore disposable Engine sandboxes with the released SDK
+  * Unify shared-profile OAuth refresh locking across SDKs
+  * Expose v1 session creation and updates in the Python SDK
+  * Run tests with upstream's httpx2_alias sitecustomize so test
+    clients use the httpx2 backend the code expects
+  * No new runtime dependencies; requires-python stays >= 3.10
+
+-------------------------------------------------------------------

Old:
----
  langsmith-0.14.13.tar.gz
  langsmith-0.14.16.tar.gz

New:
----
  langsmith-0.14.17.tar.gz
  langsmith-uuid-utils-1.0-compat.patch

----------(New B)----------
  New:  support uuid7(nanoseconds=...) with fallback to the 0.x pair
  in langsmith-uuid-utils-1.0-compat.patch.
- Deselect timing-flaky test_refresh_failure_keeps_stale, which
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-langsmith.spec ++++++
--- /var/tmp/diff_new_pack.ZFPTae/_old  2026-11-06 20:07:17.518665886 +0100
+++ /var/tmp/diff_new_pack.ZFPTae/_new  2026-11-06 20:07:17.525666179 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           python-langsmith
-Version:        0.14.16
+Version:        0.14.17
 Release:        0
 Summary:        Client library for the LangSmith LLM tracing and evaluation 
platform
 License:        MIT
@@ -25,6 +25,8 @@
 Source:         
https://files.pythonhosted.org/packages/source/l/langsmith/langsmith-%{version}.tar.gz
 # PATCH-FIX-UPSTREAM langsmith-python314-iscoroutinefunction.patch 
[email protected] -- use inspect.iscoroutinefunction(), the asyncio alias is 
deprecated in Python 3.14, gh#langchain-ai/langsmith-sdk#3347
 Patch0:         langsmith-python314-iscoroutinefunction.patch
+# PATCH-FIX-OPENSUSE langsmith-uuid-utils-1.0-compat.patch [email protected] 
-- support uuid-utils 1.0 uuid7(nanoseconds=...); 0.x timestamp=/nanos= 
removed, breaks %check with TypeError
+Patch1:         langsmith-uuid-utils-1.0-compat.patch
 BuildRequires:  %{python_module hatch-fancy-pypi-readme}
 BuildRequires:  %{python_module hatchling}
 BuildRequires:  %{python_module pip}
@@ -101,22 +103,14 @@
 
 %check
 export LANGSMITH_TRACING=false
-# Run unit tests only; skip integration/network tests and modules that need
-# optional providers (LLM wrappers, sandbox websockets client, CLI) or
-# langchain-core (which depends on langsmith -> build cycle);
-# test_hybrid_tracing.py carries an upstream module-level pytest.skip.
-# test_background_thread.py imports the git-only bench/ helper, which
-# upstream does not ship in the sdist.
-# Two upstream tests are deselected: test_admission_under_concurrency
-# over-specifies - it asserts the first replica always claims the next
-# frame, but a concurrent drain can reset between the two writes of one
-# post(); delivery stays correct, admission and drain share
-# compressed_traces.lock. Red on Factory ARM aarch64.
-# test_extract_string_nodes_scales_linearly asserts a wall-clock ratio.
-# test_langchain_tool_attributes_reach_otel_spans imports langchain_core
-# inside the test body with no importorskip; every other langchain_core test
-# lives in an --ignore'd file, so this is the one that needs deselecting.
-%pytest tests/unit_tests -p no:langsmith_plugin --ignore 
tests/unit_tests/wrappers --ignore tests/unit_tests/sandbox --ignore 
tests/unit_tests/cli --ignore tests/unit_tests/evaluation --ignore 
tests/unit_tests/test_async_client.py --ignore tests/unit_tests/test_client.py 
--ignore tests/unit_tests/test_run_helpers.py --ignore 
tests/unit_tests/test_hybrid_tracing.py --ignore 
tests/unit_tests/test_background_thread.py -k 'not test_client_gc and not 
test_git_info and not test_as_runnable and not test_admission_under_concurrency 
and not test_extract_string_nodes_scales_linearly and not 
test_langchain_tool_attributes_reach_otel_spans'
+# Upstream runs its suite with tests/httpx2_alias on PYTHONPATH, aliasing
+# "import httpx" onto the maintained httpx2 fork, so httpx-client tests get
+# the backend they expect (tests/unit_tests/test_session_writes.py).
+export PYTHONPATH="$PWD/tests/httpx2_alias${PYTHONPATH:+:$PYTHONPATH}"
+# Unit tests only: --ignore wrappers/sandbox/cli/evaluation, client and
+# helper files (optional providers, langchain-core cycle, upstream skip,
+# git-only bench), plus fragile -k deselects (concurrency, wall-clock, races).
+%pytest tests/unit_tests -p no:langsmith_plugin --ignore 
tests/unit_tests/wrappers --ignore tests/unit_tests/sandbox --ignore 
tests/unit_tests/cli --ignore tests/unit_tests/evaluation --ignore 
tests/unit_tests/test_async_client.py --ignore tests/unit_tests/test_client.py 
--ignore tests/unit_tests/test_run_helpers.py --ignore 
tests/unit_tests/test_hybrid_tracing.py --ignore 
tests/unit_tests/test_background_thread.py -k 'not test_client_gc and not 
test_git_info and not test_as_runnable and not test_admission_under_concurrency 
and not test_extract_string_nodes_scales_linearly and not 
test_langchain_tool_attributes_reach_otel_spans and not 
test_refresh_failure_keeps_stale and not test_app_loop_does_not_back_off'
 
 %files %python_files
 %doc README.md

++++++ langsmith-0.14.13.tar.gz -> langsmith-0.14.17.tar.gz ++++++
++++ 12478 lines of diff (skipped)

++++++ langsmith-uuid-utils-1.0-compat.patch ++++++
From: Martin Pluskal <[email protected]>
Subject: Support uuid-utils >= 1.0 uuid7(nanoseconds=...) signature

uuid-utils 1.0 intentionally changed uuid7/uuid6/uuid8 to the
signatures Python 3.14 added to the standard library and removed the
legacy 0.x keywords (timestamp=, nanos=). langsmith calls
uuid_utils.compat.uuid7(timestamp=seconds, nanos=nanos), which raises
TypeError: uuid7() got an unexpected keyword argument 'timestamp' and
fails 159 unit tests in %check.

Try the 1.0 nanoseconds= keyword first, fall back to the 0.x
timestamp=/nanos= pair so the same code works with both.

--- langsmith-0.14.17.orig/src/langsmith/_internal/_uuid.py
+++ langsmith-0.14.17/src/langsmith/_internal/_uuid.py
@@ -42,8 +42,11 @@
     # For now, just delegate to the uuid_utils implementation
     if nanoseconds is None:
         return _uuid_utils_uuid7()
-    seconds, nanos = _to_timestamp_and_nanos(nanoseconds)
-    return _uuid_utils_uuid7(timestamp=seconds, nanos=nanos)
+    try:
+        return _uuid_utils_uuid7(nanoseconds=nanoseconds)
+    except TypeError:
+        seconds, nanos = _to_timestamp_and_nanos(nanoseconds)
+        return _uuid_utils_uuid7(timestamp=seconds, nanos=nanos)
 
 
 def is_uuid_v7(uuid_obj: uuid.UUID) -> bool:

Reply via email to