[project] name = "loapi" version = "1.0.0" description = "Loan Operations API" readme = "README.md" requires-python = ">=3.11" dependencies = [ "fastapi>=0.104.0", "uvicorn[standard]>=0.24.0", "sqlalchemy>=2.0.0", "oracledb>=1.4.0", "pydantic>=2.5.0", "pydantic-settings>=2.1.0", "slowapi>=0.1.9", "sentry-sdk[fastapi]>=1.38.0", "ddtrace>=2.5.0", "structlog>=23.2.0", "alembic>=1.13.0", ] [project.optional-dependencies] dev = [ "pytest>=7.4.0", "pytest-asyncio>=0.21.0", "pytest-cov>=4.1.0", "mypy>=1.7.0", "pylint>=3.0.0", "autopep8>=2.0.0", "isort>=5.12.0", "types-requests>=2.31.0", "httpx>=0.25.0", ] [tool.mypy] python_version = "3.14" strict = true warn_return_any = true warn_unused_configs = true disallow_untyped_defs = true exclude = ["tests"] [tool.pylint.messages_control] max-line-length = 88 disable = ["C0114", "C0116"] [tool.isort] profile = "black" multi_line_output = 3 line_length = 88 [tool.pytest.ini_options] pythonpath = ["."] testpaths = ["tests"] [dependency-groups] dev = [ "autoflake>=2.3.1", "autopep8>=2.3.2", "httpx>=0.28.1", "isort>=7.0.0", "mypy>=1.19.1", "pylint-pydantic>=0.4.1", "pylint[pydantic]>=4.0.4", "pytest[coverage]>=9.0.2", ]