[project] name = "learn-indonesian-backend" version = "0.1.0" description = "FastAPI backend for Indonesian learning app" authors = [ {name = "Your Name", email = "your.email@example.com"}, ] dependencies = [ "fastapi>=0.104.1", "uvicorn>=0.24.0", "pydantic>=2.5.0", "python-multipart>=0.0.6", "google-cloud-speech>=2.21.0", "google-cloud-texttospeech>=2.14.2", "openai>=1.0.0", "websockets>=11.0.3", "python-dotenv>=1.0.0", ] requires-python = ">=3.11" license = {text = "MIT"} [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["."] [tool.ruff] target-version = "py311" line-length = 88 select = [ "E", # pycodestyle errors "W", # pycodestyle warnings "F", # pyflakes "I", # isort "B", # flake8-bugbear "C4", # flake8-comprehensions "UP", # pyupgrade ] ignore = [ "E501", # line too long, handled by black "B008", # do not perform function calls in argument defaults "C901", # too complex ] [tool.ruff.per-file-ignores] "__init__.py" = ["F401"] [tool.ruff.isort] known-first-party = ["app"] [tool.ruff.format] quote-style = "double" indent-style = "space" skip-magic-trailing-comma = false line-ending = "auto" [tool.uv] dev-dependencies = [ "ruff>=0.1.6", "pytest>=7.4.3", "pytest-asyncio>=0.21.1", "httpx>=0.25.2", ]