# This file was autogenerated by uv via the following command:
#    uv export --frozen --no-dev --extra web --format requirements-txt --no-hashes --output-file openkb-requirements.txt
-e .
aiohappyeyeballs==2.7.1
    # via aiohttp
aiohttp==3.14.3
    # via litellm
aiosignal==1.4.0
    # via aiohttp
annotated-doc==0.0.5
    # via
    #   fastapi
    #   typer
annotated-types==0.8.0
    # via pydantic
anyio==4.14.2
    # via
    #   httpx
    #   mcp
    #   openai
    #   sse-starlette
    #   starlette
async-timeout==5.0.1 ; python_full_version < '3.11'
    # via aiohttp
attrs==26.1.0
    # via
    #   aiohttp
    #   jsonschema
    #   referencing
babel==2.18.0
    # via courlan
beautifulsoup4==4.15.0
    # via
    #   markdownify
    #   markitdown
certifi==2026.7.22
    # via
    #   httpcore
    #   httpx
    #   requests
    #   trafilatura
cffi==2.1.1 ; platform_python_implementation != 'PyPy'
    # via cryptography
charset-normalizer==3.4.9
    # via
    #   htmldate
    #   markitdown
    #   requests
    #   trafilatura
click==8.4.0
    # via
    #   huggingface-hub
    #   litellm
    #   magika
    #   openkb
    #   typer
    #   uvicorn
cobble==0.1.4
    # via mammoth
colorama==0.4.6 ; sys_platform == 'win32'
    # via
    #   click
    #   tqdm
coloredlogs==15.0.1
    # via onnxruntime
courlan==1.4.0
    # via trafilatura
cryptography==50.0.0
    # via pyjwt
dateparser==1.4.2
    # via htmldate
defusedxml==0.7.1
    # via markitdown
distro==1.9.0
    # via openai
et-xmlfile==2.0.0
    # via openpyxl
exceptiongroup==1.3.1 ; python_full_version < '3.11'
    # via anyio
fastapi==0.141.1
    # via openkb
fastuuid==0.14.0
    # via litellm
filelock==3.32.2
    # via huggingface-hub
flatbuffers==25.12.19
    # via onnxruntime
frozenlist==1.8.0
    # via
    #   aiohttp
    #   aiosignal
fsspec==2026.7.0
    # via huggingface-hub
griffelib==2.1.0
    # via openai-agents
h11==0.16.0
    # via
    #   httpcore
    #   uvicorn
hf-xet==1.6.0 ; platform_machine == 'AMD64' or platform_machine == 'aarch64' or platform_machine == 'amd64' or platform_machine == 'arm64' or platform_machine == 'x86_64'
    # via huggingface-hub
htmldate==1.10.0
    # via trafilatura
httpcore==1.0.9
    # via httpx
httpx==0.28.1
    # via
    #   huggingface-hub
    #   litellm
    #   mcp
    #   openai
    #   pageindex
httpx-sse==0.4.3
    # via mcp
huggingface-hub==1.21.0
    # via tokenizers
humanfriendly==10.0
    # via coloredlogs
idna==3.18
    # via
    #   anyio
    #   httpx
    #   requests
    #   yarl
importlib-metadata==8.9.0
    # via litellm
jinja2==3.1.6
    # via litellm
jiter==0.16.0
    # via openai
json-repair==0.59.10
    # via openkb
jsonschema==4.26.0
    # via
    #   litellm
    #   mcp
jsonschema-specifications==2025.9.1
    # via jsonschema
justext==3.0.2
    # via trafilatura
litellm==1.87.2
    # via
    #   openkb
    #   pageindex
lxml==6.1.1
    # via
    #   htmldate
    #   justext
    #   lxml-html-clean
    #   markitdown
    #   python-pptx
    #   trafilatura
lxml-html-clean==0.4.5
    # via lxml
magika==0.6.3
    # via markitdown
mammoth==1.11.0
    # via markitdown
markdown-it-py==4.2.0
    # via rich
markdownify==1.2.3
    # via markitdown
markitdown==0.1.5
    # via openkb
markupsafe==3.0.3
    # via jinja2
mcp==1.29.0
    # via openai-agents
mdurl==0.1.2
    # via markdown-it-py
mpmath==1.3.0
    # via sympy
multidict==6.7.1
    # via
    #   aiohttp
    #   yarl
numpy==2.2.6 ; python_full_version < '3.11'
    # via
    #   magika
    #   onnxruntime
    #   pandas
numpy==2.4.6 ; python_full_version == '3.11.*'
    # via
    #   magika
    #   onnxruntime
    #   pandas
numpy==2.5.2 ; python_full_version >= '3.12'
    # via
    #   magika
    #   onnxruntime
    #   pandas
onnxruntime==1.20.1
    # via magika
openai==2.44.0
    # via
    #   litellm
    #   openai-agents
    #   openkb
    #   pageindex
