[project] name = "finanz-cockpit" version = "0.1.0" description = "Add your description here" readme = "README.md" authors = [ { name = "Mathias Scheider", email = "mathias2784@web.de" } ] requires-python = ">=3.14" dependencies = [ "alembic>=1.19.1", "argparse>=1.4.0", "dotenv>=0.9.9", "mypy>=2.4.0", "pydantic>=2.13.5", "pytest>=9.1.1", "pytest-cov>=7.1.0", "python-dotenv>=1.2.3", "sqlalchemy>=2.0.52", ] [project.scripts] finanz-cockpit = "src:main" [tool.uv.build-backend] module-name = "src" module-root = "" [build-system] requires = ["uv_build>=0.12.9,<0.13.0"] build-backend = "uv_build" [tool.mypy] explicit_package_bases = true mypy_path = "." # Ignore test file type errors (inline class definitions, float literals) # See AGENTS.md for type checking notes [[tool.mypy.overrides]] module = ["tests.test_db_utils_update_path", "tests.test_domain_utils_budget_overlap"] ignore_errors = true [tool.ruff] target-version = "py314" [tool.black] target-version = [ "py314" ] [tool.ruff.lint] ignore = ["EXE"] [dependency-groups] dev = [ "black>=26.5.1", "debugpy>=1.8.21", "faker>=40.38.0", "polyfactory>=3.3.0", "ruff>=0.16.7", ] [tool.coverage.run] branch = true source = ["src"] [tool.coverage.report] fail_under = 85 skip_covered = true exclude_lines = [ "pragma: no cover", "raise NotImplementedError", "if __name__ == .__main__.:", "^[a-zA-Z_]+\\s*=\\s*$" ]