# 桌面自管 Python 环境依赖锁版清单(随包 Resources;10-05-desktop-managed-py-env D1/D3;
# 10-06-ai-news-sources 二段扩 llm extras:装机态 enrich 依赖 openai,核心流水线
# 评分面在桌面起死——增量仅 6 轮 openai 系,核心 6 依赖红线不动;
# 10-06-telegram-telethon B4 三段扩 telethon extras:装机态 serve 双线的 telethon
# 用户线依赖,增量 telethon 系 5 轮(telethon/pyaes/rsa/pyasn1/python-socks,
# 纯 Python 轻),既有条目零漂移——diff 实证;
# 2026-10-08 tg-web-line 查漏修复批① G2:+python-socks(Telethon 走 SOCKS/HTTP
# 代理连接的官方推荐件,主人手装过的件入锁;非 telethon 传递依赖须显式声明,
# 增量恰 +1 轮,既有条目零漂移——diff 实证);
# 2026-10-08 browser-module 四段扩 browser extras:装机态「添加账号」拉起登录窗
# 依赖 playwright 库(G7 装机缺件根治——缺装=登录静默失败反模式,本批 AC2
# 拔依赖=可见错误+本锁根治双管)。增量恰 3 轮(playwright/greenlet/pyee,
# G7 临时解锁 pip 直装三件的同源固化),既有条目零漂移——diff 实证。
# 来源 = pyproject [project] dependencies + extras[llm] + extras[telethon]
#   + extras[browser] 经 uv.lock 冻结解析:
#   uv export --frozen --no-dev --no-emit-project --no-hashes --extra llm --extra telethon --extra browser
# 唯一手改:workspace 成员 myssia-classifier 由 `-e ./myssia-classifier` 行钉为
#   PyPI 版 `myssia-classifier==0.0.1`(uv.lock 解析版本即 0.0.1,PyPI 已发布同名
#   版本,满足 pyproject 约束 >=0.0.1,<0.1;tests/desktop 锁版一致性测试把关)。
# 消费:壳安装链 spawn <数据根>/python/bin/python3 -m pip install -r 本清单
#   (PyPI index 可被设置页镜像覆盖,D3;清单本身钉版不受镜像影响)。
# 平台/版本标记按通用解析保留(linux / <3.12 / emscripten 条目在 mac/win 的
#   3.12.7 运行时上自然不触发;win32 条目(keyring 后端)按平台生效)。
# 浏览器二进制(Chromium)不在本清单:走 crawl4ai 组件轨 post_install 钩子
#   下载至数据根 playwright-browsers(components.json;PLAYWRIGHT_BROWSERS_PATH
#   同源注入)——装「JS 渲染抓取」组件或 playwright install chromium。
myssia-classifier==0.0.1
    # via myssia
annotated-types==0.8.0
    # via pydantic
anyio==4.15.1
    # via
    #   httpx
    #   httpx2
    #   openai
apscheduler==3.11.3
    # via myssia
backports-tarfile==1.2.0 ; python_full_version < '3.12'
    # via jaraco-context
certifi==2026.7.22
    # via
    #   httpcore
    #   httpx
cffi==2.1.1 ; platform_python_implementation != 'PyPy' and sys_platform == 'linux'
    # via cryptography
cryptography==50.0.2 ; sys_platform == 'linux'
    # via secretstorage
feedparser==6.0.14
    # via myssia
feedparser-sgmllib==2.1.0
    # via feedparser
greenlet==3.5.6
    # via playwright
h11==0.16.0
    # via
    #   httpcore
    #   httpcore2
httpcore==1.0.9
    # via httpx
httpcore2==2.13.1 ; sys_platform != 'emscripten'
    # via httpx2
httpx==0.28.1
    # via myssia
httpx2==2.13.1
    # via openai
httpx2-jsfetch==1.0 ; python_full_version >= '3.12' and sys_platform == 'emscripten'
    # via httpx2
idna==3.20
    # via
    #   anyio
    #   httpx
    #   httpx2
importlib-metadata==9.0.1 ; python_full_version < '3.12'
    # via keyring
jaraco-classes==3.4.0
    # via keyring
jaraco-context==6.1.2
    # via keyring
jaraco-functools==4.6.0
    # via keyring
jeepney==0.9.0 ; sys_platform == 'linux'
    # via
    #   keyring
    #   secretstorage
jinja2==3.1.6
    # via myssia
jiter==0.17.0
    # via openai
keyring==25.7.0
    # via myssia
markupsafe==3.0.3
    # via jinja2
more-itertools==11.1.0
    # via
    #   jaraco-classes
    #   jaraco-functools
openai==3.22.1
    # via myssia
playwright==1.63.0
    # via myssia
pyaes==1.6.1
    # via telethon
pyasn1==0.6.4
    # via rsa
pycparser==3.0 ; implementation_name != 'PyPy' and platform_python_implementation != 'PyPy' and sys_platform == 'linux'
    # via cffi
pydantic==2.13.5
    # via
    #   myssia
    #   openai
pydantic-core==2.46.5
    # via pydantic
pyee==13.0.1
    # via playwright
python-socks==2.8.2
    # via myssia
pywin32-ctypes==0.2.3 ; sys_platform == 'win32'
    # via keyring
pyyaml==6.0.3
    # via myssia
rsa==4.9.1
    # via telethon
secretstorage==3.5.0 ; sys_platform == 'linux'
    # via keyring
selectolax==0.4.13
    # via myssia
sniffio==1.3.1
    # via openai
socksio==1.0.0
    # via httpx
telethon==1.45.0
    # via myssia
truststore==0.10.4 ; sys_platform != 'emscripten'
    # via
    #   httpcore2
    #   httpx2
typing-extensions==4.16.0
    # via
    #   anyio
    #   httpx2
    #   openai
    #   pydantic
    #   pydantic-core
    #   pyee
    #   typing-inspection
typing-inspection==0.4.4
    # via pydantic
tzdata==2026.4 ; sys_platform == 'win32'
    # via tzlocal
tzlocal==5.4.4
    # via apscheduler
zipp==4.1.0 ; python_full_version < '3.12'
    # via importlib-metadata
