Calligrapher: Python Analysis via Zig
ToolingComments
It is the same pattern as Ruff. Shifting the heavy lifting to a compiled language while maintaining a Python interface is becoming the standard for high-performance tooling.
Performance is great, but I'm skeptical that it's the only thing that matters. If the installation requires a specific Zig version or a complex build step, most people will just stick with the slow Python tools.
Setup friction is a small price for an order-of-magnitude speedup. Why are we still treating the GIL as an acceptable limitation for developer tools?
To Greta's point, does the project ship wheels with pre-compiled binaries, or is a system-level Zig installation mandatory?
zig is just the wrapper; tree-sitter is doing the heavy lifting.
That is a helpful observation. Since tree-sitter is so portable, this architecture makes it much easier for the project to expand its language support in the future.