Release Milestone And Plugin Role In The Datasette Ecosystem
Sources: 1 • Confidence: High • Updated: 2026-03-26 03:27
Key takeaways
- datasette-llm version 0.1a1 has been released.
- Dependent plugins can request a model by purpose (e.g., await llm.model(purpose="enrichment")) and can register their purpose strings via register_llm_purposes() for centralized discovery (e.g., for an admin UI).
- datasette-llm supports centrally configuring which models are used for different purposes (e.g., data enrichment versus SQL query assistance).
- datasette-llm 0.1a1 adds a register_llm_purposes() plugin hook and a get_purposes() function for retrieving registered purpose strings.
- datasette-llm is a base plugin that exposes models from the LLM project for use by other Datasette plugins, including datasette-enrichments-llm.
Sections
Release Milestone And Plugin Role In The Datasette Ecosystem
- datasette-llm version 0.1a1 has been released.
- datasette-llm is a base plugin that exposes models from the LLM project for use by other Datasette plugins, including datasette-enrichments-llm.
Purpose Registration As A New Coordination Surface
- Dependent plugins can request a model by purpose (e.g., await llm.model(purpose="enrichment")) and can register their purpose strings via register_llm_purposes() for centralized discovery (e.g., for an admin UI).
- datasette-llm 0.1a1 adds a register_llm_purposes() plugin hook and a get_purposes() function for retrieving registered purpose strings.
Centralized Purpose-To-Model Routing
- Dependent plugins can request a model by purpose (e.g., await llm.model(purpose="enrichment")) and can register their purpose strings via register_llm_purposes() for centralized discovery (e.g., for an admin UI).
- datasette-llm supports centrally configuring which models are used for different purposes (e.g., data enrichment versus SQL query assistance).
Unknowns
- Which Datasette plugins (if any) have adopted register_llm_purposes() and purpose-based model selection since datasette-llm 0.1a1?
- Is there an implemented admin UI (or equivalent management interface) that consumes get_purposes(), and what capabilities does it expose?
- What is the configuration format and precedence model for mapping purposes to models (e.g., per-instance, per-database, per-plugin overrides), and how are conflicts handled?
- What model backends are supported through the LLM project in this integration context, and are there constraints on authentication, key management, or sandboxing?
- Are there any performance, latency, or resource-usage bottlenecks introduced or mitigated by using a shared base plugin for model access?