Lifeguard is a static analyzer to detect Lazy Imports incompatibilities and ease the adoption overhead for Lazy Imports in Python
by facebookPython
Last 12 weeks · 233 commits
4 of 6 standards met
Re-exported symbols (e.g. bar.Foo re-exporting foo.Foo) were not being resolved to their original definitions during safety analysis. This caused check_call to miss unsafe constructors/functions accessed through re-exports, incorrectly marking them as safe. Make the re_exports more visible to the main analysis, and resolve them when needed. I'm not totally happy with this approach, though, because it's would be easy to miss new places that a reexport needs to be chased down. I'll do a bit more thinking, but I'd be interested in architectural suggestions from the team.
Repository: facebook/Lifeguard. Description: Lifeguard is a static analyzer to detect Lazy Imports incompatibilities and ease the adoption overhead for Lazy Imports in Python Stars: 76, Forks: 6. Primary language: Python. Languages: Python (76.7%), Rust (23.3%). License: MIT. Topics: lazy-imports, pep810, python, rust, static-analysis. Open PRs: 1, open issues: 0. Last activity: 15h ago. Community health: 75%. Top contributors: brittanyrey, martindemello, alrobichaud, QuantumManiac, msullivan, czardoz, samwgoldman, alexmalyshev, kuecks, JakobDegen and others.