Skip to content
Snippets Groups Projects
pyproject.toml 3.16 KiB
Newer Older
  • Learn to ignore specific revisions
  • [project]
    
    James Briggs's avatar
    James Briggs committed
    name = "semantic-router"
    
    version = "0.1.0"
    
    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