Metadata-Version: 2.4
Name: llm-sca-tooling
Version: 0.2.5
Summary: LLM-augmented static code analysis tooling.
Requires-Python: >=3.12
Requires-Dist: aiosqlite>=0.20
Requires-Dist: alembic>=1.13
Requires-Dist: asyncpg>=0.29
Requires-Dist: defusedxml>=0.7
Requires-Dist: fastapi>=0.115
Requires-Dist: fastembed>=0.3
Requires-Dist: fastmcp>=2.0
Requires-Dist: httpx>=0.27
Requires-Dist: jsonschema>=4.23
Requires-Dist: lxml>=5.2
Requires-Dist: markdown-it-py>=3.0
Requires-Dist: networkx>=3.3
Requires-Dist: orjson>=3.10
Requires-Dist: pyan3>=1.4
Requires-Dist: pydantic-settings>=2.0
Requires-Dist: pydantic>=2.0
Requires-Dist: rich>=13.0
Requires-Dist: ruamel-yaml>=0.18
Requires-Dist: selectolax>=0.3
Requires-Dist: sqlite-vec>=0.1
Requires-Dist: sqlmodel>=0.0.21
Requires-Dist: tomli-w>=1.1
Requires-Dist: tree-sitter-c>=0.22
Requires-Dist: tree-sitter-cpp>=0.22
Requires-Dist: tree-sitter-javascript>=0.22
Requires-Dist: tree-sitter-python>=0.22
Requires-Dist: tree-sitter>=0.22
Requires-Dist: typer>=0.12
Requires-Dist: uvicorn[standard]>=0.30
Provides-Extra: dev
Requires-Dist: anyio[trio]>=4.0; extra == 'dev'
Requires-Dist: bandit[toml]>=1.7; extra == 'dev'
Requires-Dist: black>=24.0; extra == 'dev'
Requires-Dist: detect-secrets>=1.5; extra == 'dev'
Requires-Dist: hatchling>=1.24; extra == 'dev'
Requires-Dist: import-linter>=2.1; extra == 'dev'
Requires-Dist: isort>=5.13; extra == 'dev'
Requires-Dist: jsf>=0.11; extra == 'dev'
Requires-Dist: lxml-stubs>=0.5; extra == 'dev'
Requires-Dist: mypy>=1.10; extra == 'dev'
Requires-Dist: networkx-stubs; extra == 'dev'
Requires-Dist: pip-audit>=2.7; extra == 'dev'
Requires-Dist: pre-commit>=3.7; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
Requires-Dist: pytest-cov>=5.0; extra == 'dev'
Requires-Dist: pytest-xdist>=3.5; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: ruff>=0.4; extra == 'dev'
Requires-Dist: tox>=4.0; extra == 'dev'
Requires-Dist: types-defusedxml; extra == 'dev'
Requires-Dist: types-jsonschema; extra == 'dev'
Provides-Extra: test
Requires-Dist: pytest-asyncio>=0.23; extra == 'test'
Requires-Dist: pytest-cov>=5.0; extra == 'test'
Requires-Dist: pytest-xdist>=3.5; extra == 'test'
Requires-Dist: pytest>=8.0; extra == 'test'
Description-Content-Type: text/markdown

# Phase 0 Python Package Skeleton

Phase 0 establishes the package surfaces that later implementation phases use.
This repository already contains Phases 1-8, so the Phase 0 pass is additive:
existing indexing, storage, MCP, SARIF, plugin, and QA modules remain intact.

Current Phase 0 baseline:

- Python floor: 3.12.
- Dependency manager: `uv` with `uv.lock` as supply-chain evidence.
- CLI framework: Typer + Rich.
- JSONL writers: `orjson`.
- Formatting/lint order: `isort`, `black`, then `ruff`.
- Architecture gate: `.importlinter` plus `uv run lint-imports`.

Implemented skeleton surfaces:

- `llm_sca_tooling.config`: typed defaults, JSON/TOML loading, environment
  overrides, and redacted config output.
- `llm_sca_tooling.errors`: package-level structured errors.
- `llm_sca_tooling.telemetry`: logger setup and JSONL trace writer.
- `llm_sca_tooling.operations`: file-backed run-record writer and budget
  monitor.
- `llm_sca_tooling.governance`: permission profiles and policy evaluator.
- `llm_sca_tooling.harness`: Harness Condition Sheet writer.
- `llm_sca_tooling.cli.main`: Typer/Rich `llm-sca-tooling` command entrypoint.
- `llm_sca_tooling.plugins.registry.NoOpPlugin`: no-op plugin for skeleton
  registry tests.

The historical `evidence-sca` CLI remains available for existing graph and MCP
commands.

Useful commands:

```bash
uv sync --extra dev
llm-sca-tooling --version
llm-sca-tooling version
llm-sca-tooling config show
llm-sca-tooling config validate
llm-sca-tooling harness status
llm-sca-tooling run create demo
make verify
make verify-baseline
```
