Simon Willison が開発する datasette-showboat のバージョン 0.1a2 がリリースされた。今回のアップデートで追加された機能は小さいが、使い方次第でローカルデータの公開フローを大きく変えるかもしれない。
datasette-showboadとは何か
datasette-showboat は、オープンソースのデータ探索ツール Datasette 向けのプラグインだ。SHOWBOAT_REMOTE_URL という環境変数と連携し、Datasette 上で管理・閲覧しているデータやコンテンツをリモートサーバーへ配信する仕組みを提供する。Datasette 自体は SQLite データベースをブラウザで即座に公開・検索できるツールとして知られており、Simon Willison が長年メンテしている代表的なOSSプロジェクトのひとつだ。
今回の変更点:Markdownエクスポートによる差分配信
0.1a2 のポイントはシンプルだ。
- Markdown ファイルのエクスポート機能を追加
- エクスポートしたファイルを使って、リモートサーバーへのインクリメンタル(差分)配信が可能になった
- 全件再送信ではなく「更新分だけ」を送れるため、帯域・コスト・時間を節約できる
この「差分配信」というアプローチは、ブログやドキュメントサイトの静的ホスティングでよく見られるパターンだが、Datasette のデータパイプラインに組み込めるのが新鮮だ。ローカルで SQLite に溜めたデータを Markdown に変換して、そのまま Netlify や Cloudflare Pages、あるいは自前サーバーに差分アップロードするユースケースが想定できる。
実際の使い方イメージ
インストールは Datasette のプラグイン機構で行う。
datasette install datasette-showboat
その後、SHOWBOAT_REMOTE_URL に配信先URLを設定し、アプリ内のエクスポートオプションから Markdown ファイルを出力、リモートに送信する流れになる。現時点ではアルファ版(0.1a2)のため、APIや挙動は変わる可能性があるが、Simon のプロジェクトらしく実用的な方向に素早くイテレーションされていくはずだ。
所感
まだアルファ段階とはいえ、「Datasette をデータ配信のバックエンドとして使う」という発想は面白い。SQLite+Datasette+静的サイトという組み合わせは、サーバーレスでコストを抑えながら動的データを扱いたい個人開発者やスモールチームにとって魅力的な選択肢だ。Simon Willison のブログや GitHub を追っておくと、このプロジェクトの方向性がより見えてくるだろう。