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:
