[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "fibery-mcp-server"
version = "0.1.3"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.10"
dependencies = [
"click>=8.1.8",
"httpx>=0.28.1",
"mcp[cli]>=1.4.1",
"pydantic>=2.10.6",
"python-dotenv>=1.0.1",
]
[dependency-groups]
dev = [
"build>=1.2.2.post1",
"pytest>=8.3.5",
"pytest-asyncio>=0.25.3",
"ruff>=0.11.0",
"twine>=6.1.0",
]
[tool.ruff]
line-length = 120
exclude = ["__init__.py"]
[tool.ruff.lint]
select = [
"ANN001", # missing-type-function-argument
"ANN002", # missing-type-args
"ANN003", # missing-type-kwargs
"ANN201", # missing-return-type-public-function
"ANN202", # missing-return-type-private-function
"ANN204", # missing-return-type-special-method
"ANN205", # missing-return-type-staticmethod
"ANN206", # missing-return-type-classmethod
]
[tool.ruff.lint.per-file-ignores]
"__init__.py" = ["ANN"]
"*/__init__.py" = ["ANN204"]
"*_test.py" = ["ANN204"]
[tool.ruff.lint.flake8-annotations]
mypy-init-return = true
[tool.pytest.ini_options]
asyncio_mode = "auto"
asyncio_default_fixture_loop_scope = "function"
[project.scripts]
fibery-mcp-server = "fibery_mcp_server:main"
[tool.hatch.build.targets.wheel]
packages = ["src/fibery_mcp_server"]
[tool.hatch.metadata]
allow-direct-references = true