diff --git a/.github/workflows/nightly-deep-assurance.yml b/.github/workflows/nightly-deep-assurance.yml index d34d2685..58f966fa 100644 --- a/.github/workflows/nightly-deep-assurance.yml +++ b/.github/workflows/nightly-deep-assurance.yml @@ -15,8 +15,9 @@ jobs: with: python-version: "3.12" cache: "pip" - - run: python -m pip install -e '.[dev,quality]' mutmut - - run: python -m mutmut run --paths-to-mutate codewiki/src/enduser + - run: python -m pip install uv + - run: uv pip install --system -e . pytest pytest-cov mutmut + - run: mutmut run api_fuzz_and_contracts: name: api_fuzz_and_contracts @@ -27,7 +28,8 @@ jobs: with: python-version: "3.12" cache: "pip" - - run: python -m pip install -e '.[dev]' schemathesis + - run: python -m pip install uv + - run: uv pip install --system -e . schemathesis - run: echo "No OpenAPI contract is currently published; add one to enable schemathesis targets." parser_fuzzing: @@ -46,7 +48,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - - uses: aquasecurity/trivy-action@0.30.0 + - uses: aquasecurity/trivy-action@v0.36.0 with: scan-type: fs scan-ref: . @@ -68,5 +70,6 @@ jobs: with: python-version: "3.12" cache: "pip" - - run: python -m pip install -e '.[dev]' pytest-repeat + - run: python -m pip install uv + - run: uv pip install --system -e . pytest pytest-cov pytest-repeat - run: python -m pytest tests/test_enduser_review_e2e.py --count=5 -q diff --git a/pyproject.toml b/pyproject.toml index 8f8bda89..e292dfba 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -26,7 +26,7 @@ classifiers = [ dependencies = [ "click>=8.1.0", "keyring>=24.0.0", - "GitPython>=3.1.41", + "GitPython>=3.1.50", "Jinja2>=3.1.6", "tree-sitter>=0.23.2", "tree-sitter-language-pack>=0.8.0", @@ -42,14 +42,14 @@ dependencies = [ "anthropic>=0.52.0", "markdown-it-py>=3.0.0", "mcp>=1.23.0", - "openai>=2.30.0", - "litellm>=1.83.0", + "openai>=2.24.0", + "litellm>=1.83.10", "pydantic>=2.11.7", "pydantic-settings>=2.10.1", - "pydantic-ai>=1.56.0", + "pydantic-ai-slim[openai]>=1.56.0,<1.67.0", "requests>=2.33.0", "tiktoken>=0.8.0", - "python-dotenv>=1.1.1", + "python-dotenv>=1.2.2", "rich>=14.1.0", "networkx>=3.5", "psutil>=7.0.0", @@ -58,7 +58,7 @@ dependencies = [ "mermaid-py>=0.8.0", "fastapi>=0.135.2", "uvicorn>=0.35.0", - "python-multipart>=0.0.22", + "python-multipart>=0.0.27", "colorama>=0.4.6", "logfire>=4.1.0" ] @@ -160,6 +160,15 @@ source = ["codewiki"] show_missing = true skip_empty = true +[tool.mutmut] +paths_to_mutate = ["codewiki/src/enduser"] +also_copy = [ + "codewiki/__init__.py", + "codewiki/cli", + "codewiki/prompts", + "codewiki/templates", +] + [tool.bandit] exclude_dirs = ["tests", ".tmp_make", ".tmp_manual_review", ".tmp_manual_review_live"] targets = ["codewiki"] diff --git a/requirements.txt b/requirements.txt index aac28461..a5e00461 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,7 +3,7 @@ # `[project.dependencies]` in `pyproject.toml`. click>=8.1.0 keyring>=24.0.0 -GitPython>=3.1.41 +GitPython>=3.1.50 Jinja2>=3.1.6 tree-sitter>=0.23.2 tree-sitter-language-pack>=0.8.0 @@ -19,14 +19,14 @@ tree-sitter-kotlin>=1.1.0 anthropic>=0.52.0 markdown-it-py>=3.0.0 mcp>=1.23.0 -openai>=2.30.0 -litellm>=1.83.0 +openai>=2.24.0 +litellm>=1.83.10 pydantic>=2.11.7 pydantic-settings>=2.10.1 -pydantic-ai>=1.56.0 +pydantic-ai-slim[openai]>=1.56.0,<1.67.0 requests>=2.33.0 tiktoken>=0.8.0 -python-dotenv>=1.1.1 +python-dotenv>=1.2.2 rich>=14.1.0 networkx>=3.5 psutil>=7.0.0 @@ -35,6 +35,6 @@ mermaid-parser-py>=0.0.2 mermaid-py>=0.8.0 fastapi>=0.135.2 uvicorn>=0.35.0 -python-multipart>=0.0.22 +python-multipart>=0.0.27 colorama>=0.4.6 logfire>=4.1.0