mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-05-13 07:26:45 +00:00
为 AsyncRequestUtils 增加 http2: bool = True 参数(默认开启), 内部贯穿到 _get_shared_async_transport 与 path C 兜底 AsyncClient。 http2 加入共享 AsyncHTTPTransport 桶 key,让不同 h2 设置自动隔离。 启用基于 TLS ALPN:服务端宣告支持 h2 时切到 HTTP/2 多路复用; 不支持(含明文 HTTP、老 nginx/Apache)透明回落 HTTP/1.1。如个别 站点 h2 实现异常,调用方传 http2=False 单独关闭。 依赖:httpx extras 由 [socks] 扩展为 [socks,http2],引入纯 Python 包 h2 / hpack / hyperframe(无原生扩展)。 真实 TMDB 压测(30 部美剧 × 每部 50 集 = 3060 请求/版本): HTTP/1.1 52.0s → HTTP/2 27.6s,节省 24.4s(1.88×)。 单请求 p95 由 96.1ms 降至 20.1ms,长尾大幅收敛。 公共 API 表面零变动;插件可按需 http2=False 单点关闭。
93 lines
1.7 KiB
Plaintext
93 lines
1.7 KiB
Plaintext
Cython~=3.1.2
|
|
pydantic>=2.0.0,<3.0.0
|
|
pydantic-settings>=2.0.0,<3.0.0
|
|
SQLAlchemy~=2.0.41
|
|
uvicorn~=0.34.3
|
|
fastapi~=0.115.14
|
|
passlib~=1.7.4
|
|
PyJWT~=2.10.1
|
|
python-multipart~=0.0.9
|
|
aiofiles~=24.1.0
|
|
aioshutil~=1.5
|
|
alembic~=1.16.2
|
|
anyio~=4.10.0
|
|
bcrypt~=4.0.1
|
|
regex~=2024.11.6
|
|
cn2an~=0.5.19
|
|
dateparser~=1.2.2
|
|
python-dateutil~=2.8.2
|
|
zhconv~=1.4.3
|
|
anitopy~=2.1.1
|
|
requests[socks]~=2.32.4
|
|
urllib3~=2.5.0
|
|
lxml~=6.0.0
|
|
pyquery~=2.0.1
|
|
ruamel.yaml~=0.18.14
|
|
PyYAML~=6.0.2
|
|
APScheduler~=3.11.0
|
|
cryptography~=45.0.4
|
|
pytz~=2025.2
|
|
pycryptodome~=3.23.0
|
|
qbittorrent-api==2026.5.1
|
|
plexapi~=4.17.0
|
|
transmission-rpc~=4.3.0
|
|
Jinja2~=3.1.6
|
|
pyparsing~=3.2.3
|
|
beautifulsoup4~=4.13.4
|
|
pillow~=12.1.1
|
|
pillow-avif-plugin~=1.5.2
|
|
pyTelegramBotAPI~=4.27.0
|
|
telegramify-markdown~=0.5.2
|
|
playwright~=1.53.0
|
|
cf_clearance~=0.31.0
|
|
torrentool~=1.2.0
|
|
slack-bolt~=1.23.0
|
|
slack-sdk~=3.35.0
|
|
discord.py==2.6.4
|
|
chardet~=5.2.0
|
|
starlette~=0.46.2
|
|
PyVirtualDisplay~=3.0
|
|
psutil~=7.0.0
|
|
python-dotenv~=1.1.1
|
|
watchdog~=6.0.0
|
|
watchfiles~=1.1.0
|
|
click~=8.2.1
|
|
parse~=1.20.2
|
|
docker~=7.1.0
|
|
pywin32==310; platform_system == "Windows"
|
|
cachetools~=6.1.0
|
|
pystray~=0.19.5
|
|
pyotp~=2.9.0
|
|
webauthn~=2.7.0
|
|
Pinyin2Hanzi~=0.1.1
|
|
pywebpush~=2.0.3
|
|
aiosqlite~=0.21.0
|
|
psycopg2-binary~=2.9.10
|
|
asyncpg~=0.30.0
|
|
jieba~=0.42.1
|
|
rsa~=4.9
|
|
redis~=6.2.0
|
|
async_timeout~=5.0.1; python_full_version < "3.11.3"
|
|
packaging~=25.0
|
|
oss2~=2.19.1
|
|
tqdm~=4.67.1
|
|
setuptools~=78.1.0
|
|
pympler~=1.1
|
|
smbprotocol~=1.15.0
|
|
setproctitle~=1.3.6
|
|
httpx[socks,http2]~=0.28.1
|
|
langchain~=1.2.15
|
|
langchain-core~=1.3.2
|
|
langchain-community~=0.4.1
|
|
langchain-anthropic~=1.4.2
|
|
langchain-openai~=1.2.1
|
|
langchain-google-genai~=4.2.2
|
|
langchain-deepseek~=1.0.1
|
|
langgraph~=1.1.9
|
|
anthropic>=0.57,<1
|
|
openai~=2.33.0
|
|
google-genai~=1.74.0
|
|
ddgs~=9.10.0
|
|
websocket-client~=1.8.0
|
|
pytest~=8.4.0
|