mirror of
https://github.com/grillazz/fastapi-sqlalchemy-asyncpg.git
synced 2025-11-30 13:20:40 +03:00
Merge pull request #221 from grillazz/switch-logger-to-rotoger
switch to new Rotoger class
This commit is contained in:
@@ -2,16 +2,18 @@ from typing import Annotated
|
||||
|
||||
from fastapi import APIRouter, Depends, Query, Request, status
|
||||
from pydantic import EmailStr
|
||||
from rotoger import AppStructLogger
|
||||
from rotoger import Rotoger
|
||||
from starlette.concurrency import run_in_threadpool
|
||||
|
||||
from app.services.smtp import SMTPEmailService
|
||||
|
||||
logger = AppStructLogger().get_logger()
|
||||
logger = Rotoger().get_logger()
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
|
||||
|
||||
|
||||
@router.get("/redis", status_code=status.HTTP_200_OK)
|
||||
async def redis_check(request: Request):
|
||||
"""
|
||||
|
||||
@@ -2,11 +2,11 @@ from typing import Annotated
|
||||
|
||||
from fastapi import APIRouter, Depends, Form
|
||||
from fastapi.responses import StreamingResponse
|
||||
from rotoger import AppStructLogger
|
||||
from rotoger import Rotoger
|
||||
|
||||
from app.services.llm import get_llm_service
|
||||
|
||||
logger = AppStructLogger().get_logger()
|
||||
logger = Rotoger().get_logger()
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
from fastapi import APIRouter, Depends, HTTPException, Request, status
|
||||
from rotoger import AppStructLogger
|
||||
from rotoger import Rotoger
|
||||
from sqlalchemy.exc import SQLAlchemyError
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
|
||||
@@ -8,7 +8,7 @@ from app.models.stuff import RandomStuff, Stuff
|
||||
from app.schemas.stuff import RandomStuff as RandomStuffSchema
|
||||
from app.schemas.stuff import StuffResponse, StuffSchema
|
||||
|
||||
logger = AppStructLogger().get_logger()
|
||||
logger = Rotoger().get_logger()
|
||||
|
||||
router = APIRouter(prefix="/v1/stuff")
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
from typing import Annotated
|
||||
|
||||
from fastapi import APIRouter, Depends, Form, HTTPException, Request, status
|
||||
from rotoger import AppStructLogger
|
||||
from rotoger import Rotoger
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
|
||||
from app.database import get_db
|
||||
@@ -9,7 +9,7 @@ from app.models.user import User
|
||||
from app.schemas.user import TokenResponse, UserLogin, UserResponse, UserSchema
|
||||
from app.services.auth import create_access_token
|
||||
|
||||
logger = AppStructLogger().get_logger()
|
||||
logger = Rotoger().get_logger()
|
||||
|
||||
router = APIRouter(prefix="/v1/user")
|
||||
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
from collections.abc import AsyncGenerator
|
||||
|
||||
from fastapi.exceptions import ResponseValidationError
|
||||
from rotoger import AppStructLogger
|
||||
from rotoger import Rotoger
|
||||
from sqlalchemy.exc import SQLAlchemyError
|
||||
from sqlalchemy.ext.asyncio import async_sessionmaker, create_async_engine
|
||||
|
||||
from app.config import settings as global_settings
|
||||
|
||||
logger = AppStructLogger().get_logger()
|
||||
logger = Rotoger().get_logger()
|
||||
|
||||
engine = create_async_engine(
|
||||
global_settings.asyncpg_url.unicode_string(),
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import orjson
|
||||
from attrs import define, field
|
||||
from fastapi import Request
|
||||
from rotoger import AppStructLogger
|
||||
from rotoger import Rotoger
|
||||
|
||||
logger = AppStructLogger().get_logger()
|
||||
logger = Rotoger().get_logger()
|
||||
|
||||
|
||||
@define(slots=True)
|
||||
|
||||
@@ -5,7 +5,7 @@ import asyncpg
|
||||
from fastapi import Depends, FastAPI, Request
|
||||
from fastapi.responses import HTMLResponse
|
||||
from fastapi.templating import Jinja2Templates
|
||||
from rotoger import AppStructLogger
|
||||
from rotoger import Rotoger
|
||||
|
||||
from app.api.health import router as health_router
|
||||
from app.api.ml import router as ml_router
|
||||
@@ -18,7 +18,7 @@ from app.exception_handlers import register_exception_handlers
|
||||
from app.redis import get_redis
|
||||
from app.services.auth import AuthBearer
|
||||
|
||||
logger = AppStructLogger().get_logger()
|
||||
logger = Rotoger().get_logger()
|
||||
templates = Jinja2Templates(directory=Path(__file__).parent.parent / "templates")
|
||||
|
||||
|
||||
|
||||
@@ -2,12 +2,12 @@ from typing import Any
|
||||
|
||||
from asyncpg import UniqueViolationError
|
||||
from fastapi import HTTPException, status
|
||||
from rotoger import AppStructLogger
|
||||
from rotoger import Rotoger
|
||||
from sqlalchemy.exc import IntegrityError, SQLAlchemyError
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
from sqlalchemy.orm import DeclarativeBase, declared_attr
|
||||
|
||||
logger = AppStructLogger().get_logger()
|
||||
logger = Rotoger().get_logger()
|
||||
|
||||
|
||||
class Base(DeclarativeBase):
|
||||
|
||||
@@ -3,12 +3,12 @@ import time
|
||||
import jwt
|
||||
from fastapi import HTTPException, Request
|
||||
from fastapi.security import HTTPAuthorizationCredentials, HTTPBearer
|
||||
from rotoger import AppStructLogger
|
||||
from rotoger import Rotoger
|
||||
|
||||
from app.config import settings as global_settings
|
||||
from app.models.user import User
|
||||
|
||||
logger = AppStructLogger().get_logger()
|
||||
logger = Rotoger().get_logger()
|
||||
|
||||
|
||||
async def get_from_redis(request: Request, key: str):
|
||||
|
||||
@@ -5,12 +5,12 @@ from email.mime.text import MIMEText
|
||||
from attrs import define, field
|
||||
from fastapi.templating import Jinja2Templates
|
||||
from pydantic import EmailStr
|
||||
from rotoger import AppStructLogger
|
||||
from rotoger import Rotoger
|
||||
|
||||
from app.config import settings as global_settings
|
||||
from app.utils.singleton import SingletonMetaNoArgs
|
||||
|
||||
logger = AppStructLogger().get_logger()
|
||||
logger = Rotoger().get_logger()
|
||||
|
||||
|
||||
@define
|
||||
|
||||
@@ -29,7 +29,7 @@ dependencies = [
|
||||
"polyfactory>=2.22.2",
|
||||
"granian>=2.5.4",
|
||||
"apscheduler[redis,sqlalchemy]>=4.0.0a6",
|
||||
"rotoger",
|
||||
"rotoger>=0.1.1",
|
||||
]
|
||||
|
||||
[tool.uv]
|
||||
|
||||
8
uv.lock
generated
8
uv.lock
generated
@@ -535,7 +535,7 @@ requires-dist = [
|
||||
{ name = "python-multipart", specifier = ">=0.0.20" },
|
||||
{ name = "redis", specifier = ">=6.4.0" },
|
||||
{ name = "rich", specifier = ">=14.1.0" },
|
||||
{ name = "rotoger" },
|
||||
{ name = "rotoger", specifier = ">=0.1.1" },
|
||||
{ name = "sqlalchemy", specifier = ">=2.0.43" },
|
||||
{ name = "uvicorn", extras = ["standard"], specifier = ">=0.36.0" },
|
||||
{ name = "uvloop", specifier = ">=0.21.0" },
|
||||
@@ -1571,7 +1571,7 @@ wheels = [
|
||||
|
||||
[[package]]
|
||||
name = "rotoger"
|
||||
version = "0.2.0"
|
||||
version = "0.1.1"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
dependencies = [
|
||||
{ name = "attrs" },
|
||||
@@ -1579,9 +1579,9 @@ dependencies = [
|
||||
{ name = "structlog" },
|
||||
{ name = "whenever" },
|
||||
]
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/b8/d7/a8436ca0d01a08c536bd06650d399dd727283f1481fa0440df8806e0725a/rotoger-0.2.0.tar.gz", hash = "sha256:8350ff309755d1a29333200718faa88f15582a10725a12d41562931e1f0cde6b", size = 1795, upload-time = "2025-07-27T12:25:37.616Z" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/af/06/b31ae921c6eabc4b4d997722bb074ce3cb97b05abf61d0343c10d383a3fe/rotoger-0.1.1.tar.gz", hash = "sha256:5597cdf53b86c1f8b2504b59734a8b7dc7ac6b454c891f8312fe04eaaedc5897", size = 1741, upload-time = "2025-10-14T08:48:28.921Z" }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/b1/26/11b83c7b92e8435e05c422a9c3d893c2d0d0d7a04369e1fbf2c07b36eb14/rotoger-0.2.0-py3-none-any.whl", hash = "sha256:33f19777b283da97b6da8c6f8d895126b750ed21b17d724e6e5e9db240673c29", size = 2728, upload-time = "2025-07-27T12:25:36.777Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/b0/83/cda0c2e99112600163809037e3109fadad8651167ef0f336f58c3b4b8fc9/rotoger-0.1.1-py3-none-any.whl", hash = "sha256:64e19316d26d4dd64e388960bce9f5f9c30718dd9ec03a09563539695ae2e2a6", size = 2671, upload-time = "2025-10-14T08:48:27.799Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
||||
Reference in New Issue
Block a user