# This file was autogenerated by uv via the following command:
#    uv export --no-hashes --output-file requirements.txt
-e .
aiocqhttp==1.4.4
    # via astrbot
aiodocker==0.26.0
    # via astrbot
aiofiles==25.1.0
    # via
    #   astrbot
    #   quart
aiohappyeyeballs==2.6.1
    # via aiohttp
aiohttp==3.13.3
    # via
    #   aiodocker
    #   astrbot
    #   dashscope
    #   dingtalk-stream
    #   py-cord
    #   qq-botpy
    #   shipyard-python-sdk
    #   xinference-client
aiosignal==1.4.0
    # via aiohttp
aiosqlite==0.22.1
    # via astrbot
annotated-types==0.7.0
    # via pydantic
anthropic==0.84.0
    # via astrbot
anyio==4.12.1
    # via
    #   anthropic
    #   google-genai
    #   httpx
    #   mcp
    #   openai
    #   sse-starlette
    #   starlette
    #   watchfiles
apscheduler==3.11.2
    # via
    #   astrbot
    #   qq-botpy
argcomplete==3.6.3
    # via commitizen
attrs==25.4.0
    # via
    #   aiohttp
    #   jsonschema
    #   referencing
audioop-lts==0.2.2 ; python_full_version >= '3.13'
    # via astrbot
beautifulsoup4==4.14.3
    # via
    #   astrbot
    #   markdownify
    #   markitdown-no-magika
blinker==1.9.0
    # via
    #   flask
    #   quart
certifi==2026.2.25
    # via
    #   astrbot
    #   dashscope
    #   httpcore
    #   httpx
    #   requests
cffi==2.0.0
    # via
    #   cryptography
    #   silk-python
chardet==5.1.0
    # via
    #   astrbot
    #   readability-lxml
charset-normalizer==3.4.5
    # via
    #   commitizen
    #   markitdown-no-magika
    #   requests
click==8.3.1
    # via
    #   astrbot
    #   flask
    #   quart
    #   uvicorn
cobble==0.1.4
    # via mammoth
colorama==0.4.6
    # via
    #   click
    #   commitizen
    #   loguru
    #   pytest
    #   tqdm
commitizen==4.13.9
coverage==7.13.4
    # via pytest-cov
cryptography==46.0.5
    # via
    #   astrbot
    #   dashscope
    #   google-auth
    #   pyjwt
cssselect==1.4.0
    # via readability-lxml
dashscope==1.25.13
    # via astrbot
decli==0.6.3
    # via commitizen
defusedxml==0.7.1
    # via
    #   astrbot
    #   markitdown-no-magika
deprecated==1.3.1
    # via
    #   astrbot
    #   commitizen
dingtalk-stream==0.24.3
    # via astrbot
distro==1.9.0
    # via
    #   anthropic
    #   google-genai
    #   openai
docstring-parser==0.17.0
    # via
    #   anthropic
    #   astrbot
et-xmlfile==2.0.0
    # via openpyxl
faiss-cpu==1.13.2
    # via astrbot
filelock==3.25.2
    # via astrbot
filetype==1.2.0
    # via shipyard-python-sdk
flask==3.1.3
    # via quart
frozenlist==1.8.0
    # via
    #   aiohttp
    #   aiosignal
google-auth==2.49.1
    # via google-genai
google-genai==1.67.0
    # via astrbot
greenlet==3.3.2
    # via sqlalchemy
h11==0.16.0
    # via
    #   httpcore
    #   hypercorn
    #   uvicorn
    #   wsproto
h2==4.3.0
    # via hypercorn
hpack==4.1.0
    # via h2
httpcore==1.0.9
    # via
    #   httpx
    #   python-telegram-bot
httpx==0.28.1
    # via
    #   aiocqhttp
    #   anthropic
    #   google-genai
    #   lark-oapi
    #   mcp
    #   openai
    #   python-telegram-bot
    #   shipyard-neo-sdk
httpx-sse==0.4.3
    # via mcp
hypercorn==0.18.0
    # via quart
hyperframe==6.1.0
    # via h2
idna==3.11
    # via
    #   anyio
    #   httpx
    #   requests
    #   yarl
iniconfig==2.3.0
    # via pytest
itsdangerous==2.2.0
    # via
    #   flask
    #   quart
jieba==0.42.1
    # via astrbot
jinja2==3.1.6
    # via
    #   commitizen
    #   flask
    #   quart
jiter==0.13.0
    # via
    #   anthropic
    #   openai
jsonschema==4.26.0
    # via mcp
jsonschema-specifications==2025.9.1
    # via jsonschema
lark-oapi==1.5.3
    # via astrbot
loguru==0.7.3
    # via astrbot
lxml==6.0.2
    # via
    #   lxml-html-clean
    #   markitdown-no-magika
    #   readability-lxml
lxml-html-clean==0.4.4
    # via
    #   astrbot
    #   lxml
mammoth==1.12.0
    # via markitdown-no-magika
markdownify==1.2.2
    # via markitdown-no-magika
markitdown-no-magika==0.1.2
    # via astrbot
markupsafe==3.0.3
    # via
    #   flask
    #   jinja2
    #   quart
    #   werkzeug
mcp==1.26.0
    # via astrbot
multidict==6.7.1
    # via
    #   aiohttp
    #   yarl
numpy==2.4.3
    # via
    #   faiss-cpu
    #   pandas
    #   rank-bm25
openai==2.28.0
    # via astrbot
openpyxl==3.1.5
    # via markitdown-no-magika
optionaldict==0.1.2
    # via wechatpy
ormsgpack==1.12.2
    # via astrbot
