[tool.poetry] name = "semantic-router" version = "0.1.0.dev10" description = "Super fast semantic router for AI decision making" authors = ["Aurelio AI <hello@aurelio.ai>"] readme = "README.md" packages = [{include = "semantic_router"}] license = "MIT" [tool.poetry.dependencies] python = ">=3.9,<3.14" pydantic = "^2.10.2" openai = ">=1.10.0,<2.0.0" cohere = {version = ">=5.9.4,<6.00", optional = true} mistralai= {version = ">=0.0.12,<0.1.0", optional = true} numpy = "^1.25.2" colorlog = "^6.8.0" pyyaml = "^6.0.1" aurelio-sdk = {version = "^0.0.18"} pinecone-text = {version = ">=0.7.1", optional = true} torch = {version = ">=2.1.0,<2.6.0", optional = true, python = "<3.13" } transformers = {version = ">=4.36.2", optional = true, python = "<3.13" } tokenizers = {version = ">=0.19", optional = true, python = "<3.13" } llama-cpp-python = {version = ">=0.2.28,<0.2.86", optional = true, python = "<3.13" } colorama = "^0.4.6" pinecone = {version=">=5.0.0", optional = true} regex = ">=2023.12.25" torchvision = { version = ">=0.17.0,<0.18.0", optional = true, python = "<3.13" } pillow = { version = ">=10.2.0,<11.0.0", optional = true, python = "<3.13" } tiktoken = ">=0.6.0,<1.0.0" qdrant-client = {version = "^1.11.1", optional = true} google-cloud-aiplatform = {version = "^1.45.0", optional = true} requests-mock = "^1.12.1" boto3 = { version = "^1.34.98", optional = true } botocore = {version = "^1.34.110", optional = true} aiohttp = "^3.10.11" fastembed = {version = "^0.3.0", optional = true, python = "<3.13" } psycopg2-binary = {version = "^2.9.9", optional = true} sphinx = {version = "^7.0.0", optional = true} sphinxawesome-theme = {version = "^5.2.0", optional = true} tornado = {version = "^6.4.2", optional = true} urllib3 = ">=1.25.4,<1.27" [tool.poetry.extras] hybrid = ["pinecone-text"] local = ["torch", "transformers", "tokenizers", "huggingface-hub", "llama-cpp-python"] pinecone = ["pinecone"] vision = ["torch", "torchvision", "transformers", "pillow"] mistralai = ["mistralai"] qdrant = ["qdrant-client"] google = ["google-cloud-aiplatform"] bedrock = ["boto3", "botocore"] postgres = ["psycopg2"] fastembed = ["fastembed"] docs = ["sphinx", "sphinxawesome-theme"] cohere = ["cohere"] [tool.poetry.group.dev.dependencies] ipykernel = "^6.25.0" ruff = "^0.1.5" pytest = "^8.2" pytest-mock = "^3.12.0" pytest-cov = "^4.1.0" pytest-xdist = "^3.5.0" pytest-asyncio = "^0.24.0" mypy = "^1.7.1" types-pyyaml = "^6.0.12.12" types-requests = "^2.31.0" black = {extras = ["jupyter"], version = ">=23.12.1,<24.5.0"} pydoc-markdown="^4.8.2" [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" [tool.ruff.per-file-ignores] "*.ipynb" = ["ALL"] [tool.ruff] line-length = 88 [tool.mypy] ignore_missing_imports = true