返回首页
最新
个人而言,我认为 JJ VCS(<a href="https://github.com/jj-vcs/jj" rel="nofollow">https://github.com/jj-vcs/jj</a>)在过去一年中的某个时刻达到了一个节点,让我很难找到继续使用 `git` 的充分理由。多年来,我拼凑了许多别名和 Bash 函数,以改善我的 `git` 工作流程,但在使用了 `jj` 之后,它可以与几乎任何 git 仓库兼容,并且与 Github 仓库的集成非常出色,我在使用 git 时遇到的所有工作流程问题不仅得到了解决,而且以我用简单脚本无法实现的方式得到了改善。
一个例子是 `op log`,它允许你回到仓库的任意时间点,并在你想要撤销合并、无意中进行了变基等操作时提供简单的 `undo` 和 `redo` 命令。
因为我坚信 JJ 目前是一个更干净、更强大的 `git` 版本,我希望它能够继续发展。与此同时,似乎缺少一个功能齐全的 GUI 来支持这个 VCS。虽然有一些插件可以与 VS Code 集成,还有一个正在开发中的插件以支持 Intellij,但我认为 JJ 提供的许多构造需要从头开始构建一个围绕 JJ 工作方式的 GUI。
目前,Judo for JJ 是一个处于开放测试阶段的 MVP。我尽力支持所有核心功能,尽管还有许多附加功能我会添加,比如原生合并支持、原生拆分等。这些大部分将基于 Beta 期间的反馈。
我非常感激 JJ 所建立的优秀社区,以及多年来我在 HN 社区中阅读的无数基于 VCS 的帖子,并希望在 Beta 期间能够获得大量真实使用的反馈——目标是成为一个功能齐全的桌面 GUI,类似于许多优秀的 git 产品。
我需要一个工具来快速原型化我们公司的内部工具——PDF生成器、数据处理器、文件转换器,以便非技术同事也能使用。
func-to-web 可以从 Python 函数签名生成网页用户界面,且无需任何样板代码:
```python
from func_to_web import run
def divide(a: int, b: int):
return a / b
run(divide) # 网页用户界面位于 localhost:8000
```
对于更复杂的需求,它支持高级类型:
```python
def process_data(
scores: Annotated[
list[Annotated[int, Field(ge=0, le=100)]],
Field(min_length=3, max_length=10)
], # 3-10 项,每项 0-100
files: list[ImageFile], # 多文件上传
email: Email, # 内置验证
notes: str | None = None # 可选字段,带切换
):
return FileResponse(pdf_data, "report.pdf") # 自动下载
run(process_data)
```
主要特点:
- *高级列表*:动态添加/删除,限制列表大小和项目
- *可选字段*:`Type | None` 创建切换开关
- *文件处理*:上传/下载带进度条,支持 GB 级文件
- *丰富输出*:自动显示 PIL 图像、matplotlib 图表或可下载文件
- *动态下拉框*:运行时生成的选项来自函数
- *多个函数*:自动生成索引页面
并不是想取代完整的网页框架,但对于内部工具和快速实用程序,这种方法比编写 HTML 表单更具优势。
已有 454 个单元测试。每天用于内部工具和快速原型开发。第一周获得了 150 个星标。
GitHub: [https://github.com/offerrall/FuncToWeb](https://github.com/offerrall/FuncToWeb)
在这里分享,希望其他人也会觉得有趣 :)