Datasette 1.0a30: меню «Перейти к...» и новый plugin hook
Разбор ключевой новинки Datasette 1.0a30 — расширяемого меню быстрого перехода «Jump to» и нового plugin hook jump_items_sql().
Datasette 1.0a30: меню «Перейти к…» и новый plugin hook
24 мая 2026 года вышла очередная альфа-версия Datasette — 1.0a30. Datasette — это инструмент с открытым исходным кодом для исследования и публикации данных: он позволяет превратить данные любого размера и формата в интерактивный веб-сайт с API. Главная новинка релиза — настраиваемое меню быстрого перехода «Jump to», которое кардинально меняет навигацию внутри больших инстансов.
Что такое меню «Jump to»?
В Datasette 1.0a30 появилось меню «Jump to», которое вызывается горячей клавишей / и позволяет быстро перейти к базе данных, таблице или заготовленному запросу (canned query).
Представьте ситуацию: у вас развёрнут Datasette с десятками баз данных, в каждой из которых сотни таблиц. Раньше приходилось либо знать URL наизусть, либо долго листать главную страницу. Теперь достаточно нажать / — и появляется интерактивный поиск, который мгновенно фильтрует все доступные объекты по мере ввода.
/ на сайте latest.datasette.io и убедитесь сами, как быстро работает навигация.Эта возможность подробно описана в статье «The extensible “Jump to” menu in Datasette 1.0a30» в официальном блоге Datasette.
Plugin hook jump_items_sql() — расширяемость по-новому
Но самое интересное — это не просто удобный UI-элемент. Разработчики плагинов получили новый инструмент для расширения меню.
Новый plugin hook (точка расширения плагина) jump_items_sql() позволяет плагинам добавлять собственные элементы в набор, по которому выполняется поиск в меню.
Другими словами: любой плагин теперь может «вписать» свои собственные объекты в глобальный быстрый поиск. Это открывает широкие возможности — от навигации к пользовательским дашбордам до интеграции с внешними каталогами данных.
@hookimpl.Пример: как работает jump_items_sql()
Предположим, у вас есть плагин, хранящий список «избранных» таблиц пользователя в отдельной SQLite-таблице user_favorites. С помощью нового хука можно добавить эти записи прямо в меню быстрого перехода:
from datasette import hookimpl
@hookimpl
def jump_items_sql(datasette):
# Возвращаем SQL-запрос, результаты которого появятся в меню
return """
SELECT
name AS label,
url AS url,
'Избранное' AS group_label
FROM user_favorites
ORDER BY name
"""
Datassette выполнит этот запрос и включит строки в поисковый индекс меню «Jump to». Пользователь напишет первые буквы — и увидит своё избранное наравне со стандартными таблицами.
jump_items_sql() они могут дополнительно появляться прямо в глобальном поиске — без лишних кликов.Как Datasette развивает экосистему плагинов
Выход jump_items_sql() — не изолированное событие, а часть последовательной стратегии. За последние несколько релизов Datasette методично расширяет API плагинов:
| Версия | Нововведение для плагинов |
|---|---|
| 1.0a13 | Хуки view_actions(), homepage_actions(), row_actions() |
| 1.0a24 | Метод await request.form(files=True) для загрузки файлов |
| 1.0a25 | Хуки write_wrapper() и register_token_handler() |
| 1.0a26 | Система column_types с дополнительными типами колонок |
| 1.0a27 | Изменена защита от CSRF, добавлен RenameTableEvent |
| 1.0a30 | Хук jump_items_sql() для меню быстрого перехода |
Каждая из ключевых концепций Datasette теперь имеет собственное меню действий, которое плагины могут использовать для добавления дополнительной функциональности.
graph TD
A[Пользователь нажимает /] --> B[Открывается меню Jump to]
B --> C[Datasette выполняет встроенный запрос]
B --> D[Плагины вызывают jump_items_sql]
C --> E[Базы данных и таблицы]
D --> F[Пользовательские элементы плагина]
E --> G[Единый список результатов]
F --> G
G --> H[Пользователь выбирает и переходит]
Canned queries — зачем они нужны?
Меню «Jump to» включает в поиск не только базы данных и таблицы, но и так называемые canned queries — заготовленные запросы.
Canned queries поддерживают именованные параметры: если вы включаете их в SQL, пользователь сможет вводить значения через поля формы на странице запроса или добавляя их в URL. Это означает, что canned queries можно использовать для создания кастомных JSON API на базе тщательно составленных SQL-запросов.
Теперь с помощью меню «Jump to» к таким запросам можно добраться мгновенно — просто набрав несколько букв из их названия.
jump_items_sql(), может измениться до финального релиза 1.0. Не используйте в критически важных продуктивных системах без готовности к миграции.Datasette Agent: AI-будущее уже рядом
Пока команда шлифует навигацию, параллельно развивается ещё более амбициозный проект.
Недавно был выпущен Datasette Agent — плагин с открытым исходным кодом, предоставляющий расширяемого AI-ассистента для работы с SQLite-базами данных. Datasette Agent интегрирует LLM в Datasette, поддерживая сотни различных моделей с вызовом инструментов — от крупных провайдеров вроде OpenAI, Anthropic и Google Gemini до опенсорсных моделей, которые можно запустить на собственном железе.
Результат — разговорный интерфейс для ответов на вопросы о данных в SQLite, дополненный плагинами для визуализаций и других пользовательских инструментов.
Синергия очевидна: меню «Jump to» помогает быстро находить нужные таблицы, а Datasette Agent позволяет задавать вопросы к этим данным на естественном языке. Вместе они превращают Datasette из инструмента для технических специалистов в платформу, доступную любому аналитику.
Установка и обновление
Чтобы попробовать Datasette 1.0a30, достаточно установить альфа-версию через pip:
# Установка последней альфа-версии
pip install datasette==1.0a30
# Или через pipx (рекомендуется)
pipx install datasette==1.0a30
# Проверка версии
datasette --version
После запуска перейдите на главную страницу вашего инстанса и нажмите / — меню «Jump to» появится немедленно.
# Запуск с тестовой базой данных
datasette my_database.db
# Откройте http://localhost:8001 и нажмите /
Итог
Datasette 1.0a30 — это шаг к по-настоящему удобной навигации в мире данных: быстрый поиск по всем объектам системы, расширяемый плагинами через
jump_items_sql().
Если вы работаете с несколькими базами данных и устали теряться в длинных списках таблиц — обновляйтесь. А если пишете плагины для Datasette — новый хук открывает возможности, которых раньше просто не было.
Полезные ссылки:
- 🌐 Демо с меню: latest.datasette.io
- 📖 Документация по плагинам: docs.datasette.io
- 🤖 Datasette Agent: agent.datasette.io
- 📝 Оригинальный анонс: simonwillison.net