| [project] |
| name = "shopify-support-bot" |
| version = "0.1.0" |
| description = "Embeddable Shopify support chatbot (info RAG + order tracking) on free LLMs" |
| requires-python = ">=3.12,<3.13" |
| dependencies = [ |
| "fastapi>=0.115", |
| "uvicorn[standard]>=0.32", |
| "pydantic>=2.9", |
| "pydantic-settings>=2.6", |
| "sqlalchemy[asyncio]>=2.0", |
| "psycopg[binary]>=3.2", |
| "pgvector>=0.3", |
| "alembic>=1.14", |
| "httpx>=0.28", |
| "fastembed>=0.4", |
| "pypdf>=5.1", |
| "openpyxl>=3.1", |
| "python-docx>=1.1", |
| "selectolax>=0.3.25", |
| "python-multipart>=0.0.12", |
| "tenacity>=9.0", |
| "anyio>=4.6", |
| "cryptography>=48.0.0", |
| "langdetect>=1.0.9", |
| "ddgs>=9.14.4", |
| ] |
|
|
| [dependency-groups] |
| dev = [ |
| "pytest>=8.3", |
| "pytest-asyncio>=0.24", |
| "respx>=0.22", |
| "aiosqlite>=0.20", |
| "ruff>=0.8", |
| "fpdf2>=2.8", |
| ] |
|
|
| [tool.pytest.ini_options] |
| asyncio_mode = "auto" |
| pythonpath = ["."] |
| testpaths = ["tests"] |
| filterwarnings = ["ignore::DeprecationWarning"] |
| markers = [ |
| "slow: tests that download/load the embedding model", |
| ] |
|
|
| [tool.ruff] |
| line-length = 100 |
| target-version = "py312" |
|
|
| [tool.ruff.lint] |
| select = ["E", "F", "I", "UP", "B"] |
|
|
| [tool.ruff.lint.per-file-ignores] |
| "tests/**" = ["E501"] |
|
|
| [tool.ruff.lint.flake8-bugbear] |
| |
| extend-immutable-calls = [ |
| "fastapi.Depends", |
| "fastapi.File", |
| "fastapi.Header", |
| "fastapi.Query", |
| "fastapi.Form", |
| ] |
|
|
| [tool.uv] |
| package = false |
|
|