Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,6 @@ COPY /templates/ templates/
COPY .env app/
COPY alembic.ini /panettone/alembic.ini
COPY /alembic/ /panettone/alembic/
COPY logging-uvicorn.json /panettone/logging-uvicorn.json
COPY logging-granian.json /panettone/logging-granian.json
COPY pyproject.toml /panettone/pyproject.toml

RUN python -V
Expand Down
2 changes: 1 addition & 1 deletion app/api/health.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@

from fastapi import APIRouter, Depends, Query, Request, status
from pydantic import EmailStr
from rotoger import AppStructLogger
from starlette.concurrency import run_in_threadpool

from app.services.smtp import SMTPEmailService
from app.utils.logging import AppStructLogger

logger = AppStructLogger().get_logger()

Expand Down
2 changes: 1 addition & 1 deletion app/api/ml.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

from fastapi import APIRouter, Depends, Form
from fastapi.responses import StreamingResponse
from rotoger import AppStructLogger

from app.services.llm import get_llm_service
from app.utils.logging import AppStructLogger

logger = AppStructLogger().get_logger()

Expand Down
2 changes: 1 addition & 1 deletion app/api/stuff.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
from fastapi import APIRouter, Depends, HTTPException, Request, status
from rotoger import AppStructLogger
from sqlalchemy.exc import SQLAlchemyError
from sqlalchemy.ext.asyncio import AsyncSession

from app.database import get_db
from app.models.stuff import Stuff
from app.schemas.stuff import StuffResponse, StuffSchema
from app.utils.logging import AppStructLogger

logger = AppStructLogger().get_logger()

Expand Down
2 changes: 1 addition & 1 deletion app/api/user.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
from typing import Annotated

from fastapi import APIRouter, Depends, Form, HTTPException, Request, status
from rotoger import AppStructLogger
from sqlalchemy.ext.asyncio import AsyncSession

from app.database import get_db
from app.models.user import User
from app.schemas.user import TokenResponse, UserLogin, UserResponse, UserSchema
from app.services.auth import create_access_token
from app.utils.logging import AppStructLogger

logger = AppStructLogger().get_logger()

Expand Down
2 changes: 1 addition & 1 deletion app/database.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
from collections.abc import AsyncGenerator

from rotoger import AppStructLogger
from sqlalchemy.ext.asyncio import async_sessionmaker, create_async_engine

from app.config import settings as global_settings
from app.utils.logging import AppStructLogger

logger = AppStructLogger().get_logger()

Expand Down
2 changes: 1 addition & 1 deletion app/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
from fastapi import Depends, FastAPI, Request
from fastapi.responses import HTMLResponse
from fastapi.templating import Jinja2Templates
from rotoger import AppStructLogger

from app.api.health import router as health_router
from app.api.ml import router as ml_router
Expand All @@ -15,7 +16,6 @@
from app.config import settings as global_settings
from app.redis import get_redis
from app.services.auth import AuthBearer
from app.utils.logging import AppStructLogger

logger = AppStructLogger().get_logger()
templates = Jinja2Templates(directory=Path(__file__).parent.parent / "templates")
Expand Down
3 changes: 1 addition & 2 deletions app/models/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,11 @@

from asyncpg import UniqueViolationError
from fastapi import HTTPException, status
from rotoger import AppStructLogger
from sqlalchemy.exc import IntegrityError, SQLAlchemyError
from sqlalchemy.ext.asyncio import AsyncSession
from sqlalchemy.orm import DeclarativeBase, declared_attr

from app.utils.logging import AppStructLogger

logger = AppStructLogger().get_logger()


Expand Down
2 changes: 1 addition & 1 deletion app/services/auth.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
import jwt
from fastapi import HTTPException, Request
from fastapi.security import HTTPAuthorizationCredentials, HTTPBearer
from rotoger import AppStructLogger

from app.config import settings as global_settings
from app.models.user import User
from app.utils.logging import AppStructLogger

logger = AppStructLogger().get_logger()

Expand Down
2 changes: 1 addition & 1 deletion app/services/smtp.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
from attrs import define, field
from fastapi.templating import Jinja2Templates
from pydantic import EmailStr
from rotoger import AppStructLogger

from app.config import settings as global_settings
from app.utils.logging import AppStructLogger
from app.utils.singleton import SingletonMetaNoArgs

logger = AppStructLogger().get_logger()
Expand Down
3 changes: 1 addition & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,7 @@ dependencies = [
"polyfactory>=2.21.0",
"granian>=2.3.2",
"apscheduler[redis,sqlalchemy]>=4.0.0a6",
"structlog>=25.4.0",
"whenever>=0.8.5",
"rotoger",
Copy link
Preview

Copilot AI Jul 27, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The dependency should include a version constraint to ensure reproducible builds and prevent potential breaking changes from unexpected updates.

Suggested change
"rotoger",
"rotoger>=1.0.0",

Copilot uses AI. Check for mistakes.

]

[tool.uv]
Expand Down
1,257 changes: 642 additions & 615 deletions uv.lock

Large diffs are not rendered by default.