Skip to content

Add a new option --json-pdt #37

Description

@TG1999

In order to better compare outputs with pip dep tree, we should have a new --json-pdt option that mimics the pipdeptree --json-tree output.

[
    {
        "key": "aboutcode-toolkit",
        "package_name": "aboutcode-toolkit",
        "installed_version": "7.0.2",
        "required_version": "7.0.2",
        "dependencies": [
            {
                "key": "attrs",
                "package_name": "attrs",
                "installed_version": "21.4.0",
                "required_version": "Any",
                "dependencies": []
            },
            {
                "key": "boolean.py",
                "package_name": "boolean.py",
                "installed_version": "4.0",
                "required_version": ">=3.5",
                "dependencies": []
            },
            {
                "key": "certifi",
                "package_name": "certifi",
                "installed_version": "2022.5.18.1",
                "required_version": "Any",
                "dependencies": []
            },
            {
                "key": "click",
                "package_name": "click",
                "installed_version": "8.0.4",
                "required_version": "Any",
                "dependencies": []
            },
            {
                "key": "jinja2",
                "package_name": "jinja2",
                "installed_version": "3.0.3",
                "required_version": "Any",
                "dependencies": [
                    {
                        "key": "markupsafe",
                        "package_name": "MarkupSafe",
                        "installed_version": "2.0.1",
                        "required_version": ">=2.0",
                        "dependencies": []
                    }
                ]
            },
            {
                "key": "license-expression",
                "package_name": "license-expression",
                "installed_version": "30.0.0",
                "required_version": ">=0.94",
                "dependencies": [
                    {
                        "key": "boolean.py",
                        "package_name": "boolean.py",
                        "installed_version": "4.0",
                        "required_version": ">=4.0",
                        "dependencies": []
                    }
                ]
            },
            {
                "key": "openpyxl",
                "package_name": "openpyxl",
                "installed_version": "3.0.10",
                "required_version": "Any",
                "dependencies": [
                    {
                        "key": "et-xmlfile",
                        "package_name": "et-xmlfile",
                        "installed_version": "1.1.0",
                        "required_version": "Any",
                        "dependencies": []
                    }
                ]
            },
            {
                "key": "packageurl-python",
                "package_name": "packageurl-python",
                "installed_version": "0.9.9",
                "required_version": ">=0.9.0",
                "dependencies": []
            },
            {
                "key": "saneyaml",
                "package_name": "saneyaml",
                "installed_version": "0.5.2",
                "required_version": "Any",
                "dependencies": [
                    {
                        "key": "pyyaml",
                        "package_name": "PyYAML",
                        "installed_version": "6.0",
                        "required_version": "Any",
                        "dependencies": []
                    }
                ]
            }
        ]
    },
    {
        "key": "black",
        "package_name": "black",
        "installed_version": "22.3.0",
        "required_version": "22.3.0",
        "dependencies": [
            {
                "key": "click",
                "package_name": "click",
                "installed_version": "8.0.4",
                "required_version": ">=8.0.0",
                "dependencies": []
            },
            {
                "key": "mypy-extensions",
                "package_name": "mypy-extensions",
                "installed_version": "0.4.3",
                "required_version": ">=0.4.3",
                "dependencies": []
            },
            {
                "key": "pathspec",
                "package_name": "pathspec",
                "installed_version": "0.9.0",
                "required_version": ">=0.9.0",
                "dependencies": []
            },
            {
                "key": "platformdirs",
                "package_name": "platformdirs",
                "installed_version": "2.4.0",
                "required_version": ">=2",
                "dependencies": []
            },
            {
                "key": "tomli",
                "package_name": "tomli",
                "installed_version": "1.2.3",
                "required_version": ">=1.1.0",
                "dependencies": []
            },
            {
                "key": "typing-extensions",
                "package_name": "typing-extensions",
                "installed_version": "4.1.1",
                "required_version": ">=3.10.0.0",
                "dependencies": []
            }
        ]
    },
    {
        "key": "flask",
        "package_name": "Flask",
        "installed_version": "2.1.2",
        "required_version": "2.1.2",
        "dependencies": [
            {
                "key": "click",
                "package_name": "click",
                "installed_version": "8.0.4",
                "required_version": ">=8.0",
                "dependencies": []
            },
            {
                "key": "importlib-metadata",
                "package_name": "importlib-metadata",
                "installed_version": "4.8.3",
                "required_version": ">=3.6.0",
                "dependencies": [
                    {
                        "key": "zipp",
                        "package_name": "zipp",
                        "installed_version": "3.6.0",
                        "required_version": ">=0.5",
                        "dependencies": []
                    }
                ]
            },
            {
                "key": "itsdangerous",
                "package_name": "itsdangerous",
                "installed_version": "2.1.2",
                "required_version": ">=2.0",
                "dependencies": []
            },
            {
                "key": "jinja2",
                "package_name": "Jinja2",
                "installed_version": "3.0.3",
                "required_version": ">=3.0",
                "dependencies": [
                    {
                        "key": "markupsafe",
                        "package_name": "MarkupSafe",
                        "installed_version": "2.0.1",
                        "required_version": ">=2.0",
                        "dependencies": []
                    }
                ]
            },
            {
                "key": "werkzeug",
                "package_name": "Werkzeug",
                "installed_version": "2.1.2",
                "required_version": ">=2.0",
                "dependencies": []
            }
        ]
    },
    {
        "key": "isort",
        "package_name": "isort",
        "installed_version": "5.10.1",
        "required_version": "5.10.1",
        "dependencies": []
    },
    {
        "key": "pipdeptree",
        "package_name": "pipdeptree",
        "installed_version": "2.2.1",
        "required_version": "2.2.1",
        "dependencies": [
            {
                "key": "pip",
                "package_name": "pip",
                "installed_version": "22.1.2",
                "required_version": ">=6.0.0",
                "dependencies": []
            }
        ]
    },
    {
        "key": "pycodestyle",
        "package_name": "pycodestyle",
        "installed_version": "2.8.0",
        "required_version": "2.8.0",
        "dependencies": []
    },
    {
        "key": "pytest-xdist",
        "package_name": "pytest-xdist",
        "installed_version": "2.5.0",
        "required_version": "2.5.0",
        "dependencies": [
            {
                "key": "execnet",
                "package_name": "execnet",
                "installed_version": "1.9.0",
                "required_version": ">=1.1",
                "dependencies": []
            },
            {
                "key": "pytest",
                "package_name": "pytest",
                "installed_version": "7.0.1",
                "required_version": ">=6.2.0",
                "dependencies": [
                    {
                        "key": "attrs",
                        "package_name": "attrs",
                        "installed_version": "21.4.0",
                        "required_version": ">=19.2.0",
                        "dependencies": []
                    },
                    {
                        "key": "iniconfig",
                        "package_name": "iniconfig",
                        "installed_version": "1.1.1",
                        "required_version": "Any",
                        "dependencies": []
                    },
                    {
                        "key": "packaging",
                        "package_name": "packaging",
                        "installed_version": "21.3",
                        "required_version": "Any",
                        "dependencies": [
                            {
                                "key": "pyparsing",
                                "package_name": "pyparsing",
                                "installed_version": "3.0.9",
                                "required_version": ">=2.0.2,!=3.0.5",
                                "dependencies": []
                            }
                        ]
                    },
                    {
                        "key": "pluggy",
                        "package_name": "pluggy",
                        "installed_version": "1.0.0",
                        "required_version": ">=0.12,<2.0",
                        "dependencies": []
                    },
                    {
                        "key": "py",
                        "package_name": "py",
                        "installed_version": "1.11.0",
                        "required_version": ">=1.8.2",
                        "dependencies": []
                    },
                    {
                        "key": "tomli",
                        "package_name": "tomli",
                        "installed_version": "1.2.3",
                        "required_version": ">=1.0.0",
                        "dependencies": []
                    }
                ]
            },
            {
                "key": "pytest-forked",
                "package_name": "pytest-forked",
                "installed_version": "1.4.0",
                "required_version": "Any",
                "dependencies": [
                    {
                        "key": "py",
                        "package_name": "py",
                        "installed_version": "1.11.0",
                        "required_version": "Any",
                        "dependencies": []
                    },
                    {
                        "key": "pytest",
                        "package_name": "pytest",
                        "installed_version": "7.0.1",
                        "required_version": ">=3.10",
                        "dependencies": [
                            {
                                "key": "attrs",
                                "package_name": "attrs",
                                "installed_version": "21.4.0",
                                "required_version": ">=19.2.0",
                                "dependencies": []
                            },
                            {
                                "key": "iniconfig",
                                "package_name": "iniconfig",
                                "installed_version": "1.1.1",
                                "required_version": "Any",
                                "dependencies": []
                            },
                            {
                                "key": "packaging",
                                "package_name": "packaging",
                                "installed_version": "21.3",
                                "required_version": "Any",
                                "dependencies": [
                                    {
                                        "key": "pyparsing",
                                        "package_name": "pyparsing",
                                        "installed_version": "3.0.9",
                                        "required_version": ">=2.0.2,!=3.0.5",
                                        "dependencies": []
                                    }
                                ]
                            },
                            {
                                "key": "pluggy",
                                "package_name": "pluggy",
                                "installed_version": "1.0.0",
                                "required_version": ">=0.12,<2.0",
                                "dependencies": []
                            },
                            {
                                "key": "py",
                                "package_name": "py",
                                "installed_version": "1.11.0",
                                "required_version": ">=1.8.2",
                                "dependencies": []
                            },
                            {
                                "key": "tomli",
                                "package_name": "tomli",
                                "installed_version": "1.2.3",
                                "required_version": ">=1.0.0",
                                "dependencies": []
                            }
                        ]
                    }
                ]
            }
        ]
    },
    {
        "key": "python-inspector",
        "package_name": "python-inspector",
        "installed_version": "0.1.dev225+g1047a8a.d20220706",
        "required_version": "0.1.dev225+g1047a8a.d20220706",
        "dependencies": [
            {
                "key": "attrs",
                "package_name": "attrs",
                "installed_version": "21.4.0",
                "required_version": ">=18.1,!=20.1.0",
                "dependencies": []
            },
            {
                "key": "click",
                "package_name": "click",
                "installed_version": "8.0.4",
                "required_version": ">=6.7,!=7.0",
                "dependencies": []
            },
            {
                "key": "colorama",
                "package_name": "colorama",
                "installed_version": "0.4.4",
                "required_version": ">=0.3.9",
                "dependencies": []
            },
            {
                "key": "commoncode",
                "package_name": "commoncode",
                "installed_version": "30.2.0",
                "required_version": ">=30.0.0",
                "dependencies": [
                    {
                        "key": "attrs",
                        "package_name": "attrs",
                        "installed_version": "21.4.0",
                        "required_version": ">=18.1,!=20.1.0",
                        "dependencies": []
                    },
                    {
                        "key": "beautifulsoup4",
                        "package_name": "Beautifulsoup4",
                        "installed_version": "4.11.1",
                        "required_version": ">=4.0.0",
                        "dependencies": [
                            {
                                "key": "soupsieve",
                                "package_name": "soupsieve",
                                "installed_version": "2.3.2.post1",
                                "required_version": ">1.2",
                                "dependencies": []
                            }
                        ]
                    },
                    {
                        "key": "click",
                        "package_name": "click",
                        "installed_version": "8.0.4",
                        "required_version": ">=6.7,!=7.0",
                        "dependencies": []
                    },
                    {
                        "key": "intbitset",
                        "package_name": "intbitset",
                        "installed_version": "3.0.1",
                        "required_version": ">=2.3.0",
                        "dependencies": []
                    },
                    {
                        "key": "requests",
                        "package_name": "requests",
                        "installed_version": "2.27.1",
                        "required_version": ">=2.7.0",
                        "dependencies": [
                            {
                                "key": "certifi",
                                "package_name": "certifi",
                                "installed_version": "2022.5.18.1",
                                "required_version": ">=2017.4.17",
                                "dependencies": []
                            },
                            {
                                "key": "charset-normalizer",
                                "package_name": "charset-normalizer",
                                "installed_version": "2.0.12",
                                "required_version": "~=2.0.0",
                                "dependencies": []
                            },
                            {
                                "key": "idna",
                                "package_name": "idna",
                                "installed_version": "3.3",
                                "required_version": ">=2.5,<4",
                                "dependencies": []
                            },
                            {
                                "key": "urllib3",
                                "package_name": "urllib3",
                                "installed_version": "1.26.9",
                                "required_version": ">=1.21.1,<1.27",
                                "dependencies": []
                            }
                        ]
                    },
                    {
                        "key": "saneyaml",
                        "package_name": "saneyaml",
                        "installed_version": "0.5.2",
                        "required_version": ">=0.5.2",
                        "dependencies": [
                            {
                                "key": "pyyaml",
                                "package_name": "PyYAML",
                                "installed_version": "6.0",
                                "required_version": "Any",
                                "dependencies": []
                            }
                        ]
                    },
                    {
                        "key": "text-unidecode",
                        "package_name": "text-unidecode",
                        "installed_version": "1.3",
                        "required_version": ">=1.0",
                        "dependencies": []
                    }
                ]
            },
            {
                "key": "dparse2",
                "package_name": "dparse2",
                "installed_version": "0.6.1",
                "required_version": ">=0.6.1",
                "dependencies": [
                    {
                        "key": "packaging",
                        "package_name": "packaging",
                        "installed_version": "21.3",
                        "required_version": "Any",
                        "dependencies": [
                            {
                                "key": "pyparsing",
                                "package_name": "pyparsing",
                                "installed_version": "3.0.9",
                                "required_version": ">=2.0.2,!=3.0.5",
                                "dependencies": []
                            }
                        ]
                    },
                    {
                        "key": "pyyaml",
                        "package_name": "pyyaml",
                        "installed_version": "6.0",
                        "required_version": "Any",
                        "dependencies": []
                    },
                    {
                        "key": "toml",
                        "package_name": "toml",
                        "installed_version": "0.10.2",
                        "required_version": "Any",
                        "dependencies": []
                    }
                ]
            },
            {
                "key": "importlib-metadata",
                "package_name": "importlib-metadata",
                "installed_version": "4.8.3",
                "required_version": "Any",
                "dependencies": [
                    {
                        "key": "zipp",
                        "package_name": "zipp",
                        "installed_version": "3.6.0",
                        "required_version": ">=0.5",
                        "dependencies": []
                    }
                ]
            },
            {
                "key": "packageurl-python",
                "package_name": "packageurl-python",
                "installed_version": "0.9.9",
                "required_version": ">=0.9.0",
                "dependencies": []
            },
            {
                "key": "pip-requirements-parser",
                "package_name": "pip-requirements-parser",
                "installed_version": "31.2.0",
                "required_version": ">=31.2.0",
                "dependencies": [
                    {
                        "key": "packaging",
                        "package_name": "packaging",
                        "installed_version": "21.3",
                        "required_version": "Any",
                        "dependencies": [
                            {
                                "key": "pyparsing",
                                "package_name": "pyparsing",
                                "installed_version": "3.0.9",
                                "required_version": ">=2.0.2,!=3.0.5",
                                "dependencies": []
                            }
                        ]
                    }
                ]
            },
            {
                "key": "pkginfo2",
                "package_name": "pkginfo2",
                "installed_version": "30.0.0",
                "required_version": ">=30.0.0",
                "dependencies": []
            },
            {
                "key": "requests",
                "package_name": "requests",
                "installed_version": "2.27.1",
                "required_version": ">=2.7.0",
                "dependencies": [
                    {
                        "key": "certifi",
                        "package_name": "certifi",
                        "installed_version": "2022.5.18.1",
                        "required_version": ">=2017.4.17",
                        "dependencies": []
                    },
                    {
                        "key": "charset-normalizer",
                        "package_name": "charset-normalizer",
                        "installed_version": "2.0.12",
                        "required_version": "~=2.0.0",
                        "dependencies": []
                    },
                    {
                        "key": "idna",
                        "package_name": "idna",
                        "installed_version": "3.3",
                        "required_version": ">=2.5,<4",
                        "dependencies": []
                    },
                    {
                        "key": "urllib3",
                        "package_name": "urllib3",
                        "installed_version": "1.26.9",
                        "required_version": ">=1.21.1,<1.27",
                        "dependencies": []
                    }
                ]
            },
            {
                "key": "resolvelib",
                "package_name": "resolvelib",
                "installed_version": "0.8.1",
                "required_version": "Any",
                "dependencies": []
            },
            {
                "key": "saneyaml",
                "package_name": "saneyaml",
                "installed_version": "0.5.2",
                "required_version": ">=0.5.2",
                "dependencies": [
                    {
                        "key": "pyyaml",
                        "package_name": "PyYAML",
                        "installed_version": "6.0",
                        "required_version": "Any",
                        "dependencies": []
                    }
                ]
            },
            {
                "key": "tinynetrc",
                "package_name": "tinynetrc",
                "installed_version": "1.3.1",
                "required_version": "Any",
                "dependencies": []
            },
            {
                "key": "toml",
                "package_name": "toml",
                "installed_version": "0.10.2",
                "required_version": ">=0.10.0",
                "dependencies": []
            }
        ]
    },
    {
        "key": "setuptools",
        "package_name": "setuptools",
        "installed_version": "62.3.4",
        "required_version": "62.3.4",
        "dependencies": []
    },
    {
        "key": "twine",
        "package_name": "twine",
        "installed_version": "3.8.0",
        "required_version": "3.8.0",
        "dependencies": [
            {
                "key": "colorama",
                "package_name": "colorama",
                "installed_version": "0.4.4",
                "required_version": ">=0.4.3",
                "dependencies": []
            },
            {
                "key": "importlib-metadata",
                "package_name": "importlib-metadata",
                "installed_version": "4.8.3",
                "required_version": ">=3.6",
                "dependencies": [
                    {
                        "key": "zipp",
                        "package_name": "zipp",
                        "installed_version": "3.6.0",
                        "required_version": ">=0.5",
                        "dependencies": []
                    }
                ]
            },
            {
                "key": "keyring",
                "package_name": "keyring",
                "installed_version": "23.4.1",
                "required_version": ">=15.1",
                "dependencies": [
                    {
                        "key": "importlib-metadata",
                        "package_name": "importlib-metadata",
                        "installed_version": "4.8.3",
                        "required_version": ">=3.6",
                        "dependencies": [
                            {
                                "key": "zipp",
                                "package_name": "zipp",
                                "installed_version": "3.6.0",
                                "required_version": ">=0.5",
                                "dependencies": []
                            }
                        ]
                    },
                    {
                        "key": "jeepney",
                        "package_name": "jeepney",
                        "installed_version": "0.7.1",
                        "required_version": ">=0.4.2",
                        "dependencies": []
                    },
                    {
                        "key": "secretstorage",
                        "package_name": "SecretStorage",
                        "installed_version": "3.3.2",
                        "required_version": ">=3.2",
                        "dependencies": [
                            {
                                "key": "cryptography",
                                "package_name": "cryptography",
                                "installed_version": "37.0.2",
                                "required_version": ">=2.0",
                                "dependencies": [
                                    {
                                        "key": "cffi",
                                        "package_name": "cffi",
                                        "installed_version": "1.15.0",
                                        "required_version": ">=1.12",
                                        "dependencies": [
                                            {
                                                "key": "pycparser",
                                                "package_name": "pycparser",
                                                "installed_version": "2.21",
                                                "required_version": "Any",
                                                "dependencies": []
                                            }
                                        ]
                                    }
                                ]
                            },
                            {
                                "key": "jeepney",
                                "package_name": "jeepney",
                                "installed_version": "0.7.1",
                                "required_version": ">=0.6",
                                "dependencies": []
                            }
                        ]
                    }
                ]
            },
            {
                "key": "pkginfo",
                "package_name": "pkginfo",
                "installed_version": "1.8.3",
                "required_version": ">=1.8.1",
                "dependencies": []
            },
            {
                "key": "readme-renderer",
                "package_name": "readme-renderer",
                "installed_version": "34.0",
                "required_version": ">=21.0",
                "dependencies": [
                    {
                        "key": "bleach",
                        "package_name": "bleach",
                        "installed_version": "4.1.0",
                        "required_version": ">=2.1.0",
                        "dependencies": [
                            {
                                "key": "packaging",
                                "package_name": "packaging",
                                "installed_version": "21.3",
                                "required_version": "Any",
                                "dependencies": [
                                    {
                                        "key": "pyparsing",
                                        "package_name": "pyparsing",
                                        "installed_version": "3.0.9",
                                        "required_version": ">=2.0.2,!=3.0.5",
                                        "dependencies": []
                                    }
                                ]
                            },
                            {
                                "key": "six",
                                "package_name": "six",
                                "installed_version": "1.16.0",
                                "required_version": ">=1.9.0",
                                "dependencies": []
                            },
                            {
                                "key": "webencodings",
                                "package_name": "webencodings",
                                "installed_version": "0.5.1",
                                "required_version": "Any",
                                "dependencies": []
                            }
                        ]
                    },
                    {
                        "key": "docutils",
                        "package_name": "docutils",
                        "installed_version": "0.18.1",
                        "required_version": ">=0.13.1",
                        "dependencies": []
                    },
                    {
                        "key": "pygments",
                        "package_name": "Pygments",
                        "installed_version": "2.12.0",
                        "required_version": ">=2.5.1",
                        "dependencies": []
                    }
                ]
            },
            {
                "key": "requests",
                "package_name": "requests",
                "installed_version": "2.27.1",
                "required_version": ">=2.20",
                "dependencies": [
                    {
                        "key": "certifi",
                        "package_name": "certifi",
                        "installed_version": "2022.5.18.1",
                        "required_version": ">=2017.4.17",
                        "dependencies": []
                    },
                    {
                        "key": "charset-normalizer",
                        "package_name": "charset-normalizer",
                        "installed_version": "2.0.12",
                        "required_version": "~=2.0.0",
                        "dependencies": []
                    },
                    {
                        "key": "idna",
                        "package_name": "idna",
                        "installed_version": "3.3",
                        "required_version": ">=2.5,<4",
                        "dependencies": []
                    },
                    {
                        "key": "urllib3",
                        "package_name": "urllib3",
                        "installed_version": "1.26.9",
                        "required_version": ">=1.21.1,<1.27",
                        "dependencies": []
                    }
                ]
            },
            {
                "key": "requests-toolbelt",
                "package_name": "requests-toolbelt",
                "installed_version": "0.9.1",
                "required_version": ">=0.8.0,!=0.9.0",
                "dependencies": [
                    {
                        "key": "requests",
                        "package_name": "requests",
                        "installed_version": "2.27.1",
                        "required_version": ">=2.0.1,<3.0.0",
                        "dependencies": [
                            {
                                "key": "certifi",
                                "package_name": "certifi",
                                "installed_version": "2022.5.18.1",
                                "required_version": ">=2017.4.17",
                                "dependencies": []
                            },
                            {
                                "key": "charset-normalizer",
                                "package_name": "charset-normalizer",
                                "installed_version": "2.0.12",
                                "required_version": "~=2.0.0",
                                "dependencies": []
                            },
                            {
                                "key": "idna",
                                "package_name": "idna",
                                "installed_version": "3.3",
                                "required_version": ">=2.5,<4",
                                "dependencies": []
                            },
                            {
                                "key": "urllib3",
                                "package_name": "urllib3",
                                "installed_version": "1.26.9",
                                "required_version": ">=1.21.1,<1.27",
                                "dependencies": []
                            }
                        ]
                    }
                ]
            },
            {
                "key": "rfc3986",
                "package_name": "rfc3986",
                "installed_version": "1.5.0",
                "required_version": ">=1.4.0",
                "dependencies": []
            },
            {
                "key": "tqdm",
                "package_name": "tqdm",
                "installed_version": "4.64.0",
                "required_version": ">=4.14",
                "dependencies": []
            },
            {
                "key": "urllib3",
                "package_name": "urllib3",
                "installed_version": "1.26.9",
                "required_version": ">=1.26.0",
                "dependencies": []
            }
        ]
    },
    {
        "key": "wheel",
        "package_name": "wheel",
        "installed_version": "0.37.1",
        "required_version": "0.37.1",
        "dependencies": []
    }
]

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions