Files
ThothII/harness/pyproject.toml
T
marcopanandClaude Opus 4.8 c12bdcd257 feat(harness): derive a 3-5 keyword session name (YAKE, no LLM)
New sessions get a concise Italian-keyword `name` instead of the truncated
question. `tht session new` (when no --name is given) derives it via a new
`_extract_name` helper using YAKE (pure-Python, unsupervised, Italian, no LLM),
dropping generic query verbs and keeping the top keywords in reading order;
falls back to `_summarize` if YAKE is unavailable. `create_session` core keeps
its `name=None` default — the policy lives at the CLI layer.

TDD: tests/test_session_name.py (unit + CliRunner integration). Full harness
suite 269 passed; ruff clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 15:54:54 +02:00

44 lines
951 B
TOML

[project]
name = "tht"
version = "0.1.0"
description = "ThothII harness — deterministic CLI for the NL→SQL workflow"
requires-python = ">=3.12"
dependencies = [
"typer>=0.12",
"pydantic>=2.0",
"pyyaml>=6.0",
"sqlalchemy>=2.0",
"psycopg2-binary>=2.9",
"datasketch>=1.6",
"sqlglot>=23.0",
"python-dotenv>=1.0",
"rich>=13.0",
"requests>=2.31",
"tqdm>=4.66",
"yake>=0.4",
]
[project.scripts]
tht = "tht.cli:app"
[project.optional-dependencies]
dev = [
"pytest>=8.0",
"testcontainers[postgres]>=4.0",
"ruff>=0.5",
]
[tool.setuptools.packages.find]
include = ["tht*"]
[tool.ruff]
line-length = 100
[tool.pytest.ini_options]
testpaths = ["tests"]
markers = [
"l0: testcontainers tests (need Docker, run locally)",
"l2: end-to-end tests requiring real GLM 5.2 + remote DB (skipped when .env incomplete)",
]
addopts = "-m 'not l2'" # L0 runs by default (Docker present); L2 opt-in