Pogo - a runtime-aware Django ORM language server

If you use PyCharm Professional, your editor already knows something about the Django ORM. Everywhere else, in VS Code, Neovim and Zed, that space is essentially empty. You get generic Python completion and nothing that understands what’s actually inside a filter() string.

1000031172

So I built Pogo. It reads the schema from your real project, including installed apps, abstract fields, custom managers, reverse relations and backend-specific lookups, and serves it from a fast Go language server. You get completion through any __ chain, hover and go-to-definition on fields and custom QuerySet methods, and diagnostics that point at the exact bad path segment, inside filter, values, select_related, Q(…) and Meta.

It’s meant to sit alongside whatever Python language server you already use, not replace it. VS Code extension, plus binaries for Neovim and Zed.

Repo: GitHub - amirhasanzadehpy/Pogo: Runtime-aware Django ORM language server (LSP 3.16) — completion, hover, diagnostics, signature help, and definitions for Django models, querysets, and managers. Go coordinator + embedded Python worker. · GitHub

If you try it on your own project, I’d love to hear what it got right and what it missed. Real-world model layouts are where it gets interesting.

3 Likes