pyproject.toml 2.78 KB
Newer Older
1
2
3
4
[project]
name = "open-webui"
description = "Open WebUI (Formerly Ollama WebUI)"
authors = [
Timothy J. Baek's avatar
refac  
Timothy J. Baek committed
5
    { name = "Timothy Jaeryang Baek", email = "tim@openwebui.com" }
6
7
8
]
license = { file = "LICENSE" }
dependencies = [
9
    "fastapi==0.111.0",
10
    "uvicorn[standard]==0.22.0",
Timothy J. Baek's avatar
Timothy J. Baek committed
11
    "pydantic==2.8.2",
12
13
14
    "python-multipart==0.0.9",

    "Flask==3.0.3",
15
    "Flask-Cors==4.0.1",
16

Timothy J. Baek's avatar
Timothy J. Baek committed
17
    "python-socketio==5.11.3",
18
19
20
    "python-jose==3.3.0",
    "passlib[bcrypt]==1.7.4",

Timothy J. Baek's avatar
Timothy J. Baek committed
21
    "requests==2.32.3",
22
    "aiohttp==3.9.5",
Timothy J. Baek's avatar
Timothy J. Baek committed
23
24
25
26

    "sqlalchemy==2.0.31",
    "alembic==1.13.2",
    "peewee==3.17.6",
27
28
    "peewee-migrate==1.12.2",
    "psycopg2-binary==2.9.9",
29
    "PyMySQL==1.1.1",
30
    "bcrypt==4.1.3",
31

Timothy J. Baek's avatar
Timothy J. Baek committed
32
33
    "pymongo",
    "redis",
34
    "boto3==1.34.110",
35
36
37

    "argon2-cffi==23.1.0",
    "APScheduler==3.10.4",
Timothy J. Baek's avatar
Timothy J. Baek committed
38
39
40

    "openai",
    "anthropic",
41
    "google-generativeai==0.5.4",
Timothy J. Baek's avatar
Timothy J. Baek committed
42
    "tiktoken",
43

Timothy J. Baek's avatar
Timothy J. Baek committed
44
45
46
    "langchain==0.2.11",
    "langchain-community==0.2.10",
    "langchain-chroma==0.1.2",
47
48

    "fake-useragent==1.5.1",
Timothy J. Baek's avatar
Timothy J. Baek committed
49
50
    "chromadb==0.5.4",
    "sentence-transformers==3.0.1",
51
52
    "pypdf==4.2.0",
    "docx2txt==0.8",
Timothy J. Baek's avatar
Timothy J. Baek committed
53
54
    "python-pptx==0.6.23",
    "unstructured==0.15.0",
55
56
57
    "Markdown==3.6",
    "pypandoc==1.13",
    "pandas==2.2.2",
Timothy J. Baek's avatar
Timothy J. Baek committed
58
    "openpyxl==3.1.5",
59
60
61
    "pyxlsb==1.0.10",
    "xlrd==2.0.1",
    "validators==0.28.1",
Timothy J. Baek's avatar
Timothy J. Baek committed
62
    "psutil",
63

Timothy J. Baek's avatar
Timothy J. Baek committed
64
65
    "opencv-python-headless==4.10.0.84",
    "rapidocr-onnxruntime==1.3.24",
66

67
    "fpdf2==2.7.9",
68
69
    "rank-bm25==0.2.2",

70
    "faster-whisper==1.0.2",
71
72

    "PyJWT[crypto]==2.8.0",
73
    "authlib==1.3.1",
74
75

    "black==24.4.2",
Timothy J. Baek's avatar
Timothy J. Baek committed
76
    "langfuse==2.39.2",
77
    "youtube-transcript-api==0.6.2",
78
    "pytube==15.0.0",
Timothy J. Baek's avatar
Timothy J. Baek committed
79

Timothy J. Baek's avatar
Timothy J. Baek committed
80
81
    "extract_msg",
    "pydub",
Timothy J. Baek's avatar
Timothy J. Baek committed
82
    "duckduckgo-search~=6.2.1",
Timothy J. Baek's avatar
Timothy J. Baek committed
83

Timothy J. Baek's avatar
Timothy J. Baek committed
84
85
86
    "docker~=7.1.0",
    "pytest~=8.2.2",
    "pytest-docker~=3.1.1"
87
88
89
90
91
92
93
]
readme = "README.md"
requires-python = ">= 3.11, < 3.12.0a1"
dynamic = ["version"]
classifiers = [
    "Development Status :: 4 - Beta",
    "License :: OSI Approved :: MIT License",
Tang Ziya's avatar
Tang Ziya committed
94
95
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.11",
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
    "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<version>[^"]+)"'

Tang Ziya's avatar
Tang Ziya committed
118
119
[tool.hatch.build.hooks.custom]  # keep this for reading hooks from `hatch_build.py`

120
121
122
123
124
125
126
127
128
129
[tool.hatch.build.targets.wheel]
sources = ["backend"]
exclude = [
    ".dockerignore",
    ".gitignore",
    ".webui_secret_key",
    "dev.sh",
    "requirements.txt",
    "start.sh",
    "start_windows.bat",
Tang Ziya's avatar
Tang Ziya committed
130
131
    "webui.db",
    "chroma.sqlite3",
132
]
Tang Ziya's avatar
Tang Ziya committed
133
force-include = { "CHANGELOG.md" = "open_webui/CHANGELOG.md", build = "open_webui/frontend" }