pyproject.toml•1.96 kB
[project]
name = "skyforge-mcp"
version = "0.1.0"
description = "SkyForge MCP Server - Model Context Protocol server for SkySpark/Haxall/Haystack systems"
readme = "README.md"
requires-python = ">=3.12"
authors = [{ name = "James Gessel" }]
keywords = ["mcp", "skyforge", "skyspark", "haxall", "building", "automation", "iot"]
license = { text = "MIT" }
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.12",
]
# Dependencies inherited from workspace root
dependencies = [
"httpx>=0.27.0",
"mcp[cli]>=1.16.0",
"phable>=0.1.20",
"pydantic>=2.12.0",
"python-dotenv>=1.0.0",
"starlette>=0.48.0",
"jsonschema>=4.22.0",
"tzdata>=2025.2",
"uvicorn>=0.37.0",
"watchfiles>=0.24.0",
]
[project.optional-dependencies]
dev = [
"pytest>=8.0.0",
"pytest-asyncio>=0.23.0",
"pytest-mock>=3.12.0",
"pytest-cov>=4.1.0",
]
[project.scripts]
skyforge-mcp = "skyforge_mcp.main:main"
[tool.setuptools.packages.find]
include = ["skyforge_mcp*", "app*"]
[tool.ruff]
exclude = [
"migrations",
"*/migrations/*",
]
line-length = 120
# Enable Pyflakes `E` and `F` codes by default.
# Unlike Flake8, Ruff doesn't enable pycodestyle `E` and `W` warnings by default.
# E402 module level import not at top of file
# E501 line too long - let black handle this
# E722 do not use bare except
select = ["E", "F", "I", "W"]
ignore = ["E501", "E402", "E722"]
# Assume Python 3.12
target-version = "py312"
[tool.ruff.format]
# Like Black, use double quotes for strings.
quote-style = "double"
# Like Black, indent sequences for visual alignment.
indent-style = "space"
# Like Black, respect magic trailing commas.
skip-magic-trailing-comma = false
# Like Black, automatically detect the line length from the
# `line-length` setting.
line-ending = "auto"