A Python tool to enforce dependencies, using modular architecture π Open source π Installable via pip π§ Able to be adopted incrementally - β‘ Implemented with no runtime impact βΎοΈ Interoperable with your existing systems π¦ Written in rust
This sorts the report-external raw output for deterministic behavior, and fixes the generation of the 'module mapping' on lower versions of Python. This is how Tach determines that a package called GitPython provides the git external module for example.
This mapping was constructed incorrectly in two ways:
Parsing of distribution metadata was broken, pulling in incorrect names from RECORD files in some cases among other issues
The final mapping was inverted, mapping package names to their provided modules, even though lookups need to be done based on the provided modules themselves.
Fixing #370
This sorts the report-external raw output for deterministic behavior, and fixes the generation of the 'module mapping' on lower versions of Python. This is how Tach determines that a package called
GitPython
provides thegit
external module for example.This mapping was constructed incorrectly in two ways:
RECORD
files in some cases among other issuesBoth these issues are addressed by this PR.