build: 打通 FastAPI 与 Vue 最小工程、依赖与数据库连接
后端入口、配置、Redis 与 Alembic 迁移就位;前端 Vite 工程可安装可构建。
This commit is contained in:
1 parent
fb0ddca4de
commit
2aee6286d6
167 files changed
+26082
No files matched your search
@@ -0,0 +1,130 @@
|
||||
# Web Framework
|
||||
# fastapi and starlette are pinned for reproducible builds; bump them together and
|
||||
# run the API suite. fastapi only requires starlette>=0.46.0 (no upper bound).
|
||||
# starlette must stay >=1.3.1: that release enforces the request.form() limits
|
||||
# for urlencoded bodies (GHSA-82w8-qh3p-5jfq).
|
||||
# (The earlier "fastapi 0.138.0 breaks error handling" note was the takeover
|
||||
# tests' route-swap hack becoming live, not a framework regression; the hack is gone.)
|
||||
fastapi==0.137.2
|
||||
starlette==1.6.0
|
||||
uvicorn
|
||||
python-socketio
|
||||
websockets
|
||||
|
||||
# Database
|
||||
sqlalchemy
|
||||
alembic
|
||||
psycopg[binary]>=3.1.0
|
||||
asyncpg
|
||||
|
||||
# Authentication & Security
|
||||
python-jose[cryptography]
|
||||
passlib[bcrypt]
|
||||
bcrypt>=3.2.0,<4.0.0
|
||||
python-multipart
|
||||
|
||||
# Environment & Config
|
||||
python-dotenv
|
||||
pydantic>=2.0.0
|
||||
pydantic-settings>=2.0.0
|
||||
|
||||
# Utilities
|
||||
email-validator
|
||||
python-dateutil
|
||||
requests
|
||||
beautifulsoup4
|
||||
|
||||
# Testing
|
||||
pytest
|
||||
pytest-asyncio
|
||||
pytest-cov==4.1.0
|
||||
pytest-mock
|
||||
coverage==7.4.1
|
||||
|
||||
|
||||
# Sentiment Analysis
|
||||
textblob
|
||||
|
||||
#ai
|
||||
openai
|
||||
agno==1.7.6
|
||||
duckduckgo-search
|
||||
pypdf
|
||||
pgvector
|
||||
|
||||
google-generativeai
|
||||
google-cloud-aiplatform
|
||||
ollama
|
||||
anthropic
|
||||
mistralai<2 # agno 1.7.6 uses the mistralai 1.x API (mistralai.models); 2.x breaks the import
|
||||
|
||||
#ocr
|
||||
rapidocr-onnxruntime==1.4.4
|
||||
onnxruntime==1.23.0
|
||||
opencv-python==4.12.0.88
|
||||
|
||||
#pdf
|
||||
pypdf
|
||||
|
||||
pytz
|
||||
|
||||
firebase_admin
|
||||
beautifulsoup4
|
||||
aiofiles
|
||||
|
||||
# help-center article rendering: FAQ answers are authored/stored as Markdown and
|
||||
# rendered to sanitized HTML on the public page (markdown -> nh3 allowlist clean).
|
||||
markdown
|
||||
nh3
|
||||
# help-center article import: crawled help pages are converted HTML -> Markdown
|
||||
# (subclassed converter re-hosts images and absolutizes links inline).
|
||||
markdownify
|
||||
|
||||
gunicorn
|
||||
|
||||
redis
|
||||
|
||||
|
||||
aiohttp
|
||||
|
||||
bs4
|
||||
|
||||
boto3
|
||||
|
||||
groq
|
||||
|
||||
# Embeddings run on fastembed (ONNX); no torch/transformers stack is installed.
|
||||
fastembed==0.7.3
|
||||
|
||||
# Shopify API
|
||||
ShopifyAPI
|
||||
|
||||
# Razorpay payment gateway
|
||||
razorpay
|
||||
|
||||
# Pinned below 2.0: mcp 2.0.0 (2026-07-28) dropped streamablehttp_client from
|
||||
# mcp.client.streamable_http, which the pinned agno==1.7.6 imports at module
|
||||
# scope. agno catches the failure and re-raises it as "`mcp` not installed",
|
||||
# so an unpinned install breaks every import of app.main with a message that
|
||||
# points at the wrong problem. Lift this together with the agno 2.x upgrade.
|
||||
mcp<2
|
||||
|
||||
# UV tool runner for Python-based MCP servers
|
||||
uv
|
||||
|
||||
# Web Crawling
|
||||
httpx
|
||||
# pyOpenSSL and cryptography move together: each pyOpenSSL release bounds the
|
||||
# cryptography versions it accepts (26.4 needs >=49,<51).
|
||||
pyOpenSSL==26.4.0
|
||||
cryptography==50.0.1
|
||||
# 0.7.x hard-required sentence-transformers (and with it torch); 0.9 dropped that.
|
||||
crawl4ai>=0.9
|
||||
|
||||
# Help center (public SSR templates + custom-domain DNS verification)
|
||||
jinja2
|
||||
dnspython
|
||||
sqlglot>=30.0
|
||||
pymysql>=1.1
|
||||
sshtunnel>=0.4.0
|
||||
paramiko>=3.4,<4
|
||||
Reference in new issue
Block a user