After installing a Python package,
you can use the command pip3 show pkg
to check detailed information about it.
What if you want to get information about a Python package without installing?
The RESTAPI https://pypi.org/pypi/pkg/json returns detailed information of the Python package pkg
.
Note: The recursive version of dependencies implemented bellow does not take into consideration of versions, so it might not return the correct dependencies of a Python packages.
In [1]:
!pip3 install aiutil
Defaulting to user installation because normal site-packages is not writeable Collecting aiutil Downloading aiutil-0.74.0-py3-none-any.whl (44 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 44.9/44.9 KB 581.8 kB/s eta 0:00:00 0:00:01 Requirement already satisfied: numba>=0.53.0rc1 in /usr/local/lib/python3.8/dist-packages (from aiutil) (0.55.1) Requirement already satisfied: loguru>=0.3.2 in /usr/local/lib/python3.8/dist-packages (from aiutil) (0.6.0) Requirement already satisfied: dulwich>=0.20.24 in /usr/local/lib/python3.8/dist-packages (from aiutil) (0.20.35) Requirement already satisfied: sqlparse>=0.4.1 in /usr/local/lib/python3.8/dist-packages (from aiutil) (0.4.2) Requirement already satisfied: pandas-profiling>=2.9.0 in /usr/local/lib/python3.8/dist-packages (from aiutil) (3.2.0) Requirement already satisfied: dateparser>=0.7.1 in /usr/local/lib/python3.8/dist-packages (from aiutil) (1.1.1) Requirement already satisfied: pandas>=1.2.0 in /usr/local/lib/python3.8/dist-packages (from aiutil) (1.4.2) Requirement already satisfied: pathspec<0.9.0,>=0.8.1 in /usr/local/lib/python3.8/dist-packages (from aiutil) (0.8.1) Requirement already satisfied: notifiers>=1.2.1 in /usr/local/lib/python3.8/dist-packages (from aiutil) (1.3.3) Requirement already satisfied: python-magic>=0.4.0 in /usr/local/lib/python3.8/dist-packages (from aiutil) (0.4.25) Requirement already satisfied: toml>=0.10.0 in /usr/local/lib/python3.8/dist-packages (from aiutil) (0.10.2) Requirement already satisfied: PyYAML>=5.3.1 in /usr/local/lib/python3.8/dist-packages (from aiutil) (6.0) Requirement already satisfied: pytest>=3.0 in /usr/local/lib/python3.8/dist-packages (from aiutil) (7.1.2) Requirement already satisfied: scikit-image>=0.18.3 in /usr/local/lib/python3.8/dist-packages (from aiutil) (0.19.2) Requirement already satisfied: tqdm>=4.59.0 in /usr/local/lib/python3.8/dist-packages (from aiutil) (4.64.0) Requirement already satisfied: GitPython>=3.0.0 in /usr/local/lib/python3.8/dist-packages (from aiutil) (3.1.27) Requirement already satisfied: regex!=2019.02.19,!=2021.8.27,<2022.3.15 in /usr/local/lib/python3.8/dist-packages (from dateparser>=0.7.1->aiutil) (2022.3.2) Requirement already satisfied: python-dateutil in /usr/local/lib/python3.8/dist-packages (from dateparser>=0.7.1->aiutil) (2.8.2) Requirement already satisfied: pytz in /usr/local/lib/python3.8/dist-packages (from dateparser>=0.7.1->aiutil) (2022.1) Requirement already satisfied: tzlocal in /usr/local/lib/python3.8/dist-packages (from dateparser>=0.7.1->aiutil) (4.2) Requirement already satisfied: certifi in /usr/lib/python3/dist-packages (from dulwich>=0.20.24->aiutil) (2019.11.28) Requirement already satisfied: urllib3>=1.24.1 in /usr/lib/python3/dist-packages (from dulwich>=0.20.24->aiutil) (1.25.8) Requirement already satisfied: gitdb<5,>=4.0.1 in /usr/local/lib/python3.8/dist-packages (from GitPython>=3.0.0->aiutil) (4.0.9) Requirement already satisfied: jsonschema<5.0.0,>=4.4.0 in /usr/local/lib/python3.8/dist-packages (from notifiers>=1.2.1->aiutil) (4.5.1) Requirement already satisfied: requests<3.0.0,>=2.27.1 in /usr/local/lib/python3.8/dist-packages (from notifiers>=1.2.1->aiutil) (2.27.1) Collecting click<9.0.0,>=8.0.3 Downloading click-8.1.3-py3-none-any.whl (96 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 96.6/96.6 KB 1.2 MB/s eta 0:00:00a 0:00:01 Requirement already satisfied: llvmlite<0.39,>=0.38.0rc1 in /usr/local/lib/python3.8/dist-packages (from numba>=0.53.0rc1->aiutil) (0.38.0) Requirement already satisfied: numpy<1.22,>=1.18 in /usr/local/lib/python3.8/dist-packages (from numba>=0.53.0rc1->aiutil) (1.21.6) Requirement already satisfied: setuptools in /usr/lib/python3/dist-packages (from numba>=0.53.0rc1->aiutil) (45.2.0) Requirement already satisfied: matplotlib>=3.2.0 in /usr/local/lib/python3.8/dist-packages (from pandas-profiling>=2.9.0->aiutil) (3.5.2) Requirement already satisfied: seaborn>=0.10.1 in /usr/local/lib/python3.8/dist-packages (from pandas-profiling>=2.9.0->aiutil) (0.11.2) Requirement already satisfied: pydantic>=1.8.1 in /home/dclong/.local/lib/python3.8/site-packages (from pandas-profiling>=2.9.0->aiutil) (1.8.1) Requirement already satisfied: missingno>=0.4.2 in /usr/local/lib/python3.8/dist-packages (from pandas-profiling>=2.9.0->aiutil) (0.5.1) Requirement already satisfied: joblib~=1.1.0 in /usr/local/lib/python3.8/dist-packages (from pandas-profiling>=2.9.0->aiutil) (1.1.0) Requirement already satisfied: jinja2>=2.11.1 in /usr/local/lib/python3.8/dist-packages (from pandas-profiling>=2.9.0->aiutil) (3.0.3) Requirement already satisfied: markupsafe~=2.1.1 in /usr/local/lib/python3.8/dist-packages (from pandas-profiling>=2.9.0->aiutil) (2.1.1) Requirement already satisfied: tangled-up-in-unicode==0.2.0 in /usr/local/lib/python3.8/dist-packages (from pandas-profiling>=2.9.0->aiutil) (0.2.0) Requirement already satisfied: scipy>=1.4.1 in /usr/local/lib/python3.8/dist-packages (from pandas-profiling>=2.9.0->aiutil) (1.8.0) Requirement already satisfied: multimethod>=1.4 in /usr/local/lib/python3.8/dist-packages (from pandas-profiling>=2.9.0->aiutil) (1.8) Requirement already satisfied: htmlmin>=0.1.12 in /usr/local/lib/python3.8/dist-packages (from pandas-profiling>=2.9.0->aiutil) (0.1.12) Requirement already satisfied: visions[type_image_path]==0.7.4 in /usr/local/lib/python3.8/dist-packages (from pandas-profiling>=2.9.0->aiutil) (0.7.4) Requirement already satisfied: phik>=0.11.1 in /usr/local/lib/python3.8/dist-packages (from pandas-profiling>=2.9.0->aiutil) (0.12.2) Requirement already satisfied: attrs>=19.3.0 in /usr/local/lib/python3.8/dist-packages (from visions[type_image_path]==0.7.4->pandas-profiling>=2.9.0->aiutil) (21.4.0) Requirement already satisfied: networkx>=2.4 in /usr/local/lib/python3.8/dist-packages (from visions[type_image_path]==0.7.4->pandas-profiling>=2.9.0->aiutil) (2.8) Requirement already satisfied: imagehash in /usr/local/lib/python3.8/dist-packages (from visions[type_image_path]==0.7.4->pandas-profiling>=2.9.0->aiutil) (4.2.1) Requirement already satisfied: Pillow in /usr/local/lib/python3.8/dist-packages (from visions[type_image_path]==0.7.4->pandas-profiling>=2.9.0->aiutil) (9.1.0) Requirement already satisfied: tomli>=1.0.0 in /usr/local/lib/python3.8/dist-packages (from pytest>=3.0->aiutil) (2.0.1) Requirement already satisfied: iniconfig in /usr/local/lib/python3.8/dist-packages (from pytest>=3.0->aiutil) (1.1.1) Requirement already satisfied: py>=1.8.2 in /usr/local/lib/python3.8/dist-packages (from pytest>=3.0->aiutil) (1.11.0) Requirement already satisfied: packaging in /usr/local/lib/python3.8/dist-packages (from pytest>=3.0->aiutil) (21.3) Requirement already satisfied: pluggy<2.0,>=0.12 in /usr/local/lib/python3.8/dist-packages (from pytest>=3.0->aiutil) (1.0.0) Requirement already satisfied: tifffile>=2019.7.26 in /usr/local/lib/python3.8/dist-packages (from scikit-image>=0.18.3->aiutil) (2022.5.4) Requirement already satisfied: imageio>=2.4.1 in /usr/local/lib/python3.8/dist-packages (from scikit-image>=0.18.3->aiutil) (2.19.0) Requirement already satisfied: PyWavelets>=1.1.1 in /usr/local/lib/python3.8/dist-packages (from scikit-image>=0.18.3->aiutil) (1.3.0) Requirement already satisfied: smmap<6,>=3.0.1 in /usr/local/lib/python3.8/dist-packages (from gitdb<5,>=4.0.1->GitPython>=3.0.0->aiutil) (5.0.0) Requirement already satisfied: pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0 in /usr/local/lib/python3.8/dist-packages (from jsonschema<5.0.0,>=4.4.0->notifiers>=1.2.1->aiutil) (0.18.1) Requirement already satisfied: importlib-resources>=1.4.0 in /usr/local/lib/python3.8/dist-packages (from jsonschema<5.0.0,>=4.4.0->notifiers>=1.2.1->aiutil) (5.7.1) Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.8/dist-packages (from matplotlib>=3.2.0->pandas-profiling>=2.9.0->aiutil) (1.4.2) Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.8/dist-packages (from matplotlib>=3.2.0->pandas-profiling>=2.9.0->aiutil) (4.33.3) Requirement already satisfied: pyparsing>=2.2.1 in /usr/local/lib/python3.8/dist-packages (from matplotlib>=3.2.0->pandas-profiling>=2.9.0->aiutil) (3.0.8) Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.8/dist-packages (from matplotlib>=3.2.0->pandas-profiling>=2.9.0->aiutil) (0.11.0) Requirement already satisfied: typing-extensions>=3.7.4.3 in /home/dclong/.local/lib/python3.8/site-packages (from pydantic>=1.8.1->pandas-profiling>=2.9.0->aiutil) (3.10.0.2) Requirement already satisfied: six>=1.5 in /usr/lib/python3/dist-packages (from python-dateutil->dateparser>=0.7.1->aiutil) (1.14.0) Requirement already satisfied: idna<4,>=2.5 in /usr/lib/python3/dist-packages (from requests<3.0.0,>=2.27.1->notifiers>=1.2.1->aiutil) (2.8) Requirement already satisfied: charset-normalizer~=2.0.0 in /usr/local/lib/python3.8/dist-packages (from requests<3.0.0,>=2.27.1->notifiers>=1.2.1->aiutil) (2.0.12) Requirement already satisfied: backports.zoneinfo in /usr/local/lib/python3.8/dist-packages (from tzlocal->dateparser>=0.7.1->aiutil) (0.2.1) Requirement already satisfied: pytz-deprecation-shim in /usr/local/lib/python3.8/dist-packages (from tzlocal->dateparser>=0.7.1->aiutil) (0.1.0.post0) Requirement already satisfied: zipp>=3.1.0 in /usr/local/lib/python3.8/dist-packages (from importlib-resources>=1.4.0->jsonschema<5.0.0,>=4.4.0->notifiers>=1.2.1->aiutil) (3.8.0) Requirement already satisfied: tzdata in /usr/local/lib/python3.8/dist-packages (from pytz-deprecation-shim->tzlocal->dateparser>=0.7.1->aiutil) (2022.1) Installing collected packages: click, aiutil Attempting uninstall: click Found existing installation: click 7.1.2 Uninstalling click-7.1.2: Successfully uninstalled click-7.1.2 ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. jut 0.0.24 requires click==7.1.2, but you have click 8.1.3 which is incompatible. jut 0.0.24 requires nbformat==5.1.2, but you have nbformat 5.4.0 which is incompatible. Successfully installed aiutil-0.74.0 click-8.1.3 WARNING: You are using pip version 22.0.4; however, version 22.1 is available. You should consider upgrading via the '/usr/bin/python3 -m pip install --upgrade pip' command.
In [2]:
from aiutil.pypi import dep
In [3]:
dep("pandas")
Out[3]:
{'numpy (>=1.18.5) ; platform_machine != "aarch64" and platform_machine != "arm64" and python_version < "3.10"', 'numpy (>=1.19.2) ; platform_machine == "aarch64" and python_version < "3.10"', 'numpy (>=1.20.0) ; platform_machine == "arm64" and python_version < "3.10"', 'numpy (>=1.21.0) ; python_version >= "3.10"', 'python-dateutil (>=2.8.1)', 'pytz (>=2020.1)'}
In [4]:
dep("nbconvert", recursive=True)
Out[4]:
{'MarkupSafe', 'attrs', 'backports-functools-lru-cache', 'beautifulsoup4', 'bleach', 'defusedxml', 'entrypoints', 'fastjsonschema', 'importlib-metadata', 'importlib-resources', 'jinja2', 'jsonschema', 'jupyter-client', 'jupyter-core', 'jupyterlab-pygments', 'mistune', 'nbclient', 'nbformat', 'nest-asyncio', 'packaging', 'pandocfilters', 'pygments', 'pyparsing', 'pyrsistent', 'python-dateutil', 'pywin32', 'pyzmq', 'six', 'soupsieve', 'tinycss2', 'tornado', 'traitlets', 'typing-extensions', 'webencodings', 'zipp'}
In [5]:
dep("dockeree")
Out[5]:
{'PyYAML (>=6.0)', 'docker (>=4.4.0)', 'loguru (>=0.6.0)', 'networkx (>=2.5)', 'pandas (>=1.2.0)', 'pygit2 (>=1.9.1)', 'pytest (>=3.0)', 'requests (>=2.20.0)'}
In [6]:
dep("dockeree", recursive=True)
Out[6]:
{'PyYAML', 'aiocontextvars', 'atomicwrites', 'attrs', 'cached-property', 'certifi', 'cffi', 'chardet', 'charset-normalizer', 'colorama', 'contextvars', 'docker', 'idna', 'importlib-metadata', 'iniconfig', 'loguru', 'networkx', 'numpy', 'packaging', 'pandas', 'pluggy', 'py', 'pycparser', 'pygit2', 'pyparsing', 'pytest', 'python-dateutil', 'pytz', 'pywin32', 'requests', 'six', 'tomli', 'typing-extensions', 'urllib3', 'websocket-client', 'win32-setctime', 'zipp'}