packaging==26.0
    # via
    #   astrbot
    #   commitizen
    #   faiss-cpu
    #   pytest
pandas==3.0.1
    # via markitdown-no-magika
pillow==12.1.1
    # via astrbot
pip==26.0.1
    # via astrbot
pluggy==1.6.0
    # via
    #   pytest
    #   pytest-cov
priority==2.0.0
    # via hypercorn
prompt-toolkit==3.0.51
    # via
    #   commitizen
    #   questionary
propcache==0.4.1
    # via
    #   aiohttp
    #   yarl
psutil==7.1.3
    # via astrbot
py-cord==2.7.1
    # via astrbot
pyasn1==0.6.2
    # via pyasn1-modules
pyasn1-modules==0.4.2
    # via google-auth
pycparser==3.0 ; implementation_name != 'PyPy'
    # via cffi
pycryptodome==3.23.0
    # via lark-oapi
pydantic==2.12.5
    # via
    #   anthropic
    #   astrbot
    #   google-genai
    #   mcp
    #   openai
    #   pydantic-settings
    #   shipyard-neo-sdk
    #   sqlmodel
    #   xinference-client
pydantic-core==2.41.5
    # via pydantic
pydantic-settings==2.13.1
    # via mcp
pydub==0.25.1
    # via astrbot
pygments==2.19.2
    # via pytest
pyjwt==2.12.1
    # via
    #   astrbot
    #   mcp
pypdf==6.8.0
    # via astrbot
pyromark==0.9.9
    # via telegramify-markdown
pytest==9.0.2
    # via
    #   pytest-asyncio
    #   pytest-cov
pytest-asyncio==1.3.0
pytest-cov==7.0.0
python-dateutil==2.9.0.post0
    # via
    #   pandas
    #   wechatpy
python-dotenv==1.2.2
    # via pydantic-settings
python-multipart==0.0.22
    # via mcp
python-socks==2.8.1
    # via astrbot
python-telegram-bot==22.6
    # via astrbot
pywin32==311 ; sys_platform == 'win32'
    # via mcp
pyyaml==6.0.3
    # via
    #   commitizen
    #   qq-botpy
qq-botpy==1.2.1
    # via astrbot
quart==0.20.0
    # via
    #   aiocqhttp
    #   astrbot
    #   quart-cors
quart-cors==0.8.0
    # via astrbot
questionary==2.1.1
    # via commitizen
rank-bm25==0.2.2
    # via astrbot
readability-lxml==0.8.4.1
    # via astrbot
referencing==0.37.0
    # via
    #   jsonschema
    #   jsonschema-specifications
requests==2.32.5
    # via
    #   dashscope
    #   dingtalk-stream
    #   google-auth
    #   google-genai
    #   lark-oapi
    #   markitdown-no-magika
    #   requests-toolbelt
    #   wechatpy
    #   xinference-client
requests-toolbelt==1.0.0
    # via lark-oapi
rpds-py==0.30.0
    # via
    #   jsonschema
    #   referencing
ruff==0.15.6
shipyard-neo-sdk==0.2.0
    # via astrbot
shipyard-python-sdk==0.2.4
    # via astrbot
silk-python==0.2.8
    # via astrbot
six==1.17.0
    # via
    #   markdownify
    #   python-dateutil
    #   wechatpy
slack-sdk==3.41.0
    # via astrbot
sniffio==1.3.1
    # via
    #   anthropic
    #   google-genai
    #   openai
soupsieve==2.8.3
    # via beautifulsoup4
sqlalchemy==2.0.48
    # via
    #   astrbot
    #   sqlmodel
sqlmodel==0.0.37
    # via astrbot
sse-starlette==3.3.2
    # via mcp
starlette==0.52.1
    # via
    #   mcp
    #   sse-starlette
telegramify-markdown==1.1.0
    # via astrbot
tenacity==9.1.4
    # via
    #   astrbot
    #   google-genai
termcolor==3.3.0
    # via commitizen
tomlkit==0.14.0
    # via commitizen
tqdm==4.67.3
    # via openai
typing-extensions==4.15.0
    # via
    #   aiosignal
    #   anthropic
    #   anyio
    #   beautifulsoup4
    #   google-genai
    #   mcp
    #   openai
    #   py-cord
    #   pydantic
    #   pydantic-core
    #   pyromark
    #   pytest-asyncio
    #   referencing
    #   sqlalchemy
    #   starlette
    #   typing-inspection
    #   xinference-client
typing-inspection==0.4.2
    # via
    #   mcp
    #   pydantic
    #   pydantic-settings
tzdata==2025.3 ; sys_platform == 'emscripten' or sys_platform == 'win32'
    # via
    #   pandas
    #   tzlocal
tzlocal==5.3.1
    # via apscheduler
urllib3==2.6.3
    # via requests
uvicorn==0.41.0 ; sys_platform != 'emscripten'
    # via mcp
watchfiles==1.1.1
    # via astrbot
wcwidth==0.6.0
    # via prompt-toolkit
websocket-client==1.9.0
    # via dashscope
websockets==16.0
    # via
    #   astrbot
    #   dingtalk-stream
    #   google-genai
    #   lark-oapi
wechatpy==1.8.18
    # via astrbot
werkzeug==3.1.6
    # via
    #   flask
    #   quart
win32-setctime==1.2.0 ; sys_platform == 'win32'
    # via loguru
wrapt==2.1.2
    # via deprecated
wsproto==1.3.2
    # via hypercorn
xinference-client==2.3.1
    # via astrbot
xlrd==2.0.2
    # via markitdown-no-magika
xmltodict==1.0.4
    # via wechatpy
yarl==1.23.0
    # via aiohttp
