[build-system] requires = ["setuptools>=61.0", "wheel"] build-backend = "setuptools.build_meta" [project] name = "rag-chatbot-backend" version = "0.1.0" description = "Backend for RAG Chatbot for Physical AI Textbook" readme = "README.md" requires-python = ">=3.10" license = {text = "MIT"} authors = [ {name = "Physical AI Textbook Team"}, ] dependencies = [ "fastapi>=0.104.1", "uvicorn>=0.24.0", "openai>=1.3.5", "qdrant-client>=1.7.0", "asyncio>=3.4.3", "python-dotenv>=1.0.0", "pydantic>=2.5.0", "sqlalchemy>=2.0.23", "asyncpg>=0.29.0", "psycopg[binary]>=3.1.12", "pyjwt>=2.8.0", "passlib[bcrypt]>=1.7.4", "python-multipart>=0.0.6", "alembic>=1.13.1", "tiktoken>=0.5.1", "sentence-transformers>=2.2.2", "requests>=2.31.0", "aiofiles>=23.2.1", "sse-starlette>=1.8.2", "python-slugify>=8.0.1", "httpx>=0.25.0", ] [project.optional-dependencies] dev = [ "pytest>=7.4.0", "pytest-asyncio>=0.21.0", "pytest-cov>=4.1.0", "black>=23.7.0", "flake8>=6.0.0", "mypy>=1.4.1", "isort>=5.12.0", "pre-commit>=3.3.3", ] [tool.setuptools.packages.find] where = ["."] include = ["backend*"] [tool.pytest.ini_options] testpaths = ["tests"] asyncio_mode = "auto"