[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", "portalocker>=2.10", ] [project.scripts] tht = "tht.cli:app" [project.optional-dependencies] s3 = ["boto3>=1.34,<2"] dev = [ "pytest>=8.0", "testcontainers[postgres]>=4.0", "ruff>=0.5", ] [tool.setuptools.packages.find] include = ["tht*"] [tool.setuptools.package-data] tht = ["migrations/sessions/*.sql"] [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