# pyproject.toml [project] name = "ocr-gateway" version = "0.0.0" requires-python = ">=3.10,<3.12" dependencies = [ "fastapi", "uvicorn[standard]", "pytesseract", "pdf2image", "PyMuPDF", "python-docx", "Pillow", "aiofiles", "httpx", "snowflake-id", "prometheus-fastapi-instrumentator", "python-multipart", "redis", "celery", "minio", "opencv-python-headless", "python-dotenv", "requests", ] [project.optional-dependencies] test = [ "pytest>=8", "pytest-cov", "anyio", ] [tool.ruff] # 공통 설정 line-length = 120 indent-width = 4 exclude = [ ".bzr", ".direnv", ".eggs", ".git", ".git-rewrite", ".hg", ".mypy_cache", ".nox", ".pants.d", ".pytype", ".ruff_cache", ".svn", ".tox", ".venv", "__pypackages__", "_build", "buck-out", "build", "dist", "node_modules", "venv", ] [tool.ruff.lint] # 기본적으로 Pyflakes('F')와 pycodestyle('E') 코드의 하위 집합을 활성화 select = ["E4", "E7", "E9", "F"] ignore = [] # 활성화된 모든 규칙에 대한 수정 허용 fixable = ["ALL"] unfixable = [] # 밑줄 접두사가 붙은 경우 사용하지 않는 변수를 허용 dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-A-Z0-9_]*[a-zA-Z0-9]+?))$" [tool.ruff.format] quote-style = "double" indent-style = "space" skip-magic-trailing-comma = false line-ending = "auto" docstring-code-format = false docstring-code-line-length = "dynamic" [tool.pytest.ini_options] markers = [ "integration: mark a test as an integration test.", "e2e: mark a test as an end-to-end test.", "gpu: mark a test as gpu dependent.", "minio: mark a test as requiring MinIO.", ] filterwarnings = [ "ignore::DeprecationWarning", ] [tool.setuptools] py-modules = ["api", "tasks"] packages = ["config", "router", "utils"]