[project] name = "o2o-castad-backend" version = "0.1.0" description = "Add your description here" readme = "README.md" requires-python = "==3.13.11" dependencies = [ "aiofiles>=25.1.0", "aiohttp>=3.13.2", "aiomysql>=0.3.2", "asyncmy>=0.2.11", "beautifulsoup4>=4.14.3", "fastapi-cli>=0.0.16", "fastapi[standard]>=0.125.0", "gspread>=6.2.1", # 썰박스 생성 엔진(generator/) 전용 — subprocess 로 실행되지만 같은 venv 를 쓴다 "google-genai>=1.0", # 대본·이미지·음성 생성 "imageio-ffmpeg>=0.5", # ffmpeg 바이너리 (영상 렌더) "openai>=2.13.0", "pillow>=10.0", # 자막·이미지 합성 "playwright>=1.57.0", "pydantic-settings>=2.12.0", "python-dotenv>=1.0.0", "python-jose[cryptography]>=3.5.0", "python-multipart>=0.0.21", "redis>=7.1.0", "ruff>=0.14.9", "scalar-fastapi>=1.6.1", "sqladmin[full]>=0.22.0", "sqlalchemy[asyncio]>=2.0.50", "uuid7>=0.1.0", ] [dependency-groups] dev = [ "pytest>=9.0.2", "pytest-asyncio>=1.3.0", # Windows 로컬 개발 전용. 리눅스 배포 컨테이너는 /usr/share/zoneinfo 를 쓰므로 # 불필요하다(compose 에서 TZ=Asia/Seoul 설정). Windows 에는 시스템 tz DB 가 없어 # config.py 의 ZoneInfo("Asia/Seoul") 이 실패한다. # 배포는 `uv pip install .` 라 dev 그룹을 설치하지 않는다. "tzdata>=2025.1; sys_platform == 'win32'", ] [build-system] requires = ["setuptools>=61.0"] build-backend = "setuptools.build_meta" [tool.setuptools.packages.find] include = ["app*"] exclude = ["media*", "static*"]