[build-system]
requires = ["setuptools>=61.0", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "chuk-mcp-perplexity"
version = "0.1.11"
description = "MCP Perplexity Server"
readme = "README.md"
requires-python = ">=3.11"
license = {text = "Apache-2.0"}
classifiers = [
"License :: OSI Approved :: Apache Software License",
]
dependencies = [
"chuk-llm>=0.8",
"chuk-mcp-runtime>=0.2.3",
"mcp>=1.6.0",
"pydantic>=2.11.2",
"pyyaml>=6.0.2",
]
[project.scripts]
chuk-mcp-perplexity = "chuk_mcp_perplexity.main:main"
mcp-echo-server = "chuk_mcp_perplexity.main:main"
[dependency-groups]
dev = [
"pytest>=8.3.5",
"pytest-asyncio>=1.0.0",
"pytest-cov>=4.1.0",
"ruff>=0.6.0",
"mypy>=1.8.0",
]
[tool.setuptools]
package-dir = { "" = "src" }
[tool.setuptools.packages.find]
where = ["src"] # Change from "." to "src"
include = ["chuk_mcp_perplexity*"]
[tool.pytest.ini_options]
testpaths = ["tests"]
pythonpath = ["src"]
python_files = "test_*.py"
python_functions = "test_*"
asyncio_mode = "auto"
asyncio_default_fixture_loop_scope = "function"
[tool.black]
line-length = 88
target-version = ["py311", "py312"]
[tool.isort]
profile = "black"
line_length = 88
[tool.ruff]
line-length = 88
target-version = "py311"
[tool.ruff.lint.per-file-ignores]
"examples/*.py" = ["F401"] # Allow unused imports in example scripts
"conftest.py" = ["E401"] # Allow multiple imports on one line in conftest