Pull in missed dependencies

This commit is contained in:
Timothy Farrell 2025-12-28 18:34:22 -06:00
parent b1087405d1
commit ef769e40b6
5 changed files with 1502 additions and 31 deletions

10
.gitignore vendored
View File

@ -1,2 +1,10 @@
.aider*
*.pyc
.venv
__pycache__
*.pyc
.mypy_cache
.env

View File

@ -1,23 +0,0 @@
"""Health check endpoints."""
from fastapi import APIRouter
from app.core.database import DatabaseService
router = APIRouter()
@router.get("/health-check")
async def health_check() -> dict[str, str]:
"""Comprehensive health check endpoint."""
# Check database connectivity
db_healthy = DatabaseService.health_check()
status = "healthy" if db_healthy else "unhealthy"
result = {
"status": status,
"service": "loapi",
"database": "connected" if db_healthy else "disconnected"
}
return result

16
example.env Normal file
View File

@ -0,0 +1,16 @@
# Server settings
HOST=0.0.0.0
PORT=8000
DEBUG=true
LOG_LEVEL=INFO
# Database settings
ORACLE_USER=your_oracle_user
ORACLE_PASSWORD=your_oracle_password
ORACLE_DSN=your_oracle_dsn
# Monitoring
SENTRY_DSN=
DD_SERVICE=
DD_ENV=
DD_VERSION=

View File

@ -3,13 +3,60 @@ name = "loapi"
version = "1.0.0"
description = "Loan Operations API"
readme = "README.md"
requires-python = ">=3.14"
requires-python = ">=3.11"
dependencies = [
"fastapi>=0.104.0",
"uvicorn[standard]>=0.24.0",
"pydantic>=2.0.0",
"pydantic-settings>=2.0.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 = []
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
[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]
asyncio_mode = "auto"
testpaths = ["tests"]
[dependency-groups]
dev = [
"autoflake>=2.3.1",
"autopep8>=2.3.2",
"isort>=7.0.0",
"mypy>=1.19.1",
"pylint-pydantic>=0.4.1",
"pylint[pydantic]>=4.0.4",
]

1429
uv.lock generated

File diff suppressed because it is too large Load Diff