mirror of
https://github.com/grillazz/fastapi-sqlalchemy-asyncpg.git
synced 2025-11-30 13:20:40 +03:00
Merge pull request #225 from grillazz/switch-logger-to-rotoger
update rotoger to 0.2.1
This commit is contained in:
@@ -2,12 +2,12 @@ from typing import Annotated
|
|||||||
|
|
||||||
from fastapi import APIRouter, Depends, Query, Request, status
|
from fastapi import APIRouter, Depends, Query, Request, status
|
||||||
from pydantic import EmailStr
|
from pydantic import EmailStr
|
||||||
from rotoger import Rotoger
|
from rotoger import get_logger
|
||||||
from starlette.concurrency import run_in_threadpool
|
from starlette.concurrency import run_in_threadpool
|
||||||
|
|
||||||
from app.services.smtp import SMTPEmailService
|
from app.services.smtp import SMTPEmailService
|
||||||
|
|
||||||
logger = Rotoger().get_logger()
|
logger = get_logger()
|
||||||
|
|
||||||
router = APIRouter()
|
router = APIRouter()
|
||||||
|
|
||||||
|
|||||||
@@ -2,11 +2,11 @@ from typing import Annotated
|
|||||||
|
|
||||||
from fastapi import APIRouter, Depends, Form
|
from fastapi import APIRouter, Depends, Form
|
||||||
from fastapi.responses import StreamingResponse
|
from fastapi.responses import StreamingResponse
|
||||||
from rotoger import Rotoger
|
from rotoger import get_logger
|
||||||
|
|
||||||
from app.services.llm import get_llm_service
|
from app.services.llm import get_llm_service
|
||||||
|
|
||||||
logger = Rotoger().get_logger()
|
logger = get_logger()
|
||||||
|
|
||||||
router = APIRouter()
|
router = APIRouter()
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
from fastapi import APIRouter, Depends, HTTPException, Request, status
|
from fastapi import APIRouter, Depends, HTTPException, Request, status
|
||||||
from rotoger import Rotoger
|
from rotoger import get_logger
|
||||||
from sqlalchemy.exc import SQLAlchemyError
|
from sqlalchemy.exc import SQLAlchemyError
|
||||||
from sqlalchemy.ext.asyncio import AsyncSession
|
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 RandomStuff as RandomStuffSchema
|
||||||
from app.schemas.stuff import StuffResponse, StuffSchema
|
from app.schemas.stuff import StuffResponse, StuffSchema
|
||||||
|
|
||||||
logger = Rotoger().get_logger()
|
logger = get_logger()
|
||||||
|
|
||||||
router = APIRouter(prefix="/v1/stuff")
|
router = APIRouter(prefix="/v1/stuff")
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
from typing import Annotated
|
from typing import Annotated
|
||||||
|
|
||||||
from fastapi import APIRouter, Depends, Form, HTTPException, Request, status
|
from fastapi import APIRouter, Depends, Form, HTTPException, Request, status
|
||||||
from rotoger import Rotoger
|
from rotoger import get_logger
|
||||||
from sqlalchemy.ext.asyncio import AsyncSession
|
from sqlalchemy.ext.asyncio import AsyncSession
|
||||||
|
|
||||||
from app.database import get_db
|
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.schemas.user import TokenResponse, UserLogin, UserResponse, UserSchema
|
||||||
from app.services.auth import create_access_token
|
from app.services.auth import create_access_token
|
||||||
|
|
||||||
logger = Rotoger().get_logger()
|
logger = get_logger()
|
||||||
|
|
||||||
router = APIRouter(prefix="/v1/user")
|
router = APIRouter(prefix="/v1/user")
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
from collections.abc import AsyncGenerator
|
from collections.abc import AsyncGenerator
|
||||||
|
|
||||||
from fastapi.exceptions import ResponseValidationError
|
from fastapi.exceptions import ResponseValidationError
|
||||||
from rotoger import Rotoger
|
from rotoger import get_logger
|
||||||
from sqlalchemy.exc import SQLAlchemyError
|
from sqlalchemy.exc import SQLAlchemyError
|
||||||
from sqlalchemy.ext.asyncio import async_sessionmaker, create_async_engine
|
from sqlalchemy.ext.asyncio import async_sessionmaker, create_async_engine
|
||||||
|
|
||||||
from app.config import settings as global_settings
|
from app.config import settings as global_settings
|
||||||
|
|
||||||
logger = Rotoger().get_logger()
|
logger = get_logger()
|
||||||
|
|
||||||
engine = create_async_engine(
|
engine = create_async_engine(
|
||||||
global_settings.asyncpg_url.unicode_string(),
|
global_settings.asyncpg_url.unicode_string(),
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import orjson
|
import orjson
|
||||||
from attrs import define, field
|
from attrs import define, field
|
||||||
from fastapi import Request
|
from fastapi import Request
|
||||||
from rotoger import Rotoger
|
from rotoger import get_logger
|
||||||
|
|
||||||
logger = Rotoger().get_logger()
|
logger = get_logger()
|
||||||
|
|
||||||
|
|
||||||
@define(slots=True)
|
@define(slots=True)
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import asyncpg
|
|||||||
from fastapi import Depends, FastAPI, Request
|
from fastapi import Depends, FastAPI, Request
|
||||||
from fastapi.responses import HTMLResponse
|
from fastapi.responses import HTMLResponse
|
||||||
from fastapi.templating import Jinja2Templates
|
from fastapi.templating import Jinja2Templates
|
||||||
from rotoger import Rotoger
|
from rotoger import get_logger
|
||||||
|
|
||||||
from app.api.health import router as health_router
|
from app.api.health import router as health_router
|
||||||
from app.api.ml import router as ml_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.redis import get_redis
|
||||||
from app.services.auth import AuthBearer
|
from app.services.auth import AuthBearer
|
||||||
|
|
||||||
logger = Rotoger().get_logger()
|
logger = get_logger()
|
||||||
templates = Jinja2Templates(directory=Path(__file__).parent.parent / "templates")
|
templates = Jinja2Templates(directory=Path(__file__).parent.parent / "templates")
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -2,12 +2,12 @@ from typing import Any
|
|||||||
|
|
||||||
from asyncpg import UniqueViolationError
|
from asyncpg import UniqueViolationError
|
||||||
from fastapi import HTTPException, status
|
from fastapi import HTTPException, status
|
||||||
from rotoger import Rotoger
|
from rotoger import get_logger
|
||||||
from sqlalchemy.exc import IntegrityError, SQLAlchemyError
|
from sqlalchemy.exc import IntegrityError, SQLAlchemyError
|
||||||
from sqlalchemy.ext.asyncio import AsyncSession
|
from sqlalchemy.ext.asyncio import AsyncSession
|
||||||
from sqlalchemy.orm import DeclarativeBase, declared_attr
|
from sqlalchemy.orm import DeclarativeBase, declared_attr
|
||||||
|
|
||||||
logger = Rotoger().get_logger()
|
logger = get_logger()
|
||||||
|
|
||||||
|
|
||||||
class Base(DeclarativeBase):
|
class Base(DeclarativeBase):
|
||||||
|
|||||||
@@ -3,12 +3,12 @@ import time
|
|||||||
import jwt
|
import jwt
|
||||||
from fastapi import HTTPException, Request
|
from fastapi import HTTPException, Request
|
||||||
from fastapi.security import HTTPAuthorizationCredentials, HTTPBearer
|
from fastapi.security import HTTPAuthorizationCredentials, HTTPBearer
|
||||||
from rotoger import Rotoger
|
from rotoger import get_logger
|
||||||
|
|
||||||
from app.config import settings as global_settings
|
from app.config import settings as global_settings
|
||||||
from app.models.user import User
|
from app.models.user import User
|
||||||
|
|
||||||
logger = Rotoger().get_logger()
|
logger = get_logger()
|
||||||
|
|
||||||
|
|
||||||
async def get_from_redis(request: Request, key: str):
|
async def get_from_redis(request: Request, key: str):
|
||||||
|
|||||||
@@ -3,13 +3,13 @@ from datetime import datetime
|
|||||||
from apscheduler import AsyncScheduler
|
from apscheduler import AsyncScheduler
|
||||||
from apscheduler.triggers.interval import IntervalTrigger
|
from apscheduler.triggers.interval import IntervalTrigger
|
||||||
from attrs import define
|
from attrs import define
|
||||||
|
from rotoger import get_logger
|
||||||
from sqlalchemy import text
|
from sqlalchemy import text
|
||||||
from starlette.types import ASGIApp, Receive, Scope, Send
|
from starlette.types import ASGIApp, Receive, Scope, Send
|
||||||
|
|
||||||
from app.database import AsyncSessionFactory
|
from app.database import AsyncSessionFactory
|
||||||
from app.utils.logging import AppLogger
|
|
||||||
|
|
||||||
logger = AppLogger().get_logger()
|
logger = get_logger()
|
||||||
|
|
||||||
|
|
||||||
async def tick():
|
async def tick():
|
||||||
|
|||||||
@@ -5,12 +5,12 @@ from email.mime.text import MIMEText
|
|||||||
from attrs import define, field
|
from attrs import define, field
|
||||||
from fastapi.templating import Jinja2Templates
|
from fastapi.templating import Jinja2Templates
|
||||||
from pydantic import EmailStr
|
from pydantic import EmailStr
|
||||||
from rotoger import Rotoger
|
from rotoger import get_logger
|
||||||
|
|
||||||
from app.config import settings as global_settings
|
from app.config import settings as global_settings
|
||||||
from app.utils.singleton import SingletonMetaNoArgs
|
from app.utils.singleton import SingletonMetaNoArgs
|
||||||
|
|
||||||
logger = Rotoger().get_logger()
|
logger = get_logger()
|
||||||
|
|
||||||
|
|
||||||
@define
|
@define
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ dependencies = [
|
|||||||
"polyfactory>=2.22.2",
|
"polyfactory>=2.22.2",
|
||||||
"granian>=2.5.4",
|
"granian>=2.5.4",
|
||||||
"apscheduler[redis,sqlalchemy]>=4.0.0a6",
|
"apscheduler[redis,sqlalchemy]>=4.0.0a6",
|
||||||
"rotoger==0.1.1",
|
"rotoger==0.2.1",
|
||||||
]
|
]
|
||||||
|
|
||||||
[tool.uv]
|
[tool.uv]
|
||||||
|
|||||||
8
uv.lock
generated
8
uv.lock
generated
@@ -526,7 +526,7 @@ requires-dist = [
|
|||||||
{ name = "python-multipart", specifier = ">=0.0.20" },
|
{ name = "python-multipart", specifier = ">=0.0.20" },
|
||||||
{ name = "redis", specifier = ">=6.4.0" },
|
{ name = "redis", specifier = ">=6.4.0" },
|
||||||
{ name = "rich", specifier = ">=14.1.0" },
|
{ name = "rich", specifier = ">=14.1.0" },
|
||||||
{ name = "rotoger", specifier = "==0.1.1" },
|
{ name = "rotoger", specifier = "==0.2.1" },
|
||||||
{ name = "sqlalchemy", specifier = "==2.0.44" },
|
{ name = "sqlalchemy", specifier = "==2.0.44" },
|
||||||
{ name = "uvicorn", specifier = "==0.38.0" },
|
{ name = "uvicorn", specifier = "==0.38.0" },
|
||||||
{ name = "uvloop", specifier = ">=0.21.0" },
|
{ name = "uvloop", specifier = ">=0.21.0" },
|
||||||
@@ -1538,7 +1538,7 @@ wheels = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rotoger"
|
name = "rotoger"
|
||||||
version = "0.1.1"
|
version = "0.2.1"
|
||||||
source = { registry = "https://pypi.org/simple" }
|
source = { registry = "https://pypi.org/simple" }
|
||||||
dependencies = [
|
dependencies = [
|
||||||
{ name = "attrs" },
|
{ name = "attrs" },
|
||||||
@@ -1546,9 +1546,9 @@ dependencies = [
|
|||||||
{ name = "structlog" },
|
{ name = "structlog" },
|
||||||
{ name = "whenever" },
|
{ name = "whenever" },
|
||||||
]
|
]
|
||||||
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" }
|
sdist = { url = "https://files.pythonhosted.org/packages/9d/ad/75a22ddd259505547fd47c36ea984688e3b56d9cbc49c0f98bb95c84c01b/rotoger-0.2.1.tar.gz", hash = "sha256:823bb39c781d6038d2aae1c2c3f6d74c0abb1e9f07b257c079028d6ae3f2589d", size = 1647, upload-time = "2025-11-13T16:12:27.833Z" }
|
||||||
wheels = [
|
wheels = [
|
||||||
{ 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" },
|
{ url = "https://files.pythonhosted.org/packages/e7/da/9422061c62499eaafcf90c4adf3e13c51031d4b593af899451825fa85a7b/rotoger-0.2.1-py3-none-any.whl", hash = "sha256:849ed131068ab724991c38c32fb63e4904efb79e29bf084f37ec11a31ec0c703", size = 2603, upload-time = "2025-11-13T16:12:26.895Z" },
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
|||||||
Reference in New Issue
Block a user