[project] name = "hxbooks" version = "0.1.0" description = "Add your description here" readme = "README.md" requires-python = ">=3.14" dependencies = [ "alembic>=1.13.0", "click>=8.3.1", "flask>=3.1.3", "flask-htmx>=0.4.0", "flask-migrate>=4.0.0", "flask-sqlalchemy>=3.1.1", "gunicorn>=25.1.0", "jinja2-fragments>=1.11.0", "pydantic>=2.12.5", "pyparsing>=3.3.2", "requests>=2.32.5", "sqlalchemy>=2.0.48", ] [project.scripts] hxbooks = "hxbooks.cli:cli" [build-system] requires = ["uv_build>=0.10.10,<0.11.0"] build-backend = "uv_build" [dependency-groups] dev = [ "livereload>=2.7.1", "pre-commit>=4.5.1", "pytest>=9.0.2", "ruff>=0.15.6", "ty>=0.0.23", ] [tool.pytest.ini_options] addopts = ["-v", "--tb=short"] [tool.ruff] preview = true exclude = [ "migrations/**", "src/hxbooks/book.py", "src/hxbooks/util.py", "src/hxbooks/auth.py", "src/hxbooks/gbooks.py", ] [tool.ruff.lint] select = ["E", "F", "B", "C90", "UP", "RUF", "FURB", "PL", "ANN"] ignore = ["PLR09", "PLR2004", "E501", "C901", "PLC1901"] per-file-ignores = { "tests/**.py" = ["PLR6301"] } [tool.ty.src] exclude = [ "migrations/**", "src/hxbooks/book.py", "src/hxbooks/util.py", "src/hxbooks/auth.py", "src/hxbooks/gbooks.py", "src/hxbooks/htmx.py", ]