open-webui/pyproject.toml

206 lines
4.4 KiB
TOML
Raw Normal View History

[project]
name = "open-webui"
2024-08-14 15:13:37 +00:00
description = "Open WebUI"
authors = [
2024-05-22 03:39:37 +00:00
{ name = "Timothy Jaeryang Baek", email = "tim@openwebui.com" }
]
license = { file = "LICENSE" }
dependencies = [
"fastapi==0.123.0",
2025-10-07 21:19:47 +00:00
"uvicorn[standard]==0.37.0",
"pydantic==2.12.5",
2025-04-13 05:07:23 +00:00
"python-multipart==0.0.20",
2025-09-18 15:43:59 +00:00
"itsdangerous==2.2.0",
"python-socketio==5.15.0",
"python-jose==3.5.0",
2025-07-31 17:58:51 +00:00
"cryptography",
"bcrypt==5.0.0",
2025-09-25 19:53:21 +00:00
"argon2-cffi==25.1.0",
2025-08-26 19:05:44 +00:00
"PyJWT[crypto]==2.10.1",
2025-10-14 23:36:28 +00:00
"authlib==1.6.5",
2025-09-24 23:58:17 +00:00
"requests==2.32.5",
2025-08-09 22:25:40 +00:00
"aiohttp==3.12.15",
2024-10-12 09:42:31 +00:00
"async-timeout",
2024-11-16 12:41:07 +00:00
"aiocache",
2024-11-24 07:00:04 +00:00
"aiofiles",
"starlette-compress==1.6.1",
2025-07-31 17:58:51 +00:00
"httpx[socks,http2,zstd,cli,brotli]==0.28.1",
2025-09-25 19:53:21 +00:00
"starsessions[redis]==2.2.1",
2025-03-01 15:57:08 +00:00
"sqlalchemy==2.0.38",
"alembic==1.17.2",
"peewee==3.18.3",
"peewee-migrate==1.14.3",
2025-08-26 19:05:44 +00:00
"pycrdt==0.12.25",
2024-08-02 22:47:05 +00:00
"redis",
2025-08-26 19:05:44 +00:00
"APScheduler==3.10.4",
2025-02-07 19:51:27 +00:00
"RestrictedPython==8.0",
2025-05-05 12:49:21 +00:00
"loguru==0.7.3",
"asgiref==3.11.0",
2025-08-26 19:05:44 +00:00
"tiktoken",
"mcp==1.22.0",
2025-09-23 06:40:59 +00:00
2024-08-02 22:47:05 +00:00
"openai",
"anthropic",
2025-11-23 21:49:21 +00:00
"google-genai==1.52.0",
2025-05-17 17:53:31 +00:00
"google-generativeai==0.8.5",
2025-09-24 23:55:33 +00:00
"langchain==0.3.27",
"langchain-community==0.3.29",
2025-08-09 22:25:40 +00:00
"fake-useragent==2.2.0",
"chromadb==1.3.5",
2025-02-13 10:05:26 +00:00
"opensearch-py==2.8.0",
2025-11-24 02:24:36 +00:00
"PyMySQL==1.1.1",
"boto3==1.41.5",
2025-09-12 19:33:08 +00:00
"transformers==4.57.3",
"sentence-transformers==5.1.2",
2025-04-07 00:44:05 +00:00
"accelerate",
2025-08-09 22:25:40 +00:00
"pyarrow==20.0.0",
2025-04-05 17:13:30 +00:00
"einops==0.8.1",
"ftfy==6.3.1",
"chardet==5.2.0",
"pypdf==6.4.0",
2025-01-05 08:56:32 +00:00
"fpdf2==2.8.2",
"pymdown-extensions==10.17.2",
"docx2txt==0.8",
2025-06-16 08:39:42 +00:00
"python-pptx==1.0.2",
"unstructured==0.18.21",
2025-11-14 01:25:27 +00:00
"msoffcrypto-tool==5.4.2",
2024-08-26 10:08:55 +00:00
"nltk==3.9.1",
"Markdown==3.10",
"pypandoc==1.16.2",
2024-10-07 04:06:47 +00:00
"pandas==2.2.3",
2024-08-02 22:47:05 +00:00
"openpyxl==3.1.5",
"pyxlsb==1.0.10",
"xlrd==2.0.1",
2025-06-10 13:50:32 +00:00
"validators==0.35.0",
2024-08-02 22:47:05 +00:00
"psutil",
2024-11-04 22:25:35 +00:00
"sentencepiece",
2025-02-02 05:02:12 +00:00
"soundfile==0.13.1",
2025-06-10 13:50:32 +00:00
"azure-ai-documentintelligence==1.0.2",
2025-08-06 15:52:16 +00:00
"pillow==11.3.0",
2025-02-02 05:02:12 +00:00
"opencv-python-headless==4.11.0.86",
2025-05-05 12:49:21 +00:00
"rapidocr-onnxruntime==1.4.4",
"rank-bm25==0.2.2",
2025-04-05 17:13:30 +00:00
"onnxruntime==1.20.1",
2025-02-10 00:02:09 +00:00
"faster-whisper==1.1.1",
"black==25.11.0",
2025-10-07 21:19:47 +00:00
"youtube-transcript-api==1.2.2",
2024-05-22 08:50:22 +00:00
"pytube==15.0.0",
2024-06-12 02:14:47 +00:00
"pydub",
"ddgs==9.9.2",
2025-01-22 18:43:08 +00:00
"google-api-python-client",
"google-auth-httplib2",
"google-auth-oauthlib",
"googleapis-common-protos==1.72.0",
"google-cloud-storage==2.19.0",
2025-09-23 21:48:31 +00:00
"azure-identity==1.25.0",
2025-02-19 04:01:24 +00:00
"azure-storage-blob==12.24.1",
2025-01-22 18:43:08 +00:00
"ldap3==2.9.1",
]
readme = "README.md"
2024-12-14 10:09:10 +00:00
requires-python = ">= 3.11, < 3.13.0a1"
dynamic = ["version"]
classifiers = [
"Development Status :: 4 - Beta",
2025-06-17 08:17:02 +00:00
"License :: Other/Proprietary License",
2024-05-20 03:12:03 +00:00
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.11",
2024-12-14 10:09:10 +00:00
"Programming Language :: Python :: 3.12",
"Topic :: Communications :: Chat",
"Topic :: Multimedia",
]
2025-08-26 19:05:44 +00:00
[project.optional-dependencies]
postgres = [
2025-09-10 10:08:16 +00:00
"psycopg2-binary==2.9.10",
"pgvector==0.4.1",
2025-08-26 19:05:44 +00: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.2.5",
"playwright==1.56.0",
2025-09-12 19:33:08 +00:00
"elasticsearch==9.1.0",
"qdrant-client==1.16.1",
2025-11-21 00:24:52 +00:00
"weaviate-client==4.17.0",
"pymilvus==2.6.5",
2025-09-12 19:33:08 +00:00
"pinecone==6.0.2",
"oracledb==3.2.0",
"colbert-ai==0.2.21",
2025-11-14 00:14:00 +00:00
"firecrawl-py==4.10.0",
2025-11-14 00:14:00 +00:00
"azure-search-documents==11.6.0",
2025-08-26 19:05:44 +00: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 03:12:03 +00:00
[tool.hatch.build.hooks.custom] # keep this for reading hooks from `hatch_build.py`
[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 03:12:03 +00:00
"webui.db",
"chroma.sqlite3",
]
2024-05-20 03:12:03 +00:00
force-include = { "CHANGELOG.md" = "open_webui/CHANGELOG.md", build = "open_webui/frontend" }
2025-01-03 19:06:43 +00: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'
[dependency-groups]
dev = [
"pytest-asyncio>=1.0.0",
]