[project] name = "open-webui" description = "Open WebUI (Formerly Ollama WebUI)" authors = [ { name = "Timothy Jaeryang Baek", email = "tim@openwebui.com" } ] license = { file = "LICENSE" } dependencies = [ "fastapi==0.111.0", "uvicorn[standard]==0.22.0", "pydantic==2.7.1", "python-multipart==0.0.9", "Flask==3.0.3", "Flask-Cors==4.0.1", "python-socketio==5.11.2", "python-jose==3.3.0", "passlib[bcrypt]==1.7.4", "requests==2.32.2", "aiohttp==3.9.5", "peewee==3.17.5", "peewee-migrate==1.12.2", "psycopg2-binary==2.9.9", "PyMySQL==1.1.0", "bcrypt==4.1.3", "boto3==1.34.110", "argon2-cffi==23.1.0", "APScheduler==3.10.4", "google-generativeai==0.5.4", "langchain==0.2.0", "langchain-community==0.2.0", "langchain-chroma==0.1.1", "fake-useragent==1.5.1", "chromadb==0.5.0", "sentence-transformers==2.7.0", "pypdf==4.2.0", "docx2txt==0.8", "unstructured==0.14.0", "Markdown==3.6", "pypandoc==1.13", "pandas==2.2.2", "openpyxl==3.1.2", "pyxlsb==1.0.10", "xlrd==2.0.1", "validators==0.28.1", "opencv-python-headless==4.9.0.80", "rapidocr-onnxruntime==1.3.22", "fpdf2==2.7.9", "rank-bm25==0.2.2", "faster-whisper==1.0.2", "PyJWT[crypto]==2.8.0", "black==24.4.2", "langfuse==2.33.0", "youtube-transcript-api==0.6.2", "pytube==15.0.0", "extract_msg", "pydub", "duckduckgo-search~=6.1.5" ] readme = "README.md" requires-python = ">= 3.11, < 3.12.0a1" dynamic = ["version"] classifiers = [ "Development Status :: 4 - Beta", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.11", "Topic :: Communications :: Chat", "Topic :: Multimedia", ] [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[^"]+)"' [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", "webui.db", "chroma.sqlite3", ] force-include = { "CHANGELOG.md" = "open_webui/CHANGELOG.md", build = "open_webui/frontend" }