[project] name = "tross_interview" version = "0.1.0" description = "Interview chall provided by Tross" authors = [ {name = "Nikhil",email = "nk_mason@protonmail.com"}, ] dependencies = [ "fastapi>=0.141.1", "pydantic>=2.13.4", "pydantic-settings>=2.15.0", "loguru>=0.7.3", "uvicorn>=0.52.4", "curl-cffi>=0.16.2", ] requires-python = "==3.14.*" readme = "README.md" license = {text = "MIT"} [dependency-groups] dev = [ "pre-commit>=4.6.2", "black>=26.5.1", "mypy>=2.3.1", "pytest-asyncio>=1.4.0", "pytest-cov>=7.1.0", ] [tool.black] line-length = 120 target-version = ["py314"] [tool.isort] profile = "black" multi_line_output = 3 force_grid_wrap = 2 [tool.mypy] python_version = "3.14" check_untyped_defs = true disallow_any_generics = true disallow_incomplete_defs = true disallow_untyped_defs = true warn_redundant_casts = true warn_unused_ignores = true warn_return_any = true strict_equality = true exclude = [ 'alembic', 'dumpers', ] [tool.bandit] exclude_dirs = ["tests"] [tool.coverage.run] branch = true [tool.coverage.report] exclude_also = [ # Don't complain about missing debug-only code: "def __repr__", "if self\\.debug", # Don't complain if tests don't hit defensive assertion code: "raise AssertionError", "raise NotImplementedError", # Don't complain if non-runnable code isn't run: "if 0:", "if __name__ == .__main__.:", # Don't complain about abstract methods, they aren't run: "@(abc\\.)?abstractmethod", ] ignore_errors = true omit = [ # all of these are covered. no plans to write integeration testing. ] [tool.pdm] distribution = false