Hm I think @ivankravets can answer that. The PlatformIO core is a Python module with the requirements
install_requires = [
"bottle<0.13",
"click>=5,<8%s" % (",!=7.1,!=7.1.1" if WINDOWS else ""),
"colorama",
"pyserial>=3,<4,!=3.3",
"requests>=2.4.0,<3",
"semantic_version>=2.8.1,<3",
"tabulate>=0.8.3,<1",
"pyelftools>=0.25,<1",
"marshmallow%s" % (">=2,<3" if PY2 else ">=2"),
]
pipdeptree
shows
platformio==5.0.4b1
- bottle [required: <0.13, installed: 0.12.19]
- click [required: >=5,<8,!=7.1.1,!=7.1, installed: 7.1.2]
- colorama [required: Any, installed: 0.4.4]
- marshmallow [required: >=2, installed: 3.9.1]
- pyelftools [required: >=0.25,<1, installed: 0.27]
- pyserial [required: >=3,<4,!=3.3, installed: 3.4]
- requests [required: >=2.4.0,<3, installed: 2.25.0]
- certifi [required: >=2017.4.17, installed: 2020.11.8]
- chardet [required: >=3.0.2,<4, installed: 3.0.4]
- idna [required: >=2.5,<3, installed: 2.10]
- urllib3 [required: >=1.21.1,<1.27, installed: 1.26.2]
- semantic-version [required: >=2.8.1,<3, installed: 2.8.5]
- tabulate [required: >=0.8.3,<1, installed: 0.8.7]
Though the penv that PlatformIO uses inside has more dependencies
C:\Users\Max\.platformio\penv\Scripts>activate
(penv) C:\Users\Max\.platformio\penv\Scripts>pipdeptree
cryptography==3.2.1
- cffi [required: >=1.8,!=1.11.3, installed: 1.14.4]
- pycparser [required: Any, installed: 2.20]
- six [required: >=1.4.1, installed: 1.15.0]
esp-windows-curses==0.1
- windows-curses [required: Any, installed: 2.2.0]
future==0.18.2
pipdeptree==1.0.0
- pip [required: >=6.0.0, installed: 20.2.4]
platformio==5.0.4b1
- bottle [required: <0.13, installed: 0.12.19]
- click [required: >=5,<8,!=7.1.1,!=7.1, installed: 7.1.2]
- colorama [required: Any, installed: 0.4.4]
- marshmallow [required: >=2, installed: 3.9.1]
- pyelftools [required: >=0.25,<1, installed: 0.27]
- pyserial [required: >=3,<4,!=3.3, installed: 3.4]
- requests [required: >=2.4.0,<3, installed: 2.25.0]
- certifi [required: >=2017.4.17, installed: 2020.11.8]
- chardet [required: >=3.0.2,<4, installed: 3.0.4]
- idna [required: >=2.5,<3, installed: 2.10]
- urllib3 [required: >=1.21.1,<1.27, installed: 1.26.2]
- semantic-version [required: >=2.8.1,<3, installed: 2.8.5]
- tabulate [required: >=0.8.3,<1, installed: 0.8.7]
pykwalify==1.7.0
- docopt [required: >=0.6.2, installed: 0.6.2]
- python-dateutil [required: >=2.4.2, installed: 2.8.1]
- six [required: >=1.5, installed: 1.15.0]
- PyYAML [required: >=3.11, installed: 5.3.1]
pylint==2.6.0
- astroid [required: >=2.4.0,<=2.5, installed: 2.4.2]
- lazy-object-proxy [required: ==1.4.*, installed: 1.4.3]
- six [required: ~=1.12, installed: 1.15.0]
- wrapt [required: ~=1.11, installed: 1.12.1]
- colorama [required: Any, installed: 0.4.4]
- isort [required: >=4.2.5,<6, installed: 5.6.4]
- mccabe [required: >=0.6,<0.7, installed: 0.6.1]
- toml [required: >=0.7.1, installed: 0.10.2]
pyparsing==2.3.1
pyusb==1.1.0
setuptools==49.2.1
And then the contrib-pysite
package has even more packages
(penv) C:\Users\Max\.platformio\packages\contrib-pysite>ls
__pycache__ pyasn1
_cffi_backend.cp38-win_amd64.pyd pyasn1-0.4.7.dist-info
adodbapi pyasn1_modules
attr pyasn1_modules-0.2.7.dist-info
attrs-19.3.0.dist-info pycparser
autobahn pycparser-2.19-py3.8.egg-info
autobahn-19.10.1.dist-info PyHamcrest-1.9.0.dist-info
automat pyOpenSSL-19.0.0.dist-info
Automat-0.7.0.dist-info pypiwin32-223.dist-info
bin pythoncom.py
cffi pythonwin
cffi-1.13.0.dist-info pywin32-225.dist-info
constantly pywin32.pth
constantly-15.1.0.dist-info pywin32.version.txt
cryptography pywin32_system32
cryptography-2.8.dist-info service_identity
easy_install.py service_identity-18.1.0.dist-info
exampleproj setuptools
hamcrest setuptools-41.4.0.dist-info
hyperlink six-1.12.0.dist-info
hyperlink-19.0.0.dist-info six.py
idna twisted
idna-2.8.dist-info Twisted-19.7.0.dist-info
ifaddr txaio
ifaddr-0.1.6-py3.8.egg-info txaio-18.8.1.dist-info
incremental win32
incremental-17.5.0.dist-info win32com
isapi win32comext
json_rpc-1.12.1.dist-info zeroconf-0.23.0.dist-info
jsonrpc zeroconf.py
OpenSSL zope
package.json zope.interface-4.6.0-py3.8-nspkg.pth
pkg_resources zope.interface-4.6.0-py3.8.egg-info