datasette-app 作者 simonw

星标

Screenshot of simonw/datasette-app

README 源代码

Datasette 桌面版

一个封装 Datasette 的 macOS 桌面应用程序。请参阅 构建 Datasette 桌面应用程序 了解该项目的背景。

安装

发布页面 获取最新版本。下载 Datasette.app.zip,解压缩并拖动 Datasette.app 到你的 /Applications 文件夹 - 然后双击图标。

首次启动应用程序时,它会安装最新版本的 Datasette,这可能需要一些时间。随后的应用程序启动将会快得多。

应用程序功能

  • 包含一个完整的 Python 副本,与你可能安装的任何其他 Python 版本保持独立
  • 首次运行时安装最新版本的 Datasette
  • 应用程序可以打开现有的 SQLite 数据库文件或将 CSV 文件读取到内存数据库中
  • 它还可以创建一个新的、空的 SQLite 数据库文件,并通过导入 CSV 数据在该数据库中创建表
  • 默认情况下,服务器只接受来自你计算机的连接,但你可以使用“文件 -> 访问控制 -> 我的网络上的任何人”使其对你网络上的其他计算机可见(或对你 Tailscale 网络上的设备可见)。
  • 可以使用“安装插件”菜单项安装 Datasette 插件。

工作原理

该应用程序包含两部分:Electron 应用程序和名为 datasette-app-support 的自定义 Datasette 插件。

你可以这样安装一个开发版本:

# Clone the repo
git clone https://github.com/simonw/datasette-app
cd datasette-app

# Download standalone Python
./download-python.sh

# Install Electron dependencies and start it running:
npm install
npm start

应用程序首次启动时,它将在 ~/.datasette-app/venv 中创建一个 Python 虚拟环境,并将 Datasette 和 datasette-app-support 插件安装到该环境中。

运行 Electron 测试

npm test

Electron 测试可能会留下一个 datasette 进程正在运行。你可以使用以下命令找到其进程 ID:

ps aux | grep xyz

然后使用 kill PROCESS_ID 终止它。

datasette-app

如何开发插件

你可以直接针对已安装的 Datasette 桌面版开发新的 Datasette 插件。 编写插件 文档大部分适用,但你需要额外做的一件事是将插件的可编辑版本直接安装到 Datasette 桌面版使用的虚拟环境中。

为此,首先按照插件文档中的说明,在一个名为 datasette-your-new-plugin 的文件夹中创建一个带有 setup.py 文件的新插件。最简单的方法是使用 datasette-plugin cookiecutter 模板

然后 cd 进入该目录并运行以下命令:

~/.datasette-app/venv/bin/pip install -e .

这会将插件安装到你的 Datasette 桌面版环境中,这样你对该目录中文件所做的任何编辑都将在下次嵌入式 Datasette 服务器重新启动时生效。

你可以通过退出并重新启动 Datasette 桌面版应用程序,或者启用调试菜单(“Datasette -> 关于 Datasette -> 启用调试菜单”)然后使用“调试 -> 重启服务器”来重新启动服务器。

发布流程

要发布新版本,请在 package.json 中增加版本号,然后 创建一个新版本 并使用匹配的标签。

然后 运行 datasette.io 的部署 以更新显示在 datasette.io/desktop 页面上的最新版本链接。