Styl kódu
Pravidla
- Python 3.10+
- Délka řádku: 79 znaků (ruff)
- Union syntaxe:
X | Y(neOptional[X]) - Formáter:
ruff format - Linter:
ruff check - Typová kontrola:
mypy
Tool funkce
@mcp_app.tool()
async def my_tool(
param: Annotated[str, Field(description="Popis parametru")],
) -> str:
"""Stručný popis nástroje."""
result = await _private_impl(param)
return render.to_markdown(result)- Vždy vracejí
str - Parametry s
Annotated[type, Field(description="...")] - Volitelný
@track_performance("czechmedmcp.tool_name")
Paginace
from czechmedmcp.constants import compute_skip
# Správně
skip = compute_skip(page, page_size)
# Špatně
skip = (page - 1) * page_sizeCache
from czechmedmcp.constants import DEFAULT_CACHE_TIMEOUT, CACHE_TTL_DAY
# Nikdy hardcoded hodnotyTimeout
from czechmedmcp.constants import CZECH_HTTP_TIMEOUT
# Nikdy hardcoded 30.0Kontrola
uv run ruff check src tests # Lint
uv run ruff format src tests # Formátování
uv run mypy # Typy
make check # Vše najednouLast updated on