Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["3.12", "3.13"]
python-version: ["3.12", "3.13", "3.14"]

steps:
- uses: actions/checkout@v4
Expand Down
2 changes: 1 addition & 1 deletion docs/PI_EXTENSION.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ SkillSpector can be installed into Pi as a local package. The extension register
## Requirements

- Pi installed.
- Python `>=3.12,<3.14`.
- Python `>=3.12,<3.15`.
- `uv` recommended.
- This repo checked out locally.

Expand Down
3 changes: 2 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ version = "2.3.7"
description = "SkillSpector: Security scanner for AI agent skills (Claude Code, Cursor, and similar). Scans skills for vulnerabilities, malicious patterns, and security risks before installation. Supports Git repos, URLs, zips, and local directories; runs static pattern checks and optional LLM semantic analysis; outputs terminal, JSON, and Markdown reports with risk scoring."
readme = "README.md"
license = "Apache-2.0"
requires-python = ">=3.12,<3.14"
requires-python = ">=3.12,<3.15"
keywords = [
"security",
"ai-agents",
Expand All @@ -25,6 +25,7 @@ classifiers = [
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Topic :: Security",
"Topic :: Software Development :: Quality Assurance",
]
Expand Down
15 changes: 14 additions & 1 deletion src/skillspector/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,23 @@

"""Skillspector v2 LangGraph workflow package."""

import warnings
from importlib.metadata import version as _pkg_version

__version__ = _pkg_version("skillspector")

from skillspector.graph import create_graph, graph
# 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__"]
Loading