[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["src/transcription"] [project] name = "transcription" version = "0.1.0" description = "Historical document transcription system" readme = "README.md" requires-python = ">=3.12" dependencies = [ "aiosqlite>=0.21.0", "asyncpg>=0.31.0", "fastapi>=0.138.0", "nicegui==3.13.0", "openrouter>=0.7.0", "psycopg2-binary>=2.9.12", "pydantic>=2.13.4", "pydantic-settings>=2.9.1", "sqlmodel>=0.0.25", ] [dependency-groups] dev = [ "pytest>=8.0", "pytest-asyncio>=0.25", "httpx2>=2.5.0", "ipykernel>=7.3.0", "ipywidgets>=8.1.8", "pre-commit>=4.6.0", "rich>=15.0.0", "ruff>=0.15.20", "ty>=0.0.54", ] [tool.pytest.ini_options] addopts = "--strict-markers -q" markers = [ "unit: pure logic tests with no external dependencies", "integration: tests that touch framework or database contracts", "external: tests that call external services (slow, requires credentials)", ]