/ pyproject.toml
pyproject.toml
1 [project] 2 name = "restai-core" 3 version = "6.2.11" 4 description = "RESTAI, so many 'A's and 'I's, so little time..." 5 authors = [{ name = "Pedro Dias", email = "petermdias@gmail.com" }] 6 requires-python = ">=3.11,<3.14" 7 readme = "README.md" 8 license = "Apache-2.0" 9 dependencies = [ 10 "openai>=1.109.0,<3", 11 "fastapi>=0.136.0,<0.137", 12 "starlette>=0.46.0,<2", 13 "langchain>=0.3.28,<2", 14 "uvicorn>=0.44.0,<0.45", 15 "python-multipart>=0.0.26,<0.1", 16 "python-dotenv>=1.2.2,<2", 17 "pdfminer.six", 18 "unstructured>=0.21.5,<0.23", 19 "pydantic>=2.13.1,<3", 20 "tiktoken>=0.12.0,<0.13", 21 "python-pptx>=1.0.2,<2", 22 "bs4>=0.0.2,<0.1", 23 "selenium>=4.43.0,<5", 24 "yake>=0.4.8,<0.8", 25 "bcrypt>=4.2.0,<6", 26 "SQLAlchemy>=2.0.49,<3", 27 "jq>=1.11.0,<2", 28 "redis>=5.3.0,<8", 29 "openpyxl>=3.1.5,<4", 30 "google-cloud-aiplatform>=1.148.0,<2", 31 "pymysql>=1.1.2,<2", 32 "unidecode>=1.4.0,<2", 33 "httpx>=0.28.1,<0.29", 34 "exceptiongroup>=1.3.1,<2", 35 "wheel>=0.46.3,<0.47", 36 "pyjwt>=2.12.1,<3", 37 "pyotp>=2.9.0,<3", 38 "langchain-community>=0.3.31,<0.5", 39 "langchain-openai>=0.3.35,<2", 40 "pypdf>=6.10.2,<7", 41 "docker>=7.1.0,<8", 42 "ollama>=0.6.1,<0.7", 43 "opencv-python-headless>=4.8,<5", 44 "ip-adapter>=0.1.0,<0.2", 45 "ilock>=1.0.3,<2", 46 "docx2txt>=0.9,<0.10", 47 "llama-index-core>=0.14.20,<0.15", 48 "llama-index-embeddings-langchain>=0.5.0,<0.6", 49 "llama-index-vector-stores-chroma>=0.5.5,<0.6", 50 "llama-index-vector-stores-postgres>=0.6.0,<0.9", 51 "llama-index-vector-stores-weaviate>=0.6,<2", 52 "llama-index-vector-stores-pinecone>=0.5,<0.9", 53 "pgvector>=0.4.2,<0.5", 54 "pinecone>=7.0.0,<9", 55 "weaviate-client>=4.15.0,<5", 56 "chromadb>=1.5.8,<2", 57 "llama-index-llms-openai>=0.7.5,<0.8", 58 "einops>=0.8.2,<0.9", 59 "llama-index-llms-ollama>=0.7.0,<0.8", 60 "llama-index-postprocessor-colbert-rerank>=0.5.0,<0.6", 61 "llama-index-embeddings-openai>=0.6.0,<0.7", 62 "llama-index-readers-file>=0.6.0,<0.7", 63 "deepeval>=3.9.7,<4", 64 "llama-index-llms-anthropic>=0.11.2,<0.12", 65 "llama-index-llms-litellm>=0.7.1,<0.8", 66 "psycopg2-binary>=2.9.11,<3", 67 "sentry-sdk[fastapi]>=2.58.0,<3", 68 "llama-index-llms-gemini>=0.6.2,<0.7", 69 "google-generativeai>=0.8.6,<0.9", 70 "llama-index-llms-azure-openai>=0.5.3,<0.6", 71 "llama-index-llms-bedrock-converse>=0.7.0,<0.15", 72 "ddgs>=9.14.0,<10", 73 "wikipedia>=1.4.0,<2", 74 "llama-index-storage-chat-store-redis>=0.7.0,<0.8", 75 "pandas>=2.2.3,<4", 76 "llama-index-llms-vllm>=0.7.0,<0.8", 77 "llama-index-multi-modal-llms-ollama>=0.6.1,<0.7", 78 "llama-index-llms-openai-like>=0.7.1,<0.8", 79 "paramiko>=3.5.1,<5", 80 "soundfile>=0.13.1,<0.14", 81 "langchain-huggingface>=0.1.2,<2", 82 "llama-index-embeddings-ollama>=0.9.0,<0.10", 83 "llama-index-readers-json>=0.5.0,<0.6", 84 "ldap3>=2.9.1,<3", 85 "authlib>=1.6.11,<2", 86 "itsdangerous>=2.2.0,<3", 87 "alembic>=1.18.4,<2", 88 "llama-index-multi-modal-llms-gemini>=0.6.1,<0.7", 89 "llama-index-tools-mcp>=0.4.8,<0.5", 90 "fastmcp>=2.14,<4", 91 "llama-index-node-parser-docling>=0.4.2,<0.5", 92 "tomli>=2.4.1,<3", 93 "llama-index-readers-docling>=0.4.2,<0.5", 94 "markitdown[all]>=0.1.5,<0.2", 95 "slack-bolt>=1.28.0,<2", 96 "google-cloud-speech>=2.27.0,<3", 97 "deepgram-sdk>=3.7.0,<5", 98 "assemblyai>=0.34.0,<1", 99 ] 100 101 [project.scripts] 102 restai = "restai.cli:main" 103 104 [dependency-groups] 105 gpu = [ 106 "transformers>=4.56.0,<4.57", 107 "xformers>=0.0.29.post3,<0.0.30", 108 "optimum>=1.24.0,<2", 109 "accelerate>=1.13.0,<2", 110 "bitsandbytes>=0.45.5,<0.46", 111 "diffusers>=0.33.1,<0.34", 112 "sentencepiece>=0.2.1", 113 "torch>=2.6.0,<3", 114 "kornia>=0.8.2,<0.9", 115 "timm>=1.0.25,<2", 116 "triton>=3.2.0,<4" 117 ] 118 dev = [ 119 "pylint>=3.3.0,<4", 120 "debugpy>=1.8.20,<2", 121 "black>=25.12.0,<27", 122 ] 123 124 [tool.uv] 125 default-groups = [ 126 "gpu", 127 "dev", 128 ] 129 no-build-isolation-package = ["xformers"] 130 131 [build-system] 132 requires = ["hatchling"] 133 build-backend = "hatchling.build" 134 135 [tool.hatch.build] 136 artifacts = ["frontend/build/**"] 137 exclude = [ 138 "wordpress/**", 139 "wordpress", 140 ] 141 142 [tool.hatch.build.targets.sdist] 143 include = ["restai/", "modules/", "migrations/", "crons/", "frontend/build/", "alembic.ini", "database.py"] 144 145 [tool.hatch.build.targets.wheel] 146 packages = ["restai", "modules", "migrations"] 147 148 [tool.hatch.build.targets.wheel.force-include] 149 "frontend/build" = "frontend/build" 150 "alembic.ini" = "alembic.ini" 151 "database.py" = "database.py" 152 "crons" = "crons"