Skip to content
Snippets Groups Projects
pyproject.toml 3.16 KiB
Newer Older
[project]
James Briggs's avatar
James Briggs committed
name = "semantic-router"
version = "0.1.1"
James Briggs's avatar
James Briggs committed
description = "Super fast semantic router for AI decision making"
authors = [{ name = "Aurelio AI", email = "hello@aurelio.ai" }]
requires-python = ">=3.9,<3.14"
James Briggs's avatar
James Briggs committed
readme = "README.md"
license = "MIT"
dependencies = [
    "pydantic>=2.10.2,<3",
    "openai>=1.10.0,<2.0.0",
    "numpy>=1.25.2,<2",
    "colorlog>=6.8.0,<7",
    "pyyaml>=6.0.1,<7",
    "aurelio-sdk>=0.0.18,<0.0.19",
    "colorama>=0.4.6,<0.5",
    "regex>=2023.12.25",
    "tiktoken>=0.6.0,<1.0.0",
    "requests-mock>=1.12.1,<2",
    "aiohttp>=3.10.11,<4",
    "psycopg2-binary>=2.9.9,<3",
    "tornado>=6.4.2,<7",
    "urllib3>=1.25.4,<1.27"
James Briggs's avatar
James Briggs committed

[project.optional-dependencies]
local = [
    "torch>=2.1.0,<2.6.0 ; python_version < '3.13'",
    "transformers>=4.36.2 ; python_version < '3.13'",
    "tokenizers>=0.19 ; python_version < '3.13'",
    "llama-cpp-python>=0.2.28,<0.2.86 ; python_version < '3.13'",
]
James Briggs's avatar
James Briggs committed
pinecone = ["pinecone>=5.0.0,<6.0.0"]
vision = [
James Briggs's avatar
James Briggs committed
    "torch>=2.1.0 ; python_version < '3.13'",
    "torchvision>=0.17.0 ; python_version < '3.13'",
    "transformers>=4.36.2 ; python_version < '3.13'",
    "pillow>=10.2.0,<11.0.0 ; python_version < '3.13'",
]
mistralai = ["mistralai>=0.0.12,<0.1.0"]
qdrant = ["qdrant-client>=1.11.1,<2"]
google = ["google-cloud-aiplatform>=1.45.0,<2"]
bedrock = [
    "boto3>=1.34.98,<2",
    "botocore>=1.34.110,<2",
]
postgres = []
fastembed = ["fastembed>=0.3.0,<0.4 ; python_version < '3.13'"]
docs = ["pydoc-markdown>=4.8.2 ; python_version < '3.12'"]
cohere = ["cohere>=5.9.4,<6.00"]
James Briggs's avatar
James Briggs committed
all = [
    "semantic-router[local]",
    "semantic-router[pinecone]",
    "semantic-router[vision]",
    "semantic-router[mistralai]",
    "semantic-router[qdrant]",
    "semantic-router[google]",
    "semantic-router[bedrock]",
    "semantic-router[postgres]",
    "semantic-router[fastembed]",
    "semantic-router[cohere]",
]
[tool.uv.sources]
James Briggs's avatar
James Briggs committed
torch = [
    { index = "pytorch-nightly", marker = "python_version >= '3.13' and sys_platform == 'darwin'"  },
    { index = "pytorch-cpu", marker = "python_version < '3.13' or sys_platform != 'darwin'" },
]
torchvision = [
    { index = "pytorch-nightly", marker = "python_version >= '3.13' and sys_platform == 'darwin'"  },
    { index = "pytorch-cpu", marker = "python_version < '3.13' or sys_platform != 'darwin'" },
]
Simonas's avatar
Simonas committed

[dependency-groups]
dev = [
    "ipykernel>=6.25.0,<7",
    "ruff>=0.1.5,<0.2",
    "pytest~=8.2",
    "pytest-mock>=3.12.0,<4",
    "pytest-cov>=4.1.0,<5",
    "pytest-xdist>=3.5.0,<4",
    "pytest-asyncio>=0.24.0,<0.25",
    "mypy>=1.7.1,<2",
    "types-pyyaml>=6.0.12.12,<7",
    "types-requests>=2.31.0,<3",
    "black[jupyter]>=23.1.0",
]

[tool.hatch.build.targets.sdist]
include = ["semantic_router"]

[tool.hatch.build.targets.wheel]
include = ["semantic_router"]
Simonas's avatar
Simonas committed

James Briggs's avatar
James Briggs committed
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
Simonas's avatar
Simonas committed

[tool.ruff.per-file-ignores]
Simonas's avatar
Simonas committed
"*.ipynb" = ["ALL"]
Simonas's avatar
Simonas committed
[tool.ruff]
line-length = 88

Simonas's avatar
Simonas committed
[tool.mypy]
ignore_missing_imports = true
James Briggs's avatar
James Briggs committed

# PyTorch indexes
[[tool.uv.index]]
name = "pytorch-cpu"
url = "https://download.pytorch.org/whl/cpu"
explicit = true

[[tool.uv.index]]
name = "pytorch-nightly"
url = "https://download.pytorch.org/whl/nightly/cpu"
explicit = true