# BASE: required to build or create images with zephyr
#
# While technically west isn't required it's considered in base since it's
# part of the recommended workflow

# used by various build scripts
pyelftools>=0.26

# used by dts generation to parse binding YAMLs, also used by
# twister to parse YAMLs, by west, zephyr_module,...
PyYAML>=5.1

# YAML validation. Used by zephyr_module.
pykwalify

# used by west_commands
canopen
packaging
progress
psutil

# for ram/rom reports
anytree

# intelhex used by mergehex.py
intelhex

# it's west
west>=0.7.2

# used for windows based 'menuconfig'
# "win32" is used for 64-bit Windows as well
windows-curses; sys_platform == "win32"
