Files
exo/pyproject.toml

116 lines
2.2 KiB
TOML

[project]
name = "exo"
version = "0.2.0"
description = "Exo"
readme = "README.md"
requires-python = ">=3.13"
dependencies = [
"aiofiles>=24.1.0",
"aiohttp>=3.12.14",
"types-aiofiles>=24.1.0.20250708",
"typeguard>=4.4.4",
"pydantic>=2.11.7",
"base58>=2.1.1",
"cryptography>=45.0.5",
"fastapi>=0.116.1",
"uvicorn>=0.35.0",
"filelock>=3.18.0",
"aiosqlite>=0.21.0",
"networkx>=3.5",
"openai>=1.99.9",
"pathlib>=1.0.1",
"protobuf>=6.32.0",
"rich>=14.1.0",
"rustworkx>=0.17.1",
"sqlmodel>=0.0.24",
"sqlalchemy[asyncio]>=2.0.43",
"greenlet>=3.2.4",
"huggingface-hub>=0.33.4",
"mlx==0.26.3",
"mlx-lm @ https://github.com/ml-explore/mlx-lm.git",
"psutil>=7.0.0",
"transformers>=4.55.2",
"cobs>=1.2.2",
]
[project.scripts]
exo-master = "exo.master.main:main"
exo-worker = "exo.worker.main:main"
#exo = "exo.main:main"
# dependencies only required for development
[dependency-groups]
dev = [
"pytest>=8.4.0",
"pytest-asyncio>=1.0.0",
"ruff>=0.11.13",
]
# dependencies only required for Apple Silicon
[project.optional-dependencies]
darwin = [
"mlx",
]
###
# workspace configuration
###
[tool.uv.workspace]
members = [
"scripts",
]
[build-system]
requires = ["uv_build>=0.8.9,<0.9.0"]
build-backend = "uv_build"
###
# type-checker configuration
###
[tool.basedpyright]
typeCheckingMode = "strict"
failOnWarnings = true
reportAny = "error"
reportUnknownVariableType = "error"
reportUnknownParameterType = "error"
reportMissingParameterType = "error"
reportMissingTypeStubs = "error"
reportInvalidCast = "error"
reportUnnecessaryCast = "error"
reportUnnecessaryTypeIgnoreComment = "error"
pythonVersion = "3.13"
pythonPlatform = "Darwin"
###
# uv configuration
###
# supported platforms for this project
[tool.uv]
environments = [
"sys_platform == 'darwin'",
"sys_platform == 'linux'",
]
###
# ruff configuration
###
[tool.ruff]
extend-exclude = ["shared/protobufs/**"]
[tool.ruff.lint]
extend-select = ["I", "N", "B", "A", "PIE", "SIM"]
[tool.pytest.ini_options]
pythonpath = "."
asyncio_mode = "auto"
markers = [
"slow: marks tests as slow (deselected by default)"
]
addopts = "-m 'not slow'"