shouldi: deptree: Create dependency tree of project #596
Description
https://github.com/intel/dffml/commits/shouldi_dep_tree
The idea behind the work that was done so far in the above branch was to produce the full dependency tree for a given python package. We'll want this to be the shouldi deptree
command (as opposed to shouldi install
)
It's currently in a state where it can grab package names out of setup.py files. It also needs to be able to grab them out of setup.cfg
files and requirements.txt files.
Another thing that's missing is the version number of the package. Right now the latest version of each package is being downloaded. We need to check if the package was pinned to a version and download that version (if example_package==0.3.1
for example we'd download version 0.3.1 of example_package). Come up with reasonable ways to handle all the following cases: https://stackoverflow.com/a/50842265/12310488
There is also a new output operation that needs to be made for this work. It's the Tree
output operation. It's not working at the moment. What it should do is output a dict
similar to the way config structures work with their use of plugin
and config
(you'll see what I'm about when you read the existing code.
- References
- Example files
dffml/examples/shouldi/tests/test_dep_tree.py
Lines 1 to 169 in 0a2e053