pyproject.toml 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. [project]
  2. name = "open-webui"
  3. description = "Open WebUI (Formerly Ollama WebUI)"
  4. authors = [
  5. { name = "Timothy Jaeryang Baek", email = "tim@openwebui.com" }
  6. ]
  7. license = { file = "LICENSE" }
  8. dependencies = [
  9. "fastapi==0.111.0",
  10. "uvicorn[standard]==0.22.0",
  11. "pydantic==2.7.1",
  12. "python-multipart==0.0.9",
  13. "Flask==3.0.3",
  14. "Flask-Cors==4.0.1",
  15. "python-socketio==5.11.2",
  16. "python-jose==3.3.0",
  17. "passlib[bcrypt]==1.7.4",
  18. "requests==2.32.2",
  19. "aiohttp==3.9.5",
  20. "peewee==3.17.5",
  21. "peewee-migrate==1.12.2",
  22. "psycopg2-binary==2.9.9",
  23. "PyMySQL==1.1.0",
  24. "bcrypt==4.1.3",
  25. "boto3==1.34.110",
  26. "argon2-cffi==23.1.0",
  27. "APScheduler==3.10.4",
  28. "google-generativeai==0.5.4",
  29. "langchain==0.2.0",
  30. "langchain-community==0.2.0",
  31. "langchain-chroma==0.1.1",
  32. "fake-useragent==1.5.1",
  33. "chromadb==0.5.0",
  34. "sentence-transformers==2.7.0",
  35. "pypdf==4.2.0",
  36. "docx2txt==0.8",
  37. "unstructured==0.14.0",
  38. "Markdown==3.6",
  39. "pypandoc==1.13",
  40. "pandas==2.2.2",
  41. "openpyxl==3.1.2",
  42. "pyxlsb==1.0.10",
  43. "xlrd==2.0.1",
  44. "validators==0.28.1",
  45. "opencv-python-headless==4.9.0.80",
  46. "rapidocr-onnxruntime==1.3.22",
  47. "fpdf2==2.7.9",
  48. "rank-bm25==0.2.2",
  49. "faster-whisper==1.0.2",
  50. "PyJWT[crypto]==2.8.0",
  51. "authlib==1.3.0",
  52. "black==24.4.2",
  53. "langfuse==2.33.0",
  54. "youtube-transcript-api==0.6.2",
  55. "pytube==15.0.0",
  56. "extract_msg",
  57. "pydub",
  58. "duckduckgo-search~=6.1.5"
  59. ]
  60. readme = "README.md"
  61. requires-python = ">= 3.11, < 3.12.0a1"
  62. dynamic = ["version"]
  63. classifiers = [
  64. "Development Status :: 4 - Beta",
  65. "License :: OSI Approved :: MIT License",
  66. "Programming Language :: Python :: 3",
  67. "Programming Language :: Python :: 3.11",
  68. "Topic :: Communications :: Chat",
  69. "Topic :: Multimedia",
  70. ]
  71. [project.scripts]
  72. open-webui = "open_webui:app"
  73. [build-system]
  74. requires = ["hatchling"]
  75. build-backend = "hatchling.build"
  76. [tool.rye]
  77. managed = true
  78. dev-dependencies = []
  79. [tool.hatch.metadata]
  80. allow-direct-references = true
  81. [tool.hatch.version]
  82. path = "package.json"
  83. pattern = '"version":\s*"(?P<version>[^"]+)"'
  84. [tool.hatch.build.hooks.custom] # keep this for reading hooks from `hatch_build.py`
  85. [tool.hatch.build.targets.wheel]
  86. sources = ["backend"]
  87. exclude = [
  88. ".dockerignore",
  89. ".gitignore",
  90. ".webui_secret_key",
  91. "dev.sh",
  92. "requirements.txt",
  93. "start.sh",
  94. "start_windows.bat",
  95. "webui.db",
  96. "chroma.sqlite3",
  97. ]
  98. force-include = { "CHANGELOG.md" = "open_webui/CHANGELOG.md", build = "open_webui/frontend" }