💬 Commit message: Update 2026-02-15 17:55:57, 7 files, 47 lines
📁 Files changed: 7 📝 Lines changed: 47 • pyproject.toml • __init__.py • civitai_routes.py • db_routes.py • download_routes.py • gallery_routes.py • uv.lock
This commit is contained in:
@@ -7,6 +7,7 @@ from contextlib import asynccontextmanager
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from fastapi import FastAPI
|
||||
from scalar_fastapi import get_scalar_api_reference
|
||||
|
||||
from tensors.server.civitai_routes import create_civitai_router
|
||||
from tensors.server.db_routes import create_db_router
|
||||
@@ -16,6 +17,8 @@ from tensors.server.gallery_routes import create_gallery_router
|
||||
if TYPE_CHECKING:
|
||||
from collections.abc import AsyncIterator
|
||||
|
||||
from fastapi.responses import HTMLResponse
|
||||
|
||||
__all__ = ["app", "create_app"]
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
@@ -29,12 +32,26 @@ def create_app() -> FastAPI:
|
||||
logger.info("Tensors server starting")
|
||||
yield
|
||||
|
||||
app = FastAPI(title="tensors", lifespan=lifespan)
|
||||
app = FastAPI(
|
||||
title="tensors",
|
||||
description="API for CivitAI model management and image gallery",
|
||||
version="0.1.16",
|
||||
lifespan=lifespan,
|
||||
docs_url=None,
|
||||
redoc_url=None,
|
||||
)
|
||||
|
||||
@app.get("/status")
|
||||
async def status() -> dict[str, str]:
|
||||
return {"status": "ok"}
|
||||
|
||||
@app.get("/docs", include_in_schema=False)
|
||||
async def scalar_docs() -> HTMLResponse:
|
||||
return get_scalar_api_reference(
|
||||
openapi_url=app.openapi_url or "/openapi.json",
|
||||
title="tensors API",
|
||||
)
|
||||
|
||||
app.include_router(create_civitai_router())
|
||||
app.include_router(create_db_router())
|
||||
app.include_router(create_gallery_router())
|
||||
|
||||
@@ -14,7 +14,7 @@ from tensors.db import Database
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
router = APIRouter(prefix="/api/civitai", tags=["civitai"])
|
||||
router = APIRouter(prefix="/api/civitai", tags=["CivitAI"])
|
||||
|
||||
|
||||
def _get_headers(api_key: str | None) -> dict[str, str]:
|
||||
|
||||
@@ -15,7 +15,7 @@ from tensors.db import Database
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
router = APIRouter(prefix="/api/db", tags=["database"])
|
||||
router = APIRouter(prefix="/api/db", tags=["Database"])
|
||||
|
||||
|
||||
# =============================================================================
|
||||
|
||||
@@ -15,7 +15,7 @@ from tensors.db import Database
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
router = APIRouter(prefix="/api/download", tags=["download"])
|
||||
router = APIRouter(prefix="/api/download", tags=["Download"])
|
||||
|
||||
# Track active downloads
|
||||
_active_downloads: dict[str, dict[str, Any]] = {}
|
||||
|
||||
@@ -13,7 +13,7 @@ from tensors.server.gallery import Gallery
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
router = APIRouter(prefix="/api/images", tags=["gallery"])
|
||||
router = APIRouter(prefix="/api/images", tags=["Gallery"])
|
||||
|
||||
# Shared gallery instance
|
||||
_gallery: Gallery | None = None
|
||||
|
||||
Reference in New Issue
Block a user