# llm URL: /api/renderers/llm/ Section: renderers -------------------------------------------------------------------------------- llm - Patitas window.BENGAL_THEME_DEFAULTS = { appearance: 'light', palette: 'brown-bengal' }; window.Bengal = window.Bengal || {}; window.Bengal.enhanceBaseUrl = '/patitas/assets/js/enhancements'; window.Bengal.watchDom = true; window.Bengal.debug = false; window.Bengal.enhanceUrls = { 'toc': '/patitas/assets/js/enhancements/toc.736b857e.js', 'docs-nav': '/patitas/assets/js/enhancements/docs-nav.57e4b129.js', 'tabs': '/patitas/assets/js/enhancements/tabs.aac9e817.js', 'lightbox': '/patitas/assets/js/enhancements/lightbox.1ca22aa1.js', 'interactive': '/patitas/assets/js/enhancements/interactive.96c8880c.js', 'mobile-nav': '/patitas/assets/js/enhancements/mobile-nav.d991657f.js', 'action-bar': '/patitas/assets/js/enhancements/action-bar.d62417f4.js', 'copy-link': '/patitas/assets/js/enhancements/copy-link.7d9a5c29.js', 'data-table': '/patitas/assets/js/enhancements/data-table.1f5bc1eb.js', 'lazy-loaders': '/patitas/assets/js/enhancements/lazy-loaders.a5c38245.js', 'holo': '/patitas/assets/js/enhancements/holo.ee13c841.js', 'link-previews': '/patitas/assets/js/enhancements/link-previews.96620bcf.js' }; (function () { try { var defaults = window.BENGAL_THEME_DEFAULTS || { appearance: 'system', palette: '' }; var defaultAppearance = defaults.appearance; if (defaultAppearance === 'system') { defaultAppearance = (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) ? 'dark' : 'light'; } var storedTheme = localStorage.getItem('bengal-theme'); var storedPalette = localStorage.getItem('bengal-palette'); var theme = storedTheme ? (storedTheme === 'system' ? defaultAppearance : storedTheme) : defaultAppearance; var palette = storedPalette ?? defaults.palette; document.documentElement.setAttribute('data-theme', theme); if (palette) { document.documentElement.setAttribute('data-palette', palette); } } catch (e) { document.documentElement.setAttribute('data-theme', 'light'); } })(); { "prerender": [ { "where": { "and": [ { "href_matches": "/docs/*" }, { "not": { "selector_matches": "[data-external], [target=_blank], .external" } } ] }, "eagerness": "conservative" } ], "prefetch": [ { "where": { "and": [ { "href_matches": "/*" }, { "not": { "selector_matches": "[data-external], [target=_blank], .external" } } ] }, "eagerness": "conservative" } ] } Skip to main content Magnifying Glass ESC Recent Clear Magnifying Glass No results for "" Start typing to search... ↑↓ Navigate ↵ Open ESC Close Powered by Lunr ฅᨐฅ DocumentationArrow ClockwiseGet StartedCodeSyntaxDirectivesStarburstExtendingBookmarkReferenceInfoAboutWarningTroubleshootingReleasesDevGitHubPatitas API ReferenceForum Magnifying Glass Search ⌘K Palette Appearance Chevron Down Mode Monitor System Sun Light Moon Dark Palette Snow Lynx Brown Bengal Silver Bengal Charcoal Bengal Blue Bengal List ฅᨐฅ Magnifying Glass Search X Close Documentation Caret Down Arrow Clockwise Get Started Code Syntax Directives Starburst Extending Bookmark Reference Info About Warning Troubleshooting Releases Dev Caret Down GitHub Patitas API Reference Forum Palette Appearance Chevron Down Mode Monitor System Sun Light Moon Dark Palette Snow Lynx Brown Bengal Silver Bengal Charcoal Bengal Blue Bengal Patitas API Reference Caret Right Directives Caret Right Builtins admonition container dropdown tabs contracts decorator options protocol registry Caret Right Lexer Caret Right Classifiers directive fence footnote heading html link_ref list quote thematic Caret Right Scanners block directive fence html core modes Caret Right Parsing Caret Right Blocks Caret Right List blank_line fast_path indent item_blocks marker mixin nested trace types core directive footnote quote_fast_path quote_token_reuse table Caret Right Inline core emphasis links match_registry special tokens charsets compiled_dispatch containers dispatch pattern_parsers protocols shared_tokens token_nav ultra_fast Caret Right Plugins autolinks footnotes math strikethrough table task_lists Caret Right Renderers html llm protocol Caret Right Roles Caret Right Builtins formatting icons math reference protocol registry Caret Right Utils hashing logger text cache config context differ errors excerpt frontmatter highlighting icons incremental location nodes notebook parser patitas profiling protocols sanitize serialization stringbuilder text tokens visitor Patitas API ReferenceRenderers ᗢ Caret Down Link Copy URL External Open LLM text Copy Copy LLM text Share with AI Ask Claude Ask ChatGPT Ask Gemini Ask Copilot Module renderers.llm LLM-optimized renderer — structured plain text for model consumption. Outputs markdown-like plain text with explicit labels for code, math, and images. No HTML. Normalized whitespace. Predictable, parseable format. Example: >>> from patitas import parse, render_llm >>> doc = parse("# Hello **World**\n\n- item") >>> render_llm(doc) '# Hello World\n\n- item\n' 1Class1Function Classes LlmRenderer 9 ▼ Render AST to structured plain text for LLM consumption. No HTML. Preserves hierarchy via markdown… Render AST to structured plain text for LLM consumption. No HTML. Preserves hierarchy via markdown-like markers. Labels non-text content explicitly. Methods render 1 str ▼ Render document to LLM-friendly plain text. def render(self, node: Document) -> str Parameters Name Type Description node — Returns str Internal Methods 8 ▼ __init__ 1 ▼ def __init__(self, source: str = '') -> None Parameters Name Type Description source — Default: '' _render_block 2 ▼ Render a block node. def _render_block(self, block, sb: StringBuilder) -> None Parameters Name Type Description block — sb — _render_list_item 2 ▼ Render list item content. def _render_list_item(self, item: ListItem, sb: StringBuilder) -> None Parameters Name Type Description item — sb — _render_table 2 ▼ Render table as markdown-style grid. def _render_table(self, table: Table, sb: StringBuilder) -> None Parameters Name Type Description table — sb — _inline_text 1 str ▼ Extract plain text from a node with inline children. def _inline_text(self, node) -> str Parameters Name Type Description node — Returns str _render_inlines 2 ▼ Render inline nodes. def _render_inlines(self, inlines: tuple[Inline, ...], sb: StringBuilder) -> None Parameters Name Type Description inlines — sb — _render_inline 2 ▼ Render a single inline node. def _render_inline(self, inline: Inline, sb: StringBuilder) -> None Parameters Name Type Description inline — sb — _inline_text_single 1 str ▼ Extract plain text from one inline (for table cells). def _inline_text_single(self, inline: Inline) -> str Parameters Name Type Description inline — Returns str Functions render_llm 2 str ▼ Render document to LLM-friendly plain text. def render_llm(doc: Document, *, source: str = '') -> str Parameters Name Type Description doc Document Document AST to render. source str Original source (for FencedCode zero-copy extraction). Default: '' Returns str ← Previous html Next → protocol List © 2026 Patitas built in ᓚᘏᗢ { "linkPreviews": { "enabled": true, "hoverDelay": 200, "hideDelay": 150, "showSection": true, "showReadingTime": true, "showWordCount": true, "showDate": true, "showTags": true, "maxTags": 3, "includeSelectors": [".prose"], "excludeSelectors": ["nav", ".toc", ".breadcrumb", ".pagination", ".card", "[class*='-card']", ".tab-nav", "[class*='-widget']", ".child-items", ".content-tiles"], "allowedHosts": [], "allowedSchemes": ["https"], "hostFailureThreshold": 3, "showDeadLinks": true } } window.BENGAL_LAZY_ASSETS = { tabulator: '/patitas/assets/js/tabulator.min.js', dataTable: '/patitas/assets/js/data-table.js', mermaidToolbar: '/patitas/assets/js/mermaid-toolbar.9de5abba.js', mermaidTheme: '/patitas/assets/js/mermaid-theme.344822c5.js', graphMinimap: '/patitas/assets/js/graph-minimap.ff04e939.js', graphContextual: '/patitas/assets/js/graph-contextual.355458ba.js' }; window.BENGAL_ICONS = { close: '/patitas/assets/icons/close.911d4fe1.svg', enlarge: '/patitas/assets/icons/enlarge.652035e5.svg', copy: '/patitas/assets/icons/copy.3d56e945.svg', 'download-svg': '/patitas/assets/icons/download.04f07e1b.svg', 'download-png': '/patitas/assets/icons/image.c34dfd40.svg', 'zoom-in': '/patitas/assets/icons/zoom-in.237b4a83.svg', 'zoom-out': '/patitas/assets/icons/zoom-out.38857c77.svg', reset: '/patitas/assets/icons/reset.d26dba29.svg' }; Arrow Up -------------------------------------------------------------------------------- Metadata: - Word Count: 916 - Reading Time: 5 minutes