爱意满满的作品展示区。
bear330

分享一个小项目:把 ripgrep 做成跨平台的单文件 rg.com,还支持 Python / Node.js / Java 调用

  •  
  •   bear330 · 9h 18m ago · 329 views
    rg ( ripgrep )是一个很强大的工具,但并不是每个平台都有。

    有时候我想在 Python 或其他语言里使用它,但平台、CPU 架构和编程语言的组合实在太多了,处理起来比较麻烦。

    所以我把它做成了 APE ( Actually Portable Executable ),这样只需要一个可执行文件,就能在 Windows 、Linux 和 macOS 上运行,同时支持 x86_64 和 ARM64 架构。

    然后利用 APEBind ,为不同编程语言生成统一的调用接口。这样无论使用哪种语言,想调用 rg 都会方便很多。

    其实同样的思路,我还做了另外两个项目:

    sympy-ape:可以直接在 Java / Node.js 里调用 Python 的 SymPy 。(当然是不必有 python)

    tika-ape:可以在 Python 里直接使用 Apache Tika ,不需要额外安装 JVM 等依赖。

    这些项目的核心思路都差不多:把工具打包成跨平台的 APE ,再通过 APEBind 提供不同语言的调用接口,尽量减少环境和依赖方面的麻烦。

    rg-ape 项目地址: https://github.com/bear0330/rg-ape

    欢迎大家试试看!如果觉得不错,我再考虑扩展到更多编程语言。
    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2460 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 01:31 · PVG 09:31 · LAX 18:31 · JFK 21:31
    ♥ Do have faith in what you're doing.