pyproject.toml•1.98 kB
[build-system]
requires = ["hatchling", "uv-dynamic-versioning"]
build-backend = "hatchling.build"
[project]
name = "noctua_mcp"
description = "MCP server for Barista to control Noctua editing"
authors = [
{name = "My Name", email = "my-name@my-org.org"},
]
license = "BSD-3-Clause"
license-files = ["LICENSE"]
readme = "README.md"
requires-python = ">=3.10,<4.0"
dynamic = ["version"]
dependencies = [
"typer >= 0.9.0",
"linkml-runtime >=1.9.4",
"fastmcp>=2.12.4",
"pytest-asyncio>=0.23",
"noctua",
]
[dependency-groups]
dev = [
"linkml>=1.9.3",
"mypy>=1.17.1",
"ruff>=0.4.8",
"mkdocs-material>=8.2.8",
"mkdocs-mermaid2-plugin>=1.1.1",
"jupyter>=1.0.0",
"mknotebooks>= 0.8.0",
]
[project.scripts]
noctua-mcp = "noctua_mcp.cli:main"
# See https://hatch.pypa.io/latest/config/build/#file-selection for how to
# explicitly include files other than default into the build distributions.
[tool.hatch.metadata]
allow-direct-references = true
[tool.hatch.version]
source = "uv-dynamic-versioning"
# Ref.: https://github.com/ninoseki/uv-dynamic-versioning/
[tool.uv-dynamic-versioning]
vcs = "git"
style = "pep440"
fallback-version = "0.0.0"
# Ref.: https://docs.pytest.org/en/stable/reference/reference.html#configuration-options
[tool.pytest.ini_options]
testpaths = ["tests"]
# Ref.: https://github.com/codespell-project/codespell
[tool.codespell]
skip = [
"LICENSE",
"pyproject.toml",
"uv.lock",
"project/*",
"src/noctua_mcp/datamodel/noctua_mcp_pydantic.py",
"src/noctua_mcp/datamodel/noctua_mcp.py",
]
# Reminder: words have to be lowercased for the ignore-words-list
ignore-words-list = "linke"
quiet-level = 3
# Ref.: https://github.com/crate-ci/typos (spell checker)
[tool.typos.default.extend-words]
linke = "linke"
[tool.typos.files]
extend-exclude = [
"LICENSE",
"uv.lock",
"pyproject.toml",
"project/*",
"src/noctua_mcp/datamodel/noctua_mcp_pydantic.py",
"src/noctua_mcp/datamodel/noctua_mcp.py",
]