| name | ax-python-gen |
| description | Use when writing Python code with `axllm` for AxGen programs, forward calls, streaming, tools, assertions, traces, usage, and output parsing. |
| version | 23.0.15 |
AxGen Structured Generation For Python
This skill helps an agent write Python code with the generated Ax package axllm. Use the generated package API, examples, and manifests; do not import TypeScript-only APIs unless you are editing the TypeScript package.
When To Use
- Build a structured generation program from a signature.
- Attach typed tools or MCP-derived tools to a generation call.
- Use package examples for no-key scripted clients and provider-api calls.
Package Facts
- Language: Python.
- Package:
axllm.
- Package API docs:
API.md and axir-api.json.
- Capability manifest:
axir-capabilities.json.
- Runnable examples:
examples/.
- Real network support: yes.
- Scripted no-key transport support: yes.
- Runtime profiles:
javascript-quickjs, python-pyodide.
Core Pattern
from axllm import ax
program = ax("question:string -> answer:string")
out = program.forward(llm, {"question": "What is Ax?"})
Provider Forward Options
AxGen merges constructor and per-call forward options before invoking the provider. Provider-facing keys such as promptCacheKey, sessionId, and contextCache therefore reach the chat request without being copied into program inputs. Per-call values override constructor defaults.
Relevant API Surface
- AxGen:
ax, AxGen
- Tools:
fn, Tool
- MCP:
AxMCPClient, AxMCPStreamableHTTPTransport, AxMCPStdioTransport
Guardrails
- Start from package examples for exact native syntax before inventing a new call shape.
- Use
provider-api examples only when the user explicitly has provider credentials available.
- Use
no-key examples for deterministic local checks and provider request mapping.
- Treat AxIR as the source of generated package truth: if package docs disagree with source code, update the compiler and regenerate packages.
- Do not copy repo-maintainer skills from
tools/*/skills/ into user packages.