Rosa Del Mar

Daily Brief

Issue 84 2026-03-25

Release Milestone And Plugin Role In The Datasette Ecosystem

Issue 84 Edition 2026-03-25 4 min read
General
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?

Investor overlay

Read-throughs

  • datasette-llm becoming shared infrastructure could lower integration work for other Datasette plugins, increasing ecosystem cohesion and encouraging more LLM enabled extensions.
  • Purpose based model selection could shift model choice and cost control to centralized configuration, making deployments easier to standardize across tasks like enrichment and query help.
  • Registering purposes and enumerating them could enable management tooling such as an admin UI that discovers available LLM tasks and configures model routing consistently.

What would confirm

  • Multiple third party Datasette plugins adopt register_llm_purposes and request models by purpose rather than hard coding specific models.
  • A released admin or management interface consumes get_purposes and allows configuring purpose to model mappings in one place.
  • Documentation clarifies configuration format and precedence for purpose to model routing and shows stable behavior across instances and plugins.

What would kill

  • Purpose registration remains unused by other plugins, and most integrations continue selecting models directly without llm.model purpose routing.
  • Centralized routing proves hard to configure or conflict prone, leading plugin authors to bypass datasette-llm for model selection.
  • Operational drawbacks such as latency or resource contention emerge from shared model access, reducing willingness to standardize on the base plugin.

Sources

  1. 2026-03-25 simonwillison.net