2024-05-14 11:53:46 +08:00
|
|
|
[project]
|
|
|
|
name = "open-webui"
|
2024-08-14 23:13:37 +08:00
|
|
|
description = "Open WebUI"
|
2024-05-14 11:53:46 +08:00
|
|
|
authors = [
|
2024-05-22 11:39:37 +08:00
|
|
|
{ name = "Timothy Jaeryang Baek", email = "tim@openwebui.com" }
|
2024-05-14 11:53:46 +08:00
|
|
|
]
|
|
|
|
license = { file = "LICENSE" }
|
|
|
|
dependencies = [
|
2025-10-08 05:20:27 +08:00
|
|
|
"fastapi==0.118.0",
|
|
|
|
"uvicorn[standard]==0.37.0",
|
|
|
|
"pydantic==2.11.9",
|
2025-04-13 13:07:23 +08:00
|
|
|
"python-multipart==0.0.20",
|
2025-09-18 23:43:59 +08:00
|
|
|
"itsdangerous==2.2.0",
|
2025-08-04 22:40:17 +08:00
|
|
|
|
2025-04-13 00:48:07 +08:00
|
|
|
"python-socketio==5.13.0",
|
2025-02-20 18:02:35 +08:00
|
|
|
"python-jose==3.4.0",
|
2025-08-01 01:58:51 +08:00
|
|
|
"cryptography",
|
2025-10-08 05:20:27 +08:00
|
|
|
"bcrypt==5.0.0",
|
2025-09-26 03:53:21 +08:00
|
|
|
"argon2-cffi==25.1.0",
|
2025-08-27 03:05:44 +08:00
|
|
|
"PyJWT[crypto]==2.10.1",
|
2025-09-09 17:46:21 +08:00
|
|
|
"authlib==1.6.3",
|
2025-08-04 22:40:17 +08:00
|
|
|
|
2025-09-25 07:58:17 +08:00
|
|
|
"requests==2.32.5",
|
2025-08-10 06:25:40 +08:00
|
|
|
"aiohttp==3.12.15",
|
2024-10-12 17:42:31 +08:00
|
|
|
"async-timeout",
|
2024-11-16 20:41:07 +08:00
|
|
|
"aiocache",
|
2024-11-24 15:00:04 +08:00
|
|
|
"aiofiles",
|
2025-05-26 18:18:29 +08:00
|
|
|
"starlette-compress==1.6.0",
|
2025-08-01 01:58:51 +08:00
|
|
|
"httpx[socks,http2,zstd,cli,brotli]==0.28.1",
|
2025-09-26 03:53:21 +08:00
|
|
|
"starsessions[redis]==2.2.1",
|
2025-08-04 22:40:17 +08:00
|
|
|
|
2025-03-01 23:57:08 +08:00
|
|
|
"sqlalchemy==2.0.38",
|
2024-12-01 15:33:19 +08:00
|
|
|
"alembic==1.14.0",
|
2025-02-21 20:56:57 +08:00
|
|
|
"peewee==3.18.1",
|
2024-05-14 11:53:46 +08:00
|
|
|
"peewee-migrate==1.12.2",
|
2025-08-04 22:40:17 +08:00
|
|
|
|
2025-08-27 03:05:44 +08:00
|
|
|
"pycrdt==0.12.25",
|
2024-08-03 06:47:05 +08:00
|
|
|
"redis",
|
2025-08-27 03:05:44 +08:00
|
|
|
|
|
|
|
"PyMySQL==1.1.1",
|
2025-08-08 16:26:45 +08:00
|
|
|
"boto3==1.40.5",
|
2025-08-04 22:40:17 +08:00
|
|
|
|
2024-05-14 11:53:46 +08:00
|
|
|
"APScheduler==3.10.4",
|
2025-02-08 03:51:27 +08:00
|
|
|
"RestrictedPython==8.0",
|
2025-08-04 22:40:17 +08:00
|
|
|
|
2025-05-05 20:49:21 +08:00
|
|
|
"loguru==0.7.3",
|
2025-02-27 15:19:19 +08:00
|
|
|
"asgiref==3.8.1",
|
2025-08-04 22:40:17 +08:00
|
|
|
|
2025-08-27 03:05:44 +08:00
|
|
|
"tiktoken",
|
2025-09-23 14:40:59 +08:00
|
|
|
"mcp==1.14.1",
|
|
|
|
|
2024-08-03 06:47:05 +08:00
|
|
|
"openai",
|
|
|
|
"anthropic",
|
2025-09-25 07:58:17 +08:00
|
|
|
"google-genai==1.38.0",
|
2025-05-18 01:53:31 +08:00
|
|
|
"google-generativeai==0.8.5",
|
2025-08-04 22:40:17 +08:00
|
|
|
|
2025-09-25 07:55:33 +08:00
|
|
|
"langchain==0.3.27",
|
|
|
|
"langchain-community==0.3.29",
|
2025-08-04 22:40:17 +08:00
|
|
|
|
2025-08-10 06:25:40 +08:00
|
|
|
"fake-useragent==2.2.0",
|
2025-09-09 23:13:41 +08:00
|
|
|
"chromadb==1.0.20",
|
2025-02-13 18:05:26 +08:00
|
|
|
"opensearch-py==2.8.0",
|
2025-09-13 03:33:08 +08:00
|
|
|
|
2025-01-13 16:34:15 +08:00
|
|
|
"transformers",
|
2025-09-26 00:51:04 +08:00
|
|
|
"sentence-transformers==5.1.1",
|
2025-04-07 08:44:05 +08:00
|
|
|
"accelerate",
|
2025-08-10 06:25:40 +08:00
|
|
|
"pyarrow==20.0.0",
|
2025-04-06 01:13:30 +08:00
|
|
|
"einops==0.8.1",
|
2025-08-04 22:40:17 +08:00
|
|
|
|
2024-09-28 08:49:18 +08:00
|
|
|
"ftfy==6.2.3",
|
2025-09-05 23:50:11 +08:00
|
|
|
"pypdf==6.0.0",
|
2025-01-05 16:56:32 +08:00
|
|
|
"fpdf2==2.8.2",
|
2025-02-02 13:02:12 +08:00
|
|
|
"pymdown-extensions==10.14.2",
|
2024-05-14 11:53:46 +08:00
|
|
|
"docx2txt==0.8",
|
2025-06-16 16:39:42 +08:00
|
|
|
"python-pptx==1.0.2",
|
2025-02-02 12:58:28 +08:00
|
|
|
"unstructured==0.16.17",
|
2024-08-26 18:08:55 +08:00
|
|
|
"nltk==3.9.1",
|
2025-10-08 05:20:27 +08:00
|
|
|
"Markdown==3.9",
|
2025-04-06 01:13:30 +08:00
|
|
|
"pypandoc==1.15",
|
2024-10-07 12:06:47 +08:00
|
|
|
"pandas==2.2.3",
|
2024-08-03 06:47:05 +08:00
|
|
|
"openpyxl==3.1.5",
|
2024-05-14 11:53:46 +08:00
|
|
|
"pyxlsb==1.0.10",
|
|
|
|
"xlrd==2.0.1",
|
2025-06-10 21:50:32 +08:00
|
|
|
"validators==0.35.0",
|
2024-08-03 06:47:05 +08:00
|
|
|
"psutil",
|
2024-11-05 06:25:35 +08:00
|
|
|
"sentencepiece",
|
2025-02-02 13:02:12 +08:00
|
|
|
"soundfile==0.13.1",
|
2025-06-10 21:50:32 +08:00
|
|
|
"azure-ai-documentintelligence==1.0.2",
|
2025-08-04 22:40:17 +08:00
|
|
|
|
2025-08-06 23:52:16 +08:00
|
|
|
"pillow==11.3.0",
|
2025-02-02 13:02:12 +08:00
|
|
|
"opencv-python-headless==4.11.0.86",
|
2025-05-05 20:49:21 +08:00
|
|
|
"rapidocr-onnxruntime==1.4.4",
|
2024-05-14 11:53:46 +08:00
|
|
|
"rank-bm25==0.2.2",
|
2025-08-04 22:40:17 +08:00
|
|
|
|
2025-04-06 01:13:30 +08:00
|
|
|
"onnxruntime==1.20.1",
|
2025-02-10 08:02:09 +08:00
|
|
|
"faster-whisper==1.1.1",
|
2025-08-04 22:40:17 +08:00
|
|
|
|
2025-10-08 05:20:27 +08:00
|
|
|
"black==25.9.0",
|
|
|
|
"youtube-transcript-api==1.2.2",
|
2024-05-22 16:50:22 +08:00
|
|
|
"pytube==15.0.0",
|
2025-08-04 22:40:17 +08:00
|
|
|
|
2024-06-12 10:14:47 +08:00
|
|
|
"pydub",
|
2025-08-01 01:58:51 +08:00
|
|
|
"ddgs==9.0.0",
|
2025-08-04 22:40:17 +08:00
|
|
|
|
2025-01-23 02:43:08 +08:00
|
|
|
"google-api-python-client",
|
|
|
|
"google-auth-httplib2",
|
|
|
|
"google-auth-oauthlib",
|
2025-08-04 22:40:17 +08:00
|
|
|
|
2025-09-10 18:08:16 +08:00
|
|
|
"googleapis-common-protos==1.70.0",
|
2025-01-17 21:53:41 +08:00
|
|
|
"google-cloud-storage==2.19.0",
|
2025-08-04 22:40:17 +08:00
|
|
|
|
2025-09-24 05:48:31 +08:00
|
|
|
"azure-identity==1.25.0",
|
2025-02-19 12:01:24 +08:00
|
|
|
"azure-storage-blob==12.24.1",
|
2025-08-04 22:40:17 +08:00
|
|
|
|
2025-01-23 02:43:08 +08:00
|
|
|
"ldap3==2.9.1",
|
2024-05-14 11:53:46 +08:00
|
|
|
]
|
|
|
|
readme = "README.md"
|
2024-12-14 18:09:10 +08:00
|
|
|
requires-python = ">= 3.11, < 3.13.0a1"
|
2024-05-14 11:53:46 +08:00
|
|
|
dynamic = ["version"]
|
|
|
|
classifiers = [
|
|
|
|
"Development Status :: 4 - Beta",
|
2025-06-17 16:17:02 +08:00
|
|
|
"License :: Other/Proprietary License",
|
2024-05-20 11:12:03 +08:00
|
|
|
"Programming Language :: Python :: 3",
|
|
|
|
"Programming Language :: Python :: 3.11",
|
2024-12-14 18:09:10 +08:00
|
|
|
"Programming Language :: Python :: 3.12",
|
2024-05-14 11:53:46 +08:00
|
|
|
"Topic :: Communications :: Chat",
|
|
|
|
"Topic :: Multimedia",
|
|
|
|
]
|
|
|
|
|
2025-08-27 03:05:44 +08:00
|
|
|
[project.optional-dependencies]
|
|
|
|
postgres = [
|
2025-09-10 18:08:16 +08:00
|
|
|
"psycopg2-binary==2.9.10",
|
|
|
|
"pgvector==0.4.1",
|
2025-08-27 03:05:44 +08:00
|
|
|
]
|
|
|
|
|
|
|
|
all = [
|
|
|
|
"pymongo",
|
|
|
|
"psycopg2-binary==2.9.9",
|
|
|
|
"pgvector==0.4.0",
|
|
|
|
"moto[s3]>=5.0.26",
|
|
|
|
"gcp-storage-emulator>=2024.8.3",
|
|
|
|
"docker~=7.1.0",
|
|
|
|
"pytest~=8.3.2",
|
|
|
|
"pytest-docker~=3.1.1",
|
2025-09-13 03:33:08 +08:00
|
|
|
"playwright==1.49.1",
|
|
|
|
"elasticsearch==9.1.0",
|
|
|
|
|
|
|
|
"qdrant-client==1.14.3",
|
2025-10-08 05:20:27 +08:00
|
|
|
"pymilvus==2.6.2",
|
2025-09-13 03:33:08 +08:00
|
|
|
"pinecone==6.0.2",
|
|
|
|
"oracledb==3.2.0",
|
|
|
|
|
|
|
|
"colbert-ai==0.2.21",
|
2025-10-08 05:20:27 +08:00
|
|
|
|
|
|
|
"firecrawl-py==1.12.0",
|
|
|
|
"tencentcloud-sdk-python==3.0.1336",
|
2025-08-27 03:05:44 +08:00
|
|
|
]
|
|
|
|
|
2024-05-14 11:53:46 +08:00
|
|
|
[project.scripts]
|
|
|
|
open-webui = "open_webui:app"
|
|
|
|
|
|
|
|
[build-system]
|
|
|
|
requires = ["hatchling"]
|
|
|
|
build-backend = "hatchling.build"
|
|
|
|
|
|
|
|
[tool.rye]
|
|
|
|
managed = true
|
|
|
|
dev-dependencies = []
|
|
|
|
|
|
|
|
[tool.hatch.metadata]
|
|
|
|
allow-direct-references = true
|
|
|
|
|
|
|
|
[tool.hatch.version]
|
|
|
|
path = "package.json"
|
|
|
|
pattern = '"version":\s*"(?P<version>[^"]+)"'
|
|
|
|
|
2024-05-20 11:12:03 +08:00
|
|
|
[tool.hatch.build.hooks.custom] # keep this for reading hooks from `hatch_build.py`
|
|
|
|
|
2024-05-14 11:53:46 +08:00
|
|
|
[tool.hatch.build.targets.wheel]
|
|
|
|
sources = ["backend"]
|
|
|
|
exclude = [
|
|
|
|
".dockerignore",
|
|
|
|
".gitignore",
|
|
|
|
".webui_secret_key",
|
|
|
|
"dev.sh",
|
|
|
|
"requirements.txt",
|
|
|
|
"start.sh",
|
|
|
|
"start_windows.bat",
|
2024-05-20 11:12:03 +08:00
|
|
|
"webui.db",
|
|
|
|
"chroma.sqlite3",
|
2024-05-14 11:53:46 +08:00
|
|
|
]
|
2024-05-20 11:12:03 +08:00
|
|
|
force-include = { "CHANGELOG.md" = "open_webui/CHANGELOG.md", build = "open_webui/frontend" }
|
2025-01-04 03:06:43 +08:00
|
|
|
|
|
|
|
[tool.codespell]
|
|
|
|
# Ref: https://github.com/codespell-project/codespell#using-a-config-file
|
|
|
|
skip = '.git*,*.svg,package-lock.json,i18n,*.lock,*.css,*-bundle.js,locales,example-doc.txt,emoji-shortcodes.json'
|
|
|
|
check-hidden = true
|
|
|
|
# ignore-regex = ''
|
|
|
|
ignore-words-list = 'ans'
|
2025-07-15 09:56:13 +08:00
|
|
|
|
|
|
|
[dependency-groups]
|
|
|
|
dev = [
|
|
|
|
"pytest-asyncio>=1.0.0",
|
|
|
|
]
|