Skip to main content

python_client

Function python_client 

Source
pub fn python_client(schema: &Value) -> String
Expand description

The generated half of templates/python/choir.py: one method per tool, rendered from the schema document and nothing else (D17).

This is the point of the artifact rather than an implementation detail. D17 bets that an agent writes code against a typed API, and /api/schema is the description that code would be generated from — but a description is only sufficient if something has actually been generated from it without reading choir’s source. So this takes the parsed schema as its argument and never touches ENDPOINTS or COMMANDS. If a method comes out wrong, the schema is what was insufficient, and that is the finding.

The shell library is the opposite bargain and both are wanted: it wraps the binary and can therefore sign, while this needs no binary and therefore cannot.