openai-agents==0.17.3
    # via
    #   openkb
    #   pageindex
openpyxl==3.1.5
    # via markitdown
packaging==26.3
    # via
    #   huggingface-hub
    #   onnxruntime
pageindex==0.3.0.dev3
    # via openkb
pandas==2.3.3 ; python_full_version < '3.11'
    # via markitdown
pandas==3.0.5 ; python_full_version >= '3.11'
    # via markitdown
pillow==12.3.0
    # via python-pptx
portalocker==3.2.0
    # via openkb
prompt-toolkit==3.0.52
    # via openkb
propcache==0.5.2
    # via
    #   aiohttp
    #   yarl
protobuf==7.35.1
    # via onnxruntime
pycparser==3.0 ; implementation_name != 'PyPy' and platform_python_implementation != 'PyPy'
    # via cffi
pydantic==2.13.4
    # via
    #   fastapi
    #   litellm
    #   mcp
    #   openai
    #   openai-agents
    #   pageindex
    #   pydantic-settings
pydantic-core==2.46.4
    # via pydantic
pydantic-settings==2.15.0
    # via mcp
pygments==2.20.0
    # via rich
pyjwt==2.13.0
    # via mcp
pymupdf==1.28.2
    # via pageindex
pypdf2==3.0.1
    # via pageindex
pyreadline3==3.5.6 ; sys_platform == 'win32'
    # via humanfriendly
python-dateutil==2.9.0.post0
    # via
    #   dateparser
    #   htmldate
    #   pandas
python-dotenv==1.2.2
    # via
    #   litellm
    #   magika
    #   openkb
    #   pageindex
    #   pydantic-settings
python-multipart==0.0.32
    # via
    #   mcp
    #   openkb
python-pptx==1.0.2
    # via markitdown
pytz==2026.3.post1
    # via
    #   dateparser
    #   pandas
pywin32==312 ; sys_platform == 'win32'
    # via
    #   mcp
    #   portalocker
pyyaml==6.0.3
    # via
    #   huggingface-hub
    #   openkb
    #   pageindex
referencing==0.37.0
    # via
    #   jsonschema
    #   jsonschema-specifications
regex==2026.7.19
    # via
    #   dateparser
    #   tiktoken
requests==2.34.2
    # via
    #   markitdown
    #   openai-agents
    #   pageindex
    #   tiktoken
rich==15.0.0
    # via
    #   openkb
    #   typer
rpds-py==0.30.0 ; python_full_version < '3.11'
    # via
    #   jsonschema
    #   referencing
rpds-py==2026.6.3 ; python_full_version >= '3.11'
    # via
    #   jsonschema
    #   referencing
shellingham==1.5.4
    # via typer
six==1.17.0
    # via
    #   markdownify
    #   python-dateutil
sniffio==1.3.1
    # via openai
socksio==1.0.0
    # via httpx
soupsieve==2.9.2
    # via beautifulsoup4
sse-starlette==3.4.8
    # via mcp
starlette==1.6.0
    # via
    #   fastapi
    #   mcp
    #   sse-starlette
sympy==1.14.0
    # via onnxruntime
tiktoken==0.13.0
    # via litellm
tld==0.13.2
    # via courlan
tokenizers==0.23.1
    # via litellm
tqdm==4.70.0
    # via
    #   huggingface-hub
    #   openai
trafilatura==2.0.0
    # via openkb
typer==0.25.1
    # via huggingface-hub
types-requests==2.33.0.20260712
    # via openai-agents
typing-extensions==4.16.0
    # via
    #   aiohttp
    #   aiosignal
    #   anyio
    #   beautifulsoup4
    #   cryptography
    #   exceptiongroup
    #   fastapi
    #   huggingface-hub
    #   mcp
    #   multidict
    #   openai
    #   openai-agents
    #   pageindex
    #   pydantic
    #   pydantic-core
    #   pyjwt
    #   python-pptx
    #   referencing
    #   starlette
    #   typing-inspection
    #   uvicorn
typing-inspection==0.4.2
    # via
    #   fastapi
    #   mcp
    #   pydantic
    #   pydantic-settings
tzdata==2026.3 ; python_full_version < '3.11' or sys_platform == 'emscripten' or sys_platform == 'win32'
    # via
    #   pandas
    #   tzlocal
tzlocal==5.4.4
    # via dateparser
urllib3==2.7.0
    # via
    #   courlan
    #   htmldate
    #   requests
    #   trafilatura
    #   types-requests
uvicorn==0.52.1
    # via
    #   mcp
    #   openkb
watchdog==6.0.0
    # via openkb
wcwidth==0.8.2
    # via prompt-toolkit
websockets==16.1.1
    # via openai-agents
xlrd==2.0.2
    # via markitdown
xlsxwriter==3.2.9
    # via python-pptx
yarl==1.24.5
    # via aiohttp
zipp==4.1.0
    # via importlib-metadata
