mirror of
https://github.com/NickoScope/nickol-knx-mcp.git
synced 2026-09-29 19:31:12 +02:00
load_ga_export (32nd tool), multi-address entity naming, climate setpoint shift, suggest_repairs crash fix, CI runs the whole test suite. Details in CHANGELOG. Pre-release checks: corpus guard no drift on six real projects; twine check PASSED for wheel and sdist; mcp-name marker present in METADATA; wheel carries ga_export and no tools/tests/corpus files; sdist has no corpus map or project files; a clean isolated venv from the wheel imports 0.8.2 and exposes load_ga_export. CHANGELOG compare links added for 0.8.1 and 0.8.2. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
61 lines
2.0 KiB
TOML
61 lines
2.0 KiB
TOML
[project]
|
|
name = "nickol-knx-mcp"
|
|
version = "0.8.2"
|
|
description = "Design-time KNX/ETS6 project assistant as an MCP server (parse .knxproj, validate, generate HA YAML + ETS CSV/XML). No live bus access."
|
|
readme = "README.md"
|
|
requires-python = ">=3.10"
|
|
license = { text = "MIT" }
|
|
authors = [{ name = "Nikolay Miroshnichenko" }]
|
|
keywords = ["knx", "ets", "ets6", "home-assistant", "mcp", "model-context-protocol", "smart-home", "home-automation"]
|
|
classifiers = [
|
|
"Development Status :: 4 - Beta",
|
|
"Intended Audience :: Developers",
|
|
"License :: OSI Approved :: MIT License",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Topic :: Home Automation",
|
|
"Topic :: Software Development :: Libraries",
|
|
]
|
|
dependencies = [
|
|
"mcp>=1.10,<2", # v2 renames mcp.server.fastmcp.FastMCP -> mcp.server.MCPServer (breaking)
|
|
"xknxproject>=3.8",
|
|
"PyYAML>=6.0",
|
|
"defusedxml>=0.7", # hardened XML parsing of untrusted .knxproj (XXE/billion-laughs)
|
|
]
|
|
|
|
[project.urls]
|
|
Homepage = "https://github.com/NickoScope/nickol-knx-mcp"
|
|
Repository = "https://github.com/NickoScope/nickol-knx-mcp"
|
|
Issues = "https://github.com/NickoScope/nickol-knx-mcp/issues"
|
|
Changelog = "https://github.com/NickoScope/nickol-knx-mcp/blob/main/CHANGELOG.md"
|
|
|
|
[project.scripts]
|
|
nickol-knx-mcp = "nickol_knx_mcp.server:main"
|
|
|
|
[build-system]
|
|
requires = ["setuptools>=68"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[tool.setuptools]
|
|
packages = ["nickol_knx_mcp"]
|
|
|
|
[tool.setuptools.package-data]
|
|
nickol_knx_mcp = ["room_templates/*.yaml", "room_templates/*.md"]
|
|
|
|
[tool.ruff]
|
|
target-version = "py310"
|
|
line-length = 110
|
|
|
|
[tool.ruff.lint]
|
|
# Deliberately narrow: real errors, not style. E9 = syntax/IO errors, F = pyflakes
|
|
# (undefined names, unused imports, broken f-strings). Style rules are left off so the
|
|
# gate stays meaningful instead of noisy.
|
|
select = ["E9", "F"]
|
|
|
|
[tool.mypy]
|
|
python_version = "3.10"
|
|
ignore_missing_imports = true
|
|
files = ["nickol_knx_mcp"]
|