feat: fix performance issue in python version >= 3.11.X #121
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Because of a performance issue with native pip show command , starting from python version 3.11.X, introduced an alternate flow of using pipdeptree python utility , instead of pip freeze --all + pip show list_of_deps as a source of data for building the dependency tree of python ( the algorithm remain the same anyway).
Related issue (if any): fixes JIRA APPENG-2154
Checklist
Additional Info
The new logic will be controlled by a new setting (env var/property) -
EXHORT_PIP_USE_DEP_TREE
, if it will be set to true, it will use the pipdeptree as the source to build the dependency tree, otherwise, it will use native pip commands pip freeze + show. default is EXHORT_PIP_USE_DEP_TREE=false.