# pyproject.toml - Python project configuration
# This file is generated from the uv-nix-template Copier template
[project]
name = "ml-research-mcp"
version = "0.1.0"
description = "A MCP Server for ML Research and Development."
readme = "README.md"
authors = [
{ name = "nishide-dev", email = "nishide.dev@gmail.com" }
]
requires-python = ">=3.12"
dependencies = [
"fastmcp>=3.0.0b1",
"ultraplot>=0.1.0",
"matplotlib>=3.9.0",
"polars>=0.20.0",
"Pillow>=10.0.0",
"pydantic>=2.0.0",
]
# Classifiers help users find your project
# See https://pypi.org/classifiers/
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
]
[project.scripts]
ml-research-mcp = "ml_research_mcp.server:main"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.uv]
managed = true # uvによる環境管理を有効化
dev-dependencies = []
# Hatch build configuration
[tool.hatch.build.targets.wheel]
packages = ["src/ml_research_mcp"]
# ============================================================================
# Development tool configurations
# ============================================================================
# ty - 高速Python型チェッカー (Rust製)
# https://docs.astral.sh/ty/
[tool.ty]
[tool.ty.environment]
python-version = "3.12"
[tool.ty.src]
# Only check source code, not tests (which use MCP decorators)
include = ["src/**/*.py"]
[tool.ty.terminal]
output-format = "full"
# Pytest - テストフレームワーク
# https://docs.pytest.org/
[tool.pytest.ini_options]
testpaths = ["tests"]
python_files = ["test_*.py", "*_test.py"]
python_classes = ["Test*"]
python_functions = ["test_*"]
addopts = [
"--strict-markers",
"--strict-config",
"--showlocals",
]
# Coverage settings (pytest-cov plugin)
[tool.coverage.run]
source = ["src"]
branch = true
[tool.coverage.report]
show_missing = true
skip_covered = false
# ============================================================================
# Dependency Groups (PEP 735)
# https://peps.python.org/pep-0735/
# ============================================================================
[dependency-groups]
dev = [
"pytest>=8.0",
"pytest-cov>=4.1",
"pytest-asyncio>=0.23.0",
"ruff>=0.6",
"ty",
]