The Python facade is intended for game servers or tooling scripts that want a stable high-level NPC API.
from luvoire.game import GameSession
session = GameSession(game_id="demo-village")
npc = session.create_npc(
persona_file="sdk/python/examples/personas/shopkeeper.yaml",
initial_relationships={"player": "neighbor"},
)
response = npc.interact(
"asks whether the lantern market is ready",
context={"location": "Harbor Village"},
)
print(response.text)GameSession: owns game id, provider name, and NPC registry.NPC: exposesinteract(player_action, context).NPCResponse: returnstext,emotion,branch_flags, andrawmetadata.
The Phase 24 facade is local and deterministic by default. Provider-backed calls can be added behind the same surface later.
The repository-level sdk.python.luvoire_game module is kept as a compatibility import for examples that vendor the SDK folder directly.