本地工具
Pytuck View:为数据文件打开一扇窗口
一间运行在本地浏览器里的 Pytuck 数据工作台,用来查看、整理和转换那些不适合直接阅读的数据文件。
数据库把零散的数据组织起来,却也常常把它们藏进一种不便直视的形状。
JSON 尚且可以用文本编辑器打开,CSV 也能落入表格;到了自定义的 .pytuck 单文件、SQLite 或其他带有结构信息的后端,想确认某张表里究竟有什么,往往要先写一段临时代码。代码不长,但每一次查看字段、翻页、排序和修改记录,都在重复搭一座很快就会被拆掉的脚手架。
Pytuck View 是我为这些数据文件打开的一扇窗口。
它在本机启动一个很小的 Web 应用,然后自动打开浏览器。文件仍在自己的电脑里,操作也只发生在本地;浏览器在这里不是远程后台的入口,而是一个无需重新安装桌面界面框架的外壳。
先让数据可以被看见
Pytuck View 最早的目标很克制:选择一个 Pytuck 能够识别的数据库文件,在同一个页面里看见它包含哪些表、每张表有哪些字段,以及记录实际是什么样子。
安装和启动只需要两条命令:
pip install pytuck-view
pytuck-view
程序会从 54540 开始寻找可用端口,仅监听 127.0.0.1,随后打开对应的本地页面。最近访问过的文件、备注和上次浏览目录保存在用户目录下的 .pytuck-view 中,不需要账号,也没有必须连接的云端服务。
打开文件后,左侧是表与备注,右侧可以在结构和数据之间切换。记录按页读取,可以排序、组合过滤、隐藏列、拖动列宽,也可以展开较长的单元格。它解决的并不是“如何管理一台数据库服务器”,而是更日常的问题:我手边正好有一个文件,现在想知道里面发生了什么。
浏览器里的一间本地工作台
界面由 Vue 负责,FastAPI 提供本地 API,真正的文件识别、查询与持久化仍交给 Pytuck。这样的分层让界面不需要理解每一种文件格式:只要 Pytuck 能识别对应后端,Pytuck View 就能用相同的表、结构与记录概念呈现它。
这也意味着它并非一个只为 .pytuck 扩展名准备的查看器。只要当前环境中的 Pytuck 已启用对应后端,Pytuck、JSON、JSONL、CSV、SQLite、DuckDB、Excel 与 XML 等文件都可以通过同一入口被发现和打开;分页与过滤会尽可能沿用后端本身的能力,无法下推时再回到内存路径。
我刻意没有为它引入一套庞大的前端工程。Vue 运行时和静态资源随包分发,页面使用原生 CSS,服务端也关闭了不需要的在线 API 文档。它仍然有 FastAPI、Uvicorn、Pydantic 和 Pytuck 等运行时依赖,因此并不是 Pytuck 那样的“核心零依赖”库;它追求的是安装后少配置、启动路径短,以及整个工具可以留在本机。
从查看走向整理
只读浏览是它的起点,却不是当前的边界。
在实际使用中,仅仅看见错误数据往往不够。于是 Pytuck View 逐渐加入了行数据的新增、修改与删除,也开始允许创建、清空、重命名和删除表;列类型、主键、可空约束、默认值、备注与顺序也可以在界面中调整。修改结构前,底层仍需验证已有数据能否满足新约束,不能转换时就拒绝这次变更。
它还可以在 Pytuck 支持的引擎之间转换数据库文件。一个为了排查而打开的二进制单文件,可以被另存为便于阅读的 JSON;一个临时交换文件,也可以重新落回更适合应用使用的后端。文件备注、最近打开记录、中英文界面和表搜索,则让它从一次性的查看器慢慢变成可以反复使用的工作台。
这些编辑能力会真实改变文件,因此“纯本地”并不等于“没有风险”。重要数据仍应先备份;它也不负责多用户权限、审计审批或远程并发写入。若需求已经接近数据库管理平台,应该使用对应引擎成熟的管理工具,而不是把一个本地辅助程序推到服务器上。
系列里朝向人的一面
Pytuck 负责模型、查询与多种存储后端,Pytucky 把其中的 PTK7 单文件路径单独收紧;Pytuck View 则站在另一侧,把这些内部结构重新翻译成可以直接观察和操作的界面。
写下这篇文章时,公开版本为 0.3.1。它已经与最初“只读、一眼看完”的想法有了距离,但我仍希望它保持一种桌面小工具的尺度:打开得快,边界清楚,不要求人先成为数据库管理员,才有资格看一眼自己的数据。
BUILD / ENTRY
Pytuck View:为数据文件打开一扇窗口
一间运行在本地浏览器里的 Pytuck 数据工作台,用来查看、整理和转换那些不适合直接阅读的数据文件。