Skip to content

Python — Bifrost and Pyright

Runner Exact Position unverified Hard Unsupported Not planned
Bifrost 10 0 3 0 2
Pyright 13 0 0 0 2

Import bindings, re-export bindings, and __all__ metadata are optional in the hardened scorer. With those surfaces classified, Pyright is exact on all 13 scoreable Python cases.

Pyright alone is exact on the module-import declaration, re-exported class-alias classmethod, and barrel-inherited member cases. Bifrost currently misses an alias-site usage in the classmethod case, returns a broader inherited-member usage, and cannot complete the module declaration lookup from the import token.

Dynamic getattr and __getattr__ cases are not planned for either runner. Their presence keeps the corpus honest about runtime-driven attribute lookup.

Bifrost’s source-location runner and Python graph can canonicalize many project re-exports and aliases, but the synchronized run exposes three remaining gaps. Pyright’s compiler-style type analysis is the stronger current result on this small corpus. Comparative performance is unmeasured.