[project]
name = "yfmcp"
version = "0.4.1"
description = ""
readme = "README.md"
authors = [{ name = "narumi", email = "toucans-cutouts0f@icloud.com" }]
requires-python = ">=3.12"
dependencies = [
"loguru>=0.7.3",
"mcp[cli]>=1.6.0",
"tabulate>=0.9.0",
"yfinance>=0.2.55",
]
[project.scripts]
yfmcp = "yfmcp.server:main"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[dependency-groups]
dev = [
"anyio[trio]>=4.9.0",
"mypy>=1.13.0",
"pip>=25.0.1",
"pytest>=8.3.3",
"pytest-asyncio>=0.26.0",
"pytest-cov>=6.0.0",
"ruff>=0.7.3",
"types-pyopenssl>=24.1.0.20240722",
"types-pyyaml>=6.0.12.20250326",
"types-setuptools>=78.1.0.20250329",
]
[tool.ruff]
exclude = ["build"]
line-length = 120
[tool.ruff.lint]
select = [
"B", # flake8-bugbear
"C", # flake8-comprehensions
"E", # pycodestyle errors
"F", # pyflakes
"I", # isort
"N", # pep8-naming
"SIM", # flake8-simplify
"UP", # pyupgrade
"W", # pycodestyle warnings
]
[tool.ruff.lint.per-file-ignores]
"__init__.py" = ["F401", "F403"]
[tool.ruff.lint.isort]
force-single-line = true
[tool.pytest.ini_options]
filterwarnings = ["ignore::DeprecationWarning"]
[tool.mypy]
ignore_missing_imports = true
[tool.bumpversion]
current_version = "0.4.1"
tag = true
commit = true
pre_commit_hooks = ["uv lock", "git add uv.lock"]