pyproject.toml•2.49 kB
[project]
name = "vibe-math-mcp"
version = "2.0.2"
description = "High-performance MCP server for mathematical operations using Polars and scientific Python"
license = "MIT"
keywords = [
"mcp",
"math",
"mathematics",
"statistics",
"calculus",
"linear-algebra",
"finance",
"polars",
"numpy",
"scipy",
]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Topic :: Scientific/Engineering :: Mathematics",
"Topic :: Software Development :: Libraries :: Python Modules",
]
readme = "README.md"
authors = [
{ name = "Akshay Petta", email = "33671231+apetta@users.noreply.github.com" },
]
requires-python = ">=3.11"
dependencies = [
"fastmcp~=2.13.0",
"polars~=1.34.0",
"pandas~=2.3.3",
"numpy~=2.3.4",
"numpy-financial~=1.0.0",
"scipy~=1.16.2",
"sympy~=1.14.0",
"pydantic~=2.12.3",
"pyarrow~=22.0.0",
"uvicorn~=0.34.0",
"starlette~=0.41.0",
]
[project.scripts]
vibe-math-mcp = "vibe_math_mcp.server:main"
vibe-math-mcp-http = "vibe_math_mcp.http_server:main"
[project.optional-dependencies]
dev = [
"pytest>=8.0.0",
"pytest-asyncio>=0.23.0",
"pytest-cov>=4.1.0",
"ruff>=0.3.0",
]
[build-system]
requires = ["uv_build>=0.8.13,<0.9.0"]
build-backend = "uv_build"
[tool.pytest.ini_options]
asyncio_mode = "auto"
asyncio_default_fixture_loop_scope = "function"
testpaths = ["tests"]
python_files = ["test_*.py"]
python_functions = ["test_*"]
addopts = [
"--strict-markers",
"-ra",
"--cov=vibe_math_mcp",
"--cov-report=term-missing",
"--cov-report=html",
]
[tool.ruff]
line-length = 100
target-version = "py310"
[tool.coverage.run]
source = ["src/vibe_math_mcp"]
omit = ["*/tests/*"]
[tool.coverage.report]
exclude_lines = [
"pragma: no cover",
"if TYPE_CHECKING:",
"raise NotImplementedError",
]
[tool.poe.tasks]
test = "pytest -n auto"
lint = "ruff check ."
format = "ruff format ."
check = ["lint", "test"]
clean = { shell = "rm -rf .coverage htmlcov .pytest_cache **/__pycache__" }
[dependency-groups]
dev = [
"pytest~=8.4.2",
"pytest-asyncio~=1.1.0",
"pytest-cov~=7.0.0",
"pytest-xdist~=3.8.0",
"poethepoet~=0.37.0",
"ruff~=0.14.2",
]