Files
caius72 a15d4c53fd Support Python 3.14
Raise the supported Python ceiling to include 3.14 and verify the full
dependency set installs and the test suite passes on CPython 3.14.6.

The blocker was jsonschema-rs 0.29.1 (pinned transitively via langgraph-cli
0.4.14 -> langgraph-api 0.7.65), whose PyO3 0.23 bindings predate 3.14 and
cannot build from source. Upgrading the langgraph stack (langgraph-cli 0.4.30,
langgraph-api 0.10.0, langgraph 1.2.6) pulls jsonschema-rs 0.44.1, which ships
abi3/cp314 wheels.

- pyproject: requires-python <3.14 -> <3.15; add 3.14 classifier
- ci: add 3.14 to the test matrix
- uv.lock: full re-resolve for the langgraph stack
- docs/PI_EXTENSION: update stated version range

Also suppress a LangChainPendingDeprecationWarning emitted on import: langgraph
deserializes with langchain's default allowed_objects, and langchain_core's
import re-enables that warning via surface_langchain_deprecation_warnings(), so
import langchain_core first, then prepend our ignore filter so it wins.

Signed-off-by: caius72 <tuschner@gmail.com>
2026-06-25 08:50:52 +02:00

38 lines
1.5 KiB
Python

# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""Skillspector v2 LangGraph workflow package."""
import warnings
from importlib.metadata import version as _pkg_version
__version__ = _pkg_version("skillspector")
# ponytail: langgraph deserializes with langchain's allowed_objects default,
# which warns. langchain_core's import re-enables that warning via
# surface_langchain_deprecation_warnings(), so import it first, then prepend our
# ignore filter so it wins. Drop this once langgraph pins an explicit default.
import langchain_core # noqa: F401 (force its warning-filter setup before ours)
warnings.filterwarnings(
"ignore",
message="The default value of `allowed_objects` will change",
category=Warning,
)
from skillspector.graph import create_graph, graph # noqa: E402 (after filter setup)
__all__ = ["create_graph", "graph", "__version__"]