Files
115reelay/pyproject.toml
DerrorsandClaude Code d27857c4d4 fix: 修复电驴电影探测并发布 v1.5.2
统一电影选片的季集字段,修正空季集摘要并补齐回归测试。

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-11-04 23:19:16 +08:00

87 lines
2.6 KiB
TOML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[build-system]
requires = ["setuptools>=77"]
build-backend = "setuptools.build_meta"
[project]
name = "reelay"
version = "1.5.2"
description = "自托管的 Telegram → 115 网盘自动转存:AI 识别分享链接,审批后转存并按媒体库规范整理入库。"
readme = "README.md"
requires-python = ">=3.12"
license = "MIT"
license-files = ["LICENSE"]
authors = [{ name = "Derrors" }]
keywords = ["telegram", "115", "media-library", "jellyfin", "emby", "llm", "self-hosted"]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Environment :: Web Environment",
"Framework :: AsyncIO",
"Framework :: FastAPI",
"Intended Audience :: End Users/Desktop",
"Natural Language :: Chinese (Simplified)",
"Operating System :: MacOS",
"Operating System :: POSIX :: Linux",
"Programming Language :: Python :: 3.12",
"Topic :: Multimedia :: Video",
]
dependencies = [
"Jinja2>=3.1,<4",
# 配置文件与媒体库整理的二级分类规则(category.yaml)
"PyYAML>=6.0,<7",
]
# 上限是已验证的大版本;Docker 镜像与 CI 按 constraints.txt 安装确切版本(更新方法见 CONTRIBUTING.md)
[project.optional-dependencies]
# 接入真实能力时安装:pip install -e ".[full]"
full = [
"telethon>=1.36,<2",
"p115client==0.0.9.6.5.1",
# p115client 未给传递依赖设上限;0.1.9 起移除了它导入的 threadpool_map
"python-concurrenttools==0.1.8",
"qrcode>=7.4,<9",
"openai>=1.40,<4",
# 网络代理:Telegram(Telethon)走代理要 python-socks,AI 与 TMDB(httpx2)走 SOCKS5 代理要 socksio
"python-socks>=2.5,<3",
"socksio>=1,<2",
]
web = [
"fastapi>=0.115,<1",
"uvicorn[standard]>=0.30,<1",
]
agent = ["mcp>=2,<3"]
all = ["reelay[full,web,agent]"]
# 开发与 CI:pip install -e ".[all,dev]"
dev = [
"ruff>=0.15,<1",
"pre-commit>=4,<5",
"httpx2>=2,<3", # starlette TestClient
]
[project.urls]
Homepage = "https://github.com/Derrors/reelay"
Issues = "https://github.com/Derrors/reelay/issues"
Changelog = "https://github.com/Derrors/reelay/blob/main/CHANGELOG.md"
[project.scripts]
reelay = "reelay.main:main"
reelay-web = "reelay.web:main"
reelay-mcp = "reelay.mcp_server:main"
reelay-eval = "reelay.eval:main"
[tool.setuptools.packages.find]
include = ["reelay*"]
[tool.setuptools.package-data]
# 插件随包发布的数据文件,如媒体库整理的二级分类规则
"reelay.plugins" = ["*/*.yaml"]
[tool.ruff]
line-length = 120
target-version = "py312"
extend-exclude = ["web"]
[tool.ruff.lint]
select = ["E4", "E7", "E9", "F", "B"]
# FastAPI 的 Query()/Depends() 作为参数默认值是框架惯用法
ignore = ["B008"]