[project]
name = "veritascribe"
version = "0.2.3"
license = "MIT" 
description = "AI-powered bachelor thesis review tool for automated quality analysis"
readme = "README.md"
authors = [
    { name = "legout", email = "ligno.blades@gmail.com" }
]
requires-python = ">=3.13"
dependencies = [
    "dspy>=2.6.27",
    "matplotlib>=3.10.5",
    "openai>=1.98.0",
    "pydantic>=2.11.7",
    "pydantic-settings>=2.10.1",
    "pymupdf>=1.26.3",
    "python-dotenv>=1.1.1",
    "typer>=0.16.0",
    "rich>=13.0.0",
    "langdetect>=1.0.9",
    "pytest>=8.4.1",
]

[project.urls]
documentation = "https://legout.github.io/veritascribe"
homepage = "https://github.com/legout/veritascribe"

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[dependency-groups]
dev = [
    "ipykernel>=6.30.1",
    "marimo>=0.14.16",
    "msgspec>=0.19.0",
    "pdf2text>=1.0.0",
    "pdfplumber>=0.11.7",
]

[project.scripts]
veritascribe = "veritascribe.main:main"

[project.optional-dependencies]
panel = [
    "pandas>=2.3.1",
    "panel>=1.7.5",
    "panel-material-ui>=0.4.0",
    "plotly>=6.2.0",
    "nbformat>=5.10.4",
    "vegafusion>=2.0.2",
    "vl-convert-python>=1.8.0",
    "altair>=5.5.0",
    "duckdb>=1.3.2",
    "sqlglot>=27.6.0",
    "polars[pyarrow]>=1.32.0",
    "ruff>=0.12.7",
    "python-lsp-server>=1.13.0",
    "websockets>=15.0.1",
    "python-lsp-ruff>=2.2.2",
]
fasthtml = [
    "pandas>=2.3.1",
    "plotly>=6.2.0",
    "python-fasthtml>=0.12.23",
]
