feat(mcp): sérialisation Polars -> JSON pour les tools MCP

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Colin Maudry
2026-07-09 19:53:08 +02:00
parent 4c9bb87808
commit 4b3a2f5432
4 changed files with 41 additions and 0 deletions
View File
+21
View File
@@ -0,0 +1,21 @@
import datetime
from typing import Any
import polars as pl
def to_json_records(df: pl.DataFrame) -> list[dict[str, Any]]:
"""Convertit un DataFrame Polars en liste de dicts JSON-sérialisables.
Les dates/datetimes deviennent des chaînes ISO 8601 ; les valeurs nulles
restent None. Utilisé par tous les tools MCP pour produire une sortie propre.
"""
return [
{key: _jsonify(value) for key, value in row.items()} for row in df.to_dicts()
]
def _jsonify(value: Any) -> Any:
if isinstance(value, (datetime.date, datetime.datetime)):
return value.isoformat()
return value