# This is a list of python packages needed for ESP-IDF. This file is used with pip. # Please see the Get Started section of the ESP-IDF Programming Guide for further information. # setuptools>=21 # The setuptools package is required to install source distributions and on some systems is not installed by default. # Please keep it as the first item of this list. Version 21 is required to handle PEP 508 environment markers. # # importlib_metadata: is part of python3.8 and newer as importlib.metadata importlib_metadata; python_version < "3.8" packaging click>=7.0 pyserial>=3.3 future>=0.15.2 cryptography>=2.1.4 --only-binary cryptography # Only binary for cryptography is here to make it work on ARMv7 architecture # We do have cryptography binary on https://dl.espressif.com/pypi for ARM # On https://pypi.org/ are no ARM binaries as standard now pyparsing>=2.0.3,<2.4.0 pyelftools>=0.22 idf-component-manager~=1.2 urllib3<2 gdbgui==0.13.2.0; python_version < "3.11" # 0.13.2.1 supports Python 3.6+ only # Windows is not supported since 0.14.0.0. See https://github.com/cs01/gdbgui/issues/348 pygdbmi<=0.9.0.2; python_version < "3.11" # The pygdbmi required max version 0.9.0.2 since 0.9.0.3 is not compatible with latest gdbgui (>=0.13.2.0) # A compatible Socket.IO should be used. See https://github.com/miguelgrinberg/python-socketio/issues/578 python-socketio<5; python_version < "3.11" jinja2<3.1; python_version < "3.11" # See https://github.com/espressif/esp-idf/issues/8760 itsdangerous<2.1; python_version < "3.11" # gdbgui is not supported on Python 3.11. See https://github.com/cs01/gdbgui/issues/447 pygdbmi<=0.9.0.2; python_version > "3.10" kconfiglib==13.7.1 # esptool requirements (see components/esptool_py/esptool/setup.py) reedsolo>=1.5.3,<=1.5.4 # bitstring 4 dropped support for Python 3.6 and older bitstring>=3.1.6,<4 ecdsa>=0.16.0 # espcoredump requirements # This is the last version supports both 2.7 and 3.4 construct==2.10.54 # windows-curses are required in Windows command line but cannot be installed in MSYS2. A requirement like # "windows-curses; sys_platform == 'win32'" would want to install the package on both of them. There is no environment # marker for detecting MSYS2. So instead, a dummy custom package is used with "windows-curses" dependency for Windows # command line. file://${IDF_PATH}/tools/kconfig_new/esp-windows-curses; sys_platform == 'win32'