Дата публикации
ai_products

Datasette-files 0.1a3: как управлять файлами в Datasette без боли

Что появилось / что изменилось

Плагин datasette-files для Datasette обновился до версии 0.1a3. Это всё ещё pre-release, но в нём уже есть несколько важных изменений для тех, кто крутит файлы рядом с базой данных:

  • Появились новые опции конфигурации: owners_can_edit и owners_can_delete. Они управляют, может ли владелец файла редактировать и удалять его.
  • Действия files-edit и files-delete теперь работают не абстрактно по источнику, а привязаны к новому ресурсу FileResource, который является дочерним по отношению к FileSourceResource.
  • Интерфейс выбора файлов превратили в отдельный Web Component: <datasette-file-picker>. Его можно встраивать в другие части интерфейса без копирования кода.
  • Для других плагинов Datasette появился Python‑API: from datasette_files import get_file. Через него можно получать доступ к данным файла напрямую из кода.

Все изменения относятся к управлению файлами, правам доступа и интеграции с другими плагинами и фронтендом.

Как это работает

Новые опции прав владельца

owners_can_edit и owners_can_delete — это флаги в конфигурации плагина. Они определяют, что может делать пользователь, который считается владельцем конкретного файла:

  • если owners_can_edit = true, владелец может менять содержимое или метаданные файла через действия files-edit;
  • если owners_can_delete = true, владелец может удалять файл через files-delete.

Раньше логика прав была привязана к источнику файлов в целом. Теперь разрешения точнее привязаны к конкретному файлу.

Новый FileResource

Плагин добавил сущность FileResource — это ресурс «конкретный файл». Он живёт внутри FileSourceResource, который описывает источник файлов (например, директорию или хранилище).

Действия files-edit и files-delete теперь работают на уровне FileResource. Это позволяет аккуратнее проверять права доступа и проще расширять поведение для отдельных файлов.

Web Component <datasette-file-picker>

Файловый пикер вынесли в стандартный Web Component. Теперь это не просто кусок HTML/JS внутри плагина, а самостоятельный элемент:

<datasette-file-picker></datasette-file-picker>

Его можно использовать в других страницах Datasette или сторонних интерфейсах, которые работают рядом с Datasette. Компонент отвечает за выбор и, потенциально, загрузку файлов, а Datasette обрабатывает запросы на бэкенде.

Python‑API get_file

Новый API:

from datasette_files import get_file

get_file позволяет другим плагинам достучаться до файлов, которые управляются через datasette-files. Плагин может, например, прочитать содержимое файла, получить метаданные или использовать файл как источник данных для собственных функций.

Что это значит для вас

Если вы используете Datasette как витрину для данных и вам нужно работать не только с таблицами, но и с файлами рядом с ними, обновление 0.1a3 делает жизнь проще.

Кому это полезно:

  • Админам и разработчикам внутренних инструментов. Можно точнее настроить, что могут делать пользователи с файлами. Например, разрешить авторам загружать и править только свои файлы, но запретить удаление.
  • Авторам плагинов для Datasette. get_file упрощает интеграцию: не нужно самим разруливать, где лежат файлы и как к ним обратиться. Достаточно использовать API плагина.
  • Фронтенд‑разработчикам. <datasette-file-picker> можно встроить в кастомные панели админки или пользовательские интерфейсы, не переписывая выбор файлов с нуля.

Когда это удобно:

  • у вас есть Datasette с данными и к нему прикручены файлы — отчёты, CSV, изображения, логи;
  • вы хотите дать пользователям минимальный файловый менеджер прямо в Datasette, без отдельного сервиса;
  • вы пишете плагин, который анализирует или конвертирует файлы, и вам нужен стандартный доступ к ним.

Когда лучше поискать другое решение:

  • вам нужен полноценный файловый DAM‑сервис с предпросмотром всего подряд, версионированием и сложными воркфлоу;
  • вы не используете Datasette и не планируете его разворачивать — плагин работает только внутри этой экосистемы.

Про доступность: datasette-files — это open source‑плагин на GitHub. Его можно установить из любой страны, в том числе из России. Если GitHub у вас открывается, дополнительных обходных путей не нужно.

Место на рынке

datasette-files 0.1a3 — это не отдельный сервис, а надстройка над Datasette. Сравнивать его с GPT-4o, Claude 3 или другими ИИ‑продуктами некорректно: он не про генерацию текста, а про файловый слой вокруг базы данных.

По сути, плагин конкурирует с самописными решениями «прикрутить файловую папку к Datasette» и с внешними файловыми сервисами, которые админы интегрируют вручную. Здесь нет красивых цифр по скорости или цене за токен — datasette-files живёт внутри уже развернутого Datasette и использует его инфраструктуру.

Если вы уже выбрали Datasette как основную витрину для данных, этот плагин закрывает базовые задачи по работе с файлами без отдельного стека. Если Datasette вам не нужен, плагин сам по себе не даёт дополнительной ценности.


Читайте также