V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
j0hnj
V2EX  ›  分享创造

airflow 正在迁移到我写的 pre-commit 替代品

  •  
  •   j0hnj · 23 天前 · 1577 次点击

    TLDR: 我用 Rust 重写了 pre-commit: https://github.com/j178/prek

    一些背景故事:

    去年开始给 uv 提交了一些 PR ,掌握了一些 Rust 基础,就开始想着自己从头写一个项目练手。没有什么好的 idea ,就准备从重写一些常用的软件开始,正好对 pre-commit 比较熟,就开始从头写一个 Rust 版本的 pre-commit 。

    慢慢地写完了最基础的功能,小范围宣传了一下,然后原作者找上了门。本来以为是善意的合作邀请,结果人家来就是为了喷我的……(后来我才知道这个作者在开源圈子的名声有多臭)。不过我确实忘了添加 pre-commit 的 LICENSE ,人家喷我我也认。不过我也慢慢没了热情,把项目搁置了。

    今年没有那么忙了,周末就在家打游戏,女朋友跟我说:”好久没见你在家写代码了“,于是我就又把这个项目捡起来了。高强度开发了两周,补充了很多功能,基本上可以 drop-in 替换原来的 pre-commit 了。

    这期间 PDM^1,basedpyright^2 开始在 contribution guide 中推荐使用我开发的 prek 作为 pre-commit 的替代。

    然后就是 airflow 正在准备迁移^3。与 pdm 和 basedpyright 不一样的是,airflow 高度依赖 pre-commit ,仓库里有 160+ 的 hook ,开发和 CI 流程都完全基于 pre-commit 。

    今天,收到了 airflow 的主要 maintainer 给我写的一个回复: https://github.com/j178/prek/issues/73#issuecomment-3178076699 ,给我一顿夸,夸得我都不好意思了。

    以上,分享给大家一个小故事,顺便推广一下我的项目。

    9 条回复    2025-08-15 16:23:26 +08:00
    putaozhenhaochi
        1
    putaozhenhaochi  
       23 天前 via Android
    大佬
    cryptovae
        2
    cryptovae  
       23 天前   ❤️ 1
    这一顿夸再加上一拉一踩确实有点让人不好意思了,都像是你请的水军了哈哈哈,rust 重写万物果然不是盖的
    jukanntenn
        3
    jukanntenn  
       23 天前   ❤️ 1
    整个 Python 工具链估计后续都要被 Rust 重写,就如前端工具链一样。Greate Job !!!
    noqwerty
        4
    noqwerty  
       23 天前 via iPhone   ❤️ 1
    已迁移!前段时间搜 pre-commit in rust 还没搜到这个项目,今天刚好就刷到了👍
    billzhuang
        5
    billzhuang  
       23 天前
    棒棒的。
    sdzg
        6
    sdzg  
       23 天前
    先顶一下。这周找时间试试
    dryadent
        7
    dryadent  
       22 天前
    特别优秀了,作为 airlflow 的重度使用者,前来瞻仰
    lizhien
        8
    lizhien  
       21 天前
    pre-commit 速度慢的蜗牛一样,早就受不了了
    exhades
        9
    exhades  
       20 天前   ❤️ 1
    已从 pre-commit 切换到 prek , 贼好用,感谢楼主,prek 又快又高效

    吐槽一句,pre-commit 的维护者在整个开源社区都很 sb ,十分的看人下菜,提 issue 它会直接回一句 “I don't care.” 然后直接关了,贼抽象
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   986 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 19:33 · PVG 03:33 · LAX 12:33 · JFK 15:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.