{"categories":[{"label":"Markup","url":"https://skillfed.io/packages/category/text-processing-markup"}],"enrichment":{"capability":"Banks is a template language and prompt management system for generating LLM prompts from blueprints, supporting chat message formatting, image inclusion, dynamic text generation via LLM calls, function calling, and prompt caching.","skillfed_tags":["llm-prompting","template-engine","prompt-management"],"use_cases":["Build reusable chat prompt templates with system/user/assistant roles and render them as structured message objects for API calls.","Include images in prompts for vision models and have Banks handle URL encoding or local file upload during rendering.","Generate few-shot examples by invoking an LLM during template rendering to populate example sections dynamically.","Define and version prompts with metadata, storing them on disk for team reuse and tracking changes across iterations.","Attach function definitions to prompts and let Banks orchestrate LLM tool-calling roundtrips automatically.","Mark sections of prompts for provider-specific caching (e.g., Anthropic's ephemeral cache) to reduce latency and cost."],"what_it_does":"Banks is a template-based prompt programming language built on Jinja2 that transforms generic prompt blueprints into structured LLM inputs. Rather than manually formatting prompts with f-strings or string concatenation, you write templates using custom tags like `{% chat %}` to define message roles and content, then render them with context variables. The system handles conversion to chat message objects, image embedding for vision models, and metadata attachment for prompt versioning and management.\n\nThe package integrates with LLM providers through optional dependencies: it can invoke LLMs during template rendering to generate few-shot examples or perform function calling, supports prompt caching directives from providers like Anthropic, and stores prompts on disk with version tracking. Core templating requires only the base dependencies (Jinja2, Pydantic, Griffe for documentation), while advanced features like in-prompt LLM completion or Redis-backed caching require optional packages.","worth_installing":"Yes. Banks is actively maintained, has low install friction, carries a permissive MIT license, and solves a real problem\u2014moving beyond ad-hoc string formatting for LLM prompts. The Beta status and recent release (6 days old) suggest active development. Install it if you're building LLM applications and want structured, versioned, reusable prompts; skip it if you're only calling LLMs with simple one-off strings."},"id":"banks","links":{"html":"https://skillfed.io/packages/banks","md":"https://skillfed.io/packages/banks.md","pypi":"https://pypi.org/project/banks/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2026-08-08","license_spdx":"MIT","license_treatment":"permissive","name":"banks","python_support":"supports_current","summary":"A prompt programming language"},"popularity":{"monthly_downloads":8360654,"position":1631,"tier":"top_5000"},"security":{"n_vulnerabilities":0},"version":"2.5.0"